Estou trabalhando em um projeto onde precisarei efetuar através de uma task do ant, a chamada de uma classe.
Esta classe precisa através de reflection fazer um lookup no meu classpath e encontrar todas as classes anotadas com determinada anotação.
Alguém tem idéia de como fazer isso? Estou aberto a sugestões.
minha dúvida é somente qto a classe q efetuará esta tarefa.
Vcs sabem se eu consigo com um processo java, tendo somente a interface Bean.java, encontrar as classes q a implementam ? Tipo o que o java faz qdo chamamos um método de uma interface …
[]'s
sergiolopes
Alguns frameworks fazem isso, como o Stripes ou o VRaptor. Você pode tentar olhar o fonte deles…
Era exatamente o que eu procurava. Cheguei até a pensar em ao invés de usar a annotation, utilizar uma interface para identificar minhas classes.
Agora consigo fazer da forma q queria, com o uso da annotation.
[]'s
mister_m
Márcio,
Para processar classes durante o build, com Java 6, use a API padrão de processamento de anotações; com Java 5, existe o apt, que faz a mesma coisa. Isso é muito mais eficiente e integrado ao processo de build, eliminando passos desnecessários e arquivos fora de sincronia.
que exige obrigatoriamente a inicialização da classe e a carga de diversas classes relacionadas como conseqüência, use a forma sobrecarregada desse método com false e o contextClassLoader.
marciobarroso
mister__m:
Márcio,
Para processar classes durante o build, com Java 6, use a API padrão de processamento de anotações; com Java 5, existe o apt, que faz a mesma coisa. Isso é muito mais eficiente e integrado ao processo de build, eliminando passos desnecessários e arquivos fora de sincronia.
Mister M,
vc por acaso teria algum link para me passar a respeito desta API padrão de processamento de anotações ? Pode ser até o JavaDoc.
[]'s
mister_m
marciobarroso:
Mister M,
vc por acaso teria algum link para me passar a respeito desta API padrão de processamento de anotações ?
que exige obrigatoriamente a inicialização da classe e a carga de diversas classes relacionadas como conseqüência, use a forma sobrecarregada desse método com false e o contextClassLoader.
é. vivendo e aprendendo novos metodos que ja existem a 2 anos
Fabio_Kung
realmente…
mudei rapidinho e o init do mydvds (app de exemplo) já ficou 4x mais rápido!
mister_m
Pior: esse existe desde o JDK 1.2, que eu não lembro quando saiu, mas que eu já usava em 1999