Seguinte pessoal
Eu estou desenvolvendo uma engine de regras no meu sistema (sem utilizar o Drools pora algumas limitações). Até ai tudo bem, estou fazendo ela para ser altamente escalável, sem impactar em mudanças na engine para adição de novas regras.
A solução que eu tô desenvolendo deveria pegar todas as classes anotadas por uma anotação que eu criei (que devem implementar uma interface padrão de regras) e executa-las para obter o subconjunto de regras validas. Dessa forma, se uma nova regra for criada, bastará anotá-la futuramente e a engine deve automaticamente buscá-la.
só que não sei como eu faço para buscar todas as classes anotadas do projeto. A solução que eu vi foi buscar manualmente em todos os jars e pastas do projeto, mas isso não funciona pra mim, pq futurametne alguem pode adicionar uma regra em um novo jar no classpath do projeto, e o sistema deve automaticamente conseguir buscá-lo, sem alterar a engine.
Alguém tem uma ideia se existe algum método do tipo “getAllClassesAnnotatedInClasspath(nomeDaAnotacao)”, onde eu não precisaria informar nada nem de jar, nem de pacotes, nem de diretorios?