2016-06-11 4 views
0

Я пытаюсь использовать отражения google для поиска класса, который расширил абстрактный класс, как A и реализовать интерфейс I. Я смотрел в API, но без результата. Мой код до сих пор:Поиск класса расширенный Класс и реализация Интерфейс

Reflections reflections = new Reflections("com.my.company"); 
Set<Class<? extends A>> subTypes = reflections.getSubTypesOf(A.class); 
     subTypes.forEach(clazz->{ 
      System.out.println(clazz.getSimpleName()); 
     }); 

Может ли один предложить как я могу добавить следующие условия?

ответ

0

Я предполагаю (не проверял), это будет отфильтровывать нужные интерфейсы в цикле ForEach:

for(Class face : clazz.getInterfaces()) { 
    if(face.isAssignableFrom(I)) ... do sth ...; 
} 

I является I.class интерфейса вы ищете.

Смежные вопросы