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

Тема в разделе "Java", создана пользователем mailer, 20 окт 2010.

  1. mailer

    mailer New Member

    Регистрация:
    20 окт 2010
    Сообщения:
    1
    Симпатии:
    0
    Народ, кто знает как правильно составить фильтры для 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() работают независимо друг от друга, т.к. пользуются разными сканерами. А мне нужно, чтобы список аннотированных методов выбирался из найденного множества классов.
    Кто может помочь?
     
Загрузка...
Похожие Темы - Нужна помошь по
  1. art2023
    Ответов:
    3
    Просмотров:
    785
  2. Вадим90
    Ответов:
    1
    Просмотров:
    1.232
  3. msfconsole
    Ответов:
    0
    Просмотров:
    39
  4. slavkan777
    Ответов:
    2
    Просмотров:
    522
  5. devunion
    Ответов:
    4
    Просмотров:
    790

Поделиться этой страницей