ExpertiDict

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

meta-anotação

/ˈmɛtɐ anotaˈsɐ̃w/substantivo

Anotação aplicada a outra anotação para configurá-la, como @Retention, que define até quando ela vive, e @Target, que define onde pode ser usada.

Onde usar

Aparece ao criar anotações próprias: sem @Retention(RUNTIME), a reflexão não enxerga a anotação e o framework parece ignorá-la.

Em código

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE,
    ElementType.METHOD})
@Documented
@interface Rota {
  String valor();
}

Exemplos

Faltou a meta-anotação Retention, por isso o framework não vê a anotação.

Usa Target para limitar a anotação a métodos.

Cuidado

O padrão de retenção é CLASS: a anotação fica no .class, mas não está disponível para a reflexão em execução.

Veja também

Todos os termos de Java