Annotation Interface OptionLabel


@Retention(RUNTIME) @Target({FIELD,METHOD}) public @interface OptionLabel
Marca o campo ou getter que deve fornecer o rótulo (label) utilizado nas projeções OptionDTO (combos/auto-complete).

Uso básico:


 // Em campo
 @OptionLabel
 private String nome;

 // Ou no getter
 @OptionLabel
 public String getNomeCompleto() { return nomeCompleto; }
 
 

Precedência na resolução do label (em BaseCrudService.computeOptionLabel()):

  1. Membro anotado com @OptionLabel (getter é verificado antes de campo)
  2. Heurísticas: getLabel(), getNomeCompleto(), getNome(), getDescricao(), getTitle()
  3. Fallback: String.valueOf(id)

Herança:

A detecção percorre a cadeia de classes; a anotação pode estar em uma superclasse.