Omitir un Setter/Getter en Lombok

Resuelto DerMike asked hace 13 años • 2 respuestas

Quiero usar una clase de datos en Lombok. Como tiene alrededor de una docena de campos, lo anoté @Datapara 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?

DerMike avatar Nov 03 '11 18:11 DerMike
Aceptado

Puede pasar un nivel de acceso a las anotaciones @Gettery @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 NONEpara omitir completamente el descriptor de acceso, así:

@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;
Michael Piefel avatar Nov 03 '2011 11:11 Michael Piefel

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.

Mark Rotteveel avatar Nov 03 '2011 11:11 Mark Rotteveel