Omitir un Setter/Getter en Lombok
Quiero usar una clase de datos en Lombok. Como tiene alrededor de una docena de campos, lo anoté @Data
para generar todos los definidores y captadores. Sin embargo, hay un campo especial para el cual no quiero que se implementen los descriptores de acceso.
¿Cómo omite Lombok este campo?
Puede pasar un nivel de acceso a las anotaciones @Getter
y @Setter
. Esto es útil para hacer que los captadores o definidores estén protegidos o sean privados. También se puede utilizar para anular el valor predeterminado.
Con @Data
, tienes acceso público a los descriptores de acceso de forma predeterminada. Ahora 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;
Según la descripción de @Data puedes usar:
Todos los captadores y definidores generados serán públicos. Para anular el nivel de acceso, anote el campo o clase con una anotación @Setter y/o @Getter explícita. También puede utilizar esta anotación (combinándola con AccessLevel.NONE) para suprimir por completo la generación de un captador y/o definidor.