Quiero usar una clase de datos en Lombok. Como tiene alrededor de una docena de campos, lo anoté con @Data para generar todos los setters y getter. Sin embargo, hay un campo especial para el que no quiero que se implementen los accesores.
¿Cómo omite Lombok este campo?
Puede pasar un nivel de acceso a la @Getter y @Setter anotaciones Esto es útil para hacer que los getters o setters sean protegidos o privados. También se puede utilizar para anular el valor predeterminado.
Con @Data, tiene acceso público a los accesores de forma predeterminada. Ya puedes usar el nivel de acceso especial NONE para omitir completamente el descriptor de acceso, así:
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;
Perfecto. Si el campo privado es un POJO y también está anotado con @Delegate(), podría usarse para extraer un conjunto de propiedades en una clase reutilizable separada. Esto puede ser útil para aplicar el mismo conjunto de propiedades a varias clases (una especie de combinación para agregar propiedades). Por ejemplo, un mixin que representa un conjunto de atributos que pueden aplicarse al modelado de varios elementos XML.
– xorcus
30 de enero de 2018 a las 13:08
¿Tiene algo similar a omitir un campo en el generador?
– zt1983811
4 mayo 2018 a las 13:40
¿Quiere decir que el atributo no debería aparecer en el generador? No, no hay nada directamente para esto. Recuerda sin embargo que @Builder se puede colocar en funciones y constructores, así como en clases, y solo ofrece la configuración de aquellos atributos que aparecen en la firma de esa función.
– Michael Piefel
6 mayo 2018 a las 18:19
No implementa ningún setter y getter para esta propiedad donde @Data incluye setters y getters de forma predeterminada. que se excluiría al mencionar AccessLevel.NONE.
Todos los getters y setters generados serán públicos. Para anular el nivel de acceso, anote el campo o la clase con una anotación explícita @Setter y/o @Getter. También puede usar esta anotación (combinándola con AccessLevel.NONE) para suprimir la generación de un getter y/o setter por completo.
Sathiamoorthy
Use el siguiente código para omitir/excluye desde la creación de setter y getter. valor la llave debe usarse dentro @Getter y @Setter.
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Configurar y más información