Estou pesquisando aqui, mas não consigo encontrar.
Não sei se são as minhas tags mas não consigo obter bons resultados.
Enfim, gostaria de saber se há algum modo, acredito que por reflection, de se obter uma lista das classes existentes em um pacote.
Isso é possível? Se for, como?
Realmente minhas pesquisas não tem retornado resultados satisfatórios, tentei começar pelo “Package.getPackage” mas os métodos que ele possui não ajudaram muito, ou não soube usa-los corretamente.
cara, aparentemente não dá pra saber se tem como, mas se vc pegar um pacote e percorrer os arquivos contidos dentro desse pacote, vc pode procurar os arquivos .class (ou .java) dentro do diretorio.
T
Tchello
Nossa, que trampo cara.
Imaginei que houvesse uma maneira mais simplificada de se fazer isso, como todo o resto de reflection.
A propósito, esqueci de dizer no post original que não posso usar framework algum.
F
Felagund
Pois é, bem que a classe Package podia ter uma metodo getDeclaredClasses
T
Tchello
Felagund:
Pois é, bem que a classe Package podia ter uma metodo getDeclaredClasses
:P
Era exatamente o que eu tava procurando hahaha.
Quanto a sua solução achei meio, ahn… não trabalhosa assim de difícil, mas cheira um pouquinho estranho, entende?
Se não existir outra alternativa mesmo vou sugerir outra abordagem aqui pro que queremos fazer. Mas isso não vem ao caso.
Se não aceitarem vai desse jeito mesmo uahhuauhaua
Abraços!
S
sergiotaborda
Tchello:
Bom dia pessoal!
Estou pesquisando aqui, mas não consigo encontrar.
Não sei se são as minhas tags mas não consigo obter bons resultados.
Enfim, gostaria de saber se há algum modo, acredito que por reflection, de se obter uma lista das classes existentes em um pacote.
Isso é possível? Se for, como?
isso é possivel, mas não ha uma API padrão para isso. A razão se prende com o fato de que não é garantido que a jvm corra em cima de um OS com
sistema de arquivos.
Se vc conseguri abstrair a localização de forma a poder usar qq URL de origem, o processo resume-se a listar os arquivos .class na pasta do pacote.
T
Tchello
sergiotaborda:
Tchello:
Bom dia pessoal!
Estou pesquisando aqui, mas não consigo encontrar.
Não sei se são as minhas tags mas não consigo obter bons resultados.
Enfim, gostaria de saber se há algum modo, acredito que por reflection, de se obter uma lista das classes existentes em um pacote.
Isso é possível? Se for, como?
com exemplo usando File ( não funciona com jar)
Se vc conseguri abstrair a localização de forma a poder usar qq URL de origem, o processo resume-se a listar os arquivos .class na pasta do pacote.
Era esse meu medo, esse “módulo” ficará empacotado num jar para ser reaproveitado.
Procurarei por soluções alternativas. =Z
Abraços.
A
Ataxexe
Eu tenho um projetinho que, dentre algumas coisas, possui uma DSL pra isso. Talvez o código-fonte dele te dê alguma base (é bastante simples). Ele conta com a abstração que o Sérgio mencionou (baseada em URL) e tem 3 implementações: arquivos, jar e bundle do eclipse (pra usar em aplicativos RCP).
Se precisar de ajuda pra fazer um (ou pra usar meu projeto) estou sempre por aqui.
T
Tchello
Ataxexe:
Eu tenho um projetinho que, dentre algumas coisas, possui uma DSL pra isso. Talvez o código-fonte dele te dê alguma base (é bastante simples). Ele conta com a abstração que o Sérgio mencionou (baseada em URL) e tem 3 implementações: arquivos, jar e bundle do eclipse (pra usar em aplicativos RCP).
Se precisar de ajuda pra fazer um (ou pra usar meu projeto) estou sempre por aqui.
Interessante cara, era por ai mesmo que eu tava querendo.
Pegar todas as classes de um pacote listando-as pra encontrar qual era implementação de determinada interface.
Vou estudar o código aqui, se tiver alguma dúvida posto de novo.
Muito obrigado!
A
Ataxexe
Era essa a minha necessidade quando fiz essa DSL. Espero que te ajude tanto quanto me ajudou
Apenas se atente que o padrão é ele buscar apenas no pacote e todas as classes (anônimas, internas, etc.), mas isso é facilmente configurável (tem métodos pra restringir o nível de acesso, buscar classes não-anônimas, em subpacotes, etc.)
M
mews
Desculpa abrir novamente esse tópico.
Estou utilizando a api trugger para listar classes que contenham anotação @Entity.
No meu caso preciso listar todas as classes de diferentes diretórios e não gostaria de definir tão especificadamente.
Olá Ataxexe estou com um problema não consigo referenciar ou encontrar a classe do ClassScan, estou usando a versão 4.2 do seu projeto. O que pode ser?