Quando crio anotações e utilizo essas anotações para os atributos de uma classe, porém essa classe possue um extends a outra classe que também possuem anotações, como consigo ler as anotações dessa extends, pois executando somente classe.getAnnotation(ANOTACAO.class).valor() ele só faz a leitura da classe em questão, mas como faço da classe extend?
nesse código abaixo, não consigo pegar o valor da anotação da variável anotada na classe Padrao, anotada com @TITLE, através da Classex que extend Padrao. Eu queria pegar as anotações das duas classes através de uma.
“Note that this meta-annotation type has no effect if the annotated type is used to annotate anything other than a class. Note also that this meta-annotation only causes annotations to be inherited from superclasses; annotations on implemented interfaces have no effect.”
T
tap_pedroso
Ok, isso eu tinha visto, mas quero saber se existe alguma forma de resolver essa situação.
Existe?
Talvez eu conseguir identificar a classe Padrao através da Classex e assim conseguir ler as anotações dela. É possível?
luksrn
Sim, como antes você não tinha falado que a anotação era aplicada em métodos… você pode buscar a anotação recursivamente até a classe imediatamente abaixo de Object. Existe um projeto https://github.com/pcollaog/annotation-utils que irá te ajudar bastante.