Descobrir as implementações de uma interface por reflexão[resolvido]

4 respostas
carolino

Boa tarde pessoal,

To com um problema, to precisando descobrir todas as classes
de um projeto que implementam uma interface especifica.

Alguém tem alguma idéia?

obrigado pessoal

4 Respostas

E

Alguém já fez aqui uma coisa que permite, a partir de um JAR, verificar quais as classes que estão dentro dele.

Uma vez feito isso, você precisa obter um java.lang.Class para cada uma das classes, e chamar isAssignableFrom para ver se a tal classe implementa a tal interface:

http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html#isAssignableFrom(java.lang.Class)

L

Acho que é mais ou menos isso que vc quer:

http://code.google.com/p/rockframework/wiki/ClassFinder?ts=[telefone removido]&updated=ClassFinder

carolino

Obrigado pela ajuda amigos, graças a vcs consegui da seguinte forma…

public static void procuraClasses() throws InstantiationException, IllegalAccessException {
	Set<Class> listaClasses = ClassScan.findClasses().assignableTo(Regra.class).in("br.com.regra");
	for (Class class1 : listaClasses) 
		System.out.println(class1.getName());
}
Y

verificar quais as classes que estão dentro dele.

Criado 25 de junho de 2012
Ultima resposta 26 de jun. de 2012
Respostas 4
Participantes 4