1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

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

  1. mailer

    mailer New Member

    Репутация:
    0
    Регистрация:
    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
    Просмотров:
    964
  2. Вадим90
    Ответов:
    1
    Просмотров:
    1.322
  3. NetWolf
    Ответов:
    3
    Просмотров:
    121
  4. Иван Кочнев
    Ответов:
    35
    Просмотров:
    479
  5. Ondrik8
    Ответов:
    0
    Просмотров:
    86

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