Estoy usando la anotación Java lombok @Getter para generar getters para mi POJO. Tengo un campo boolean con el nombre isAbc .
La anotación @Getter en este caso genera un método con el nombre isAbc() . ¿No debería generar un método con el nombre isIsAbc() ?
Lea la sección de 'letra pequeña' en la página de lombok https://projectlombok.org/features/GetterSetter.html
Para los campos booleanos que comienzan con es seguido inmediatamente por una letra de título, no se antepone nada para generar el nombre del captador.
Entonces, el comportamiento que experimenta es el especificado.
Tenga en cuenta que el comportamiento es diferente para boolean y Boolean :
@Getter private boolean isGood; // => isGood() @Getter private boolean good; // => isGood() @Getter private Boolean isGood; // => getIsGood()Lombok no tiene el prefijo is si el nombre ya comienza con una letra isGood is
Es posible que encuentre nombres como canDelete que generarán un getter con el nombre isCanDelete . Para evitar esto, puede usar el parámetro fluent :
@Getter(fluent = true) private boolean canDelete;o (dependiendo de la versión):
@Getter @Accessors(fluent = true) private boolean canDelete; En cuyo caso, dejará el nombre tal como está para que el getter se convierta en canDelete() .
Hago algunas pruebas contra el lombok (1.16.8), y las conclusiones son las siguientes.
private Boolean good; getter => getGood() Boolean setter => setGood(Boolean good) void private boolean good; getter => isGood() boolean setter => setGood(boolean good) void private Boolean isGood; getter => getIsGood() Boolean setter => setIsGood() void private boolean isGood; getter => isGood() boolean setter => setGood(boolean good) void