Нужна помошь по Org.reflections

mailer

New member
20.10.2010
1
0
#1
Народ, кто знает как правильно составить фильтры для Reflections?
Вот код , котоорый сканирует все пакеты, и ищет в них прямых наследников определенного класса:
<!--shcode--><pre><code class='Java'> //Создаем конфигурацию
ConfigurationBuilder configuration = new ConfigurationBuilder();

//Устанавливаем префикс иерархии пакетов
configuration.filterInputsBy(new FilterBuilder.Include(FilterBuilder.prefix("my.package")));
configuration.setUrls(ClasspathHelper.getUrlsForCurrentClasspath());

//Создаем сканер по типам
SubTypesScanner typesScanner = new SubTypesScanner();

//Указываем наследников какого класса/интерфейса хотим найти
typesScanner.filterResultsBy(new FilterBuilder.Include(VetoableActionInterface.class.getName()));

//Создаем сканер по аннотациям
MethodAnnotationsScanner annotationsScanner = new MethodAnnotationsScanner();

//Указываем какие аннотации хотим найти
annotationsScanner.filterResultsBy(new FilterBuilder.Include(Vetoable.class.getName()));

configuration.setScanners(typesScanner, annotationsScanner);

//Сканируем
Reflections ref = new Reflections(configuration);
//Выводим список классов/интерфейсов напрямую реализующих/наследующих искомый интерфейс
Set<Class<? extends VetoableActionInterface>> subTypes = ref.getSubTypesOf(VetoableActionInterface.class);

//Выводим список методов аннотированных интересующей аннотацией
Set<Method> methods = ref.getMethodsAnnotatedWith(Vetoable.class);[/CODE]

Проблема в том, что методы getSubTypesOf() и getMethodsAnnotatedWith() работают независимо друг от друга, т.к. пользуются разными сканерами. А мне нужно, чтобы список аннотированных методов выбирался из найденного множества классов.
Кто может помочь?