ExpertiDict

Java · Avançado · Português · Técnico

processador de anotação

/pɾosesaˈdoɾ dʒi anotaˈsɐ̃w/substantivo

Plugin do compilador que roda durante o javac, lê anotações no código-fonte e gera novas classes ou arquivos, sem reflexão em execução.

Onde usar

Aparece em Lombok, MapStruct, Dagger e Room. Falhas surgem como erros de compilação; é preciso configurá-lo no annotationProcessorPaths do Maven.

Em código

@SupportedAnnotationTypes("*")
public class Proc extends AbstractProcessor {
  public boolean process(
      Set<? extends TypeElement> t,
      RoundEnvironment r) {
    return false; // gera fontes pelo Filer
  }
}

Exemplos

O MapStruct gera o mapper por um processador de anotação.

A IDE não achou a classe gerada porque o processamento estava desligado.

Cuidado

Gera código antes da execução, então difere da reflexão; a classe gerada só existe depois do build, o que confunde a IDE se o processamento não estiver ativado.

Sinônimos

annotation processor

Veja também

Todos os termos de Java