io.github.devbpm.linneo.annotation.Exempt —
@Documented @Retention(RUNTIME) @Target({FIELD, RECORD_COMPONENT}), @since 0.1.0
Excluye de la clasificación un campo que no contiene datos del modelo: un valor calculado a partir de otros campos, una caché o un manejador técnico.
Los campos estáticos, sintéticos, transient y $$_... (los añade Hibernate) se excluyen siempre y no necesitan anotación. Un @Exempt en uno
de esos campos se ignora por completo (ni siquiera se comprueba su motivo).
| Elemento | Tipo | Por defecto | Significado |
|---|---|---|---|
value |
String |
obligatorio | Por qué el campo no contiene datos, para quienes revisan la clasificación. No puede estar en blanco. |
| Regla | Violación | Gravedad |
|---|---|---|
value no puede estar en blanco |
MISSING_REASON (@Exempt needs a reason) |
error |
No combinarla con @Category ni con @CategoryByRow |
CONFLICTING_ANNOTATIONS (@Exempt cannot be combined with @Category or @CategoryByRow) |
error |
Un campo exento nunca aparece en ClassClassification.fields(), tenga o no violaciones; ambas comprobaciones pueden
informar sobre el mismo campo.
import io.github.devbpm.linneo.annotation.Category;
import io.github.devbpm.linneo.annotation.Exempt;
import static io.github.devbpm.linneo.Categories.*;
public class Person {
@Category(USER_NAME)
private String fullName;
@Exempt("computed from fullName")
private String initials;
private transient Object cache; // excluido sin anotación
}
Véase también: Visión general de las anotaciones · Classifier · Violaciones · curso: Anotar modelos