Example usage for org.springframework.context.annotation ClassPathScanningCandidateComponentProvider ClassPathScanningCandidateComponentProvider

List of usage examples for org.springframework.context.annotation ClassPathScanningCandidateComponentProvider ClassPathScanningCandidateComponentProvider

Introduction

In this page you can find the example usage for org.springframework.context.annotation ClassPathScanningCandidateComponentProvider ClassPathScanningCandidateComponentProvider.

Prototype

public ClassPathScanningCandidateComponentProvider(boolean useDefaultFilters) 

Source Link

Document

Create a ClassPathScanningCandidateComponentProvider with a StandardEnvironment .

Usage

From source file:name.marcelomorales.siqisiqi.openjpa.spring.SpringRegistrar.java

public static void registerEntities(EntityRepository provider, String... basePackage) {
    for (String pack : basePackage) {
        ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
                false);//from w w  w. jav a  2s .c  om

        scanner.addIncludeFilter(new AnnotationTypeFilter(Entity.class));

        for (BeanDefinition bd : scanner.findCandidateComponents(pack)) {
            try {
                final Class<?> aClass = Class.forName(bd.getBeanClassName());
                LOGGER.info("Adding {} to entity repository", aClass);
                provider.register(aClass);
            } catch (ClassNotFoundException e) {
                LOGGER.error("Error", e);
            }
        }
    }
}

From source file:com.jk.annotations.AnnotationDetector.java

/**
 * Utility method to scan the given package and handler for the annotation
 * of the given class. Its uses the Spring annotation detector
 *
 * @param clas// w w  w .j  ava 2  s . c  o m
 *            the clas
 * @param basePackage
 *            the base package
 * @param handler
 *            the handler
 */
public static void scan(final Class<? extends Annotation> clas, final String[] basePackage,
        final AnnotationHandler handler) {
    final ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
            false);
    scanner.setResourceLoader(
            new PathMatchingResourcePatternResolver(Thread.currentThread().getContextClassLoader()));
    scanner.addIncludeFilter(new AnnotationTypeFilter(clas));
    for (final String pck : basePackage) {
        for (final BeanDefinition bd : scanner.findCandidateComponents(pck)) {
            handler.handleAnnotationFound(bd.getBeanClassName());
        }
    }
}

From source file:io.acme.solution.application.conf.CommandHandlerUtils.java

public static Map<String, CommandHandler> buildCommandHandlersRegistry(final String basePackage,
        final ApplicationContext context) {

    final Map<String, CommandHandler> registry = new HashMap<>();
    final ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
            false);//ww w. ja  v a 2s . co  m
    final AutowireCapableBeanFactory beanFactory = context.getAutowireCapableBeanFactory();
    scanner.addIncludeFilter(new AssignableTypeFilter(CommandHandler.class));

    CommandHandler currentHandler = null;

    for (BeanDefinition bean : scanner.findCandidateComponents(basePackage)) {
        currentHandler = (CommandHandler) beanFactory.createBean(
                ClassUtils.resolveClassName(bean.getBeanClassName(), context.getClassLoader()),
                AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true);
        registry.put(currentHandler.getInterest(), currentHandler);
    }

    return registry;
}

From source file:com.oembedler.moon.graphql.engine.GraphQLSchemaDiscoverer.java

public static Set<Class<?>> findSchemaClasses(final String basePackage) throws ClassNotFoundException {

    Set<Class<?>> initialEntitySet = new HashSet<Class<?>>();

    if (StringUtils.hasText(basePackage)) {
        ClassPathScanningCandidateComponentProvider componentProvider = new ClassPathScanningCandidateComponentProvider(
                false);// ww  w  .  j  a va  2  s . co  m
        componentProvider.addIncludeFilter(new AnnotationTypeFilter(GRAPH_QL_SCHEMA_ANNOTATION));

        for (BeanDefinition candidate : componentProvider.findCandidateComponents(basePackage)) {
            initialEntitySet.add(ClassUtils.forName(candidate.getBeanClassName(),
                    GraphQLSchemaDiscoverer.class.getClassLoader()));
        }
    }
    return initialEntitySet;
}

From source file:org.fishwife.jrugged.spring.AnnotatedMethodScanner.java

public AnnotatedMethodScanner() {
    classLoader = AnnotatedMethodScanner.class.getClassLoader();
    provider = new ClassPathScanningCandidateComponentProvider(false);
}

From source file:com.baidu.terminator.register.scanner.AnnotationScanner.java

@SuppressWarnings("unchecked")
public List<Class<? extends T>> scanAnnotatedClass() {
    List<Class<? extends T>> classList = new ArrayList<Class<? extends T>>();

    ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
            false);/*  w w  w  .  j  a  va  2s. c o  m*/
    scanner.addIncludeFilter(new AnnotationTypeFilter(annotationType));
    Set<BeanDefinition> components = scanner.findCandidateComponents(scannerPackage);

    for (BeanDefinition bd : components) {
        String className = bd.getBeanClassName();
        try {
            Class<? extends T> clazz = (Class<? extends T>) Class.forName(className);
            classList.add(clazz);
        } catch (ClassNotFoundException e) {
            LOGGER.warn("can not find class" + className, e.getCause());
        }
    }
    return classList;
}

From source file:com.reactivetechnologies.platform.datagrid.util.EntityFinder.java

/**
 * //  w  ww .  j  av  a  2s. c o  m
 * @param basePkg
 * @return
 * @throws ClassNotFoundException
 */
public static Collection<Class<?>> findEntityClasses(String basePkg) throws ClassNotFoundException {
    ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(
            false);
    provider.addIncludeFilter(new TypeFilter() {

        @Override
        public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory)
                throws IOException {
            AnnotationMetadata aMeta = metadataReader.getAnnotationMetadata();
            return aMeta.hasAnnotation(HzMapConfig.class.getName());
        }
    });
    //consider the finder class to be in the root package
    Set<BeanDefinition> beans = null;
    try {
        beans = provider.findCandidateComponents(StringUtils.hasText(basePkg) ? basePkg
                : EntityFinder.class.getName().substring(0, EntityFinder.class.getName().lastIndexOf(".")));
    } catch (Exception e) {
        throw new IllegalArgumentException("Unable to scan for entities under base package", e);
    }

    Set<Class<?>> classes = new HashSet<>();
    if (beans != null && !beans.isEmpty()) {
        classes = new HashSet<>(beans.size());
        for (BeanDefinition bd : beans) {
            classes.add(Class.forName(bd.getBeanClassName()));
        }
    } else {
        log.warn(">> Did not find any key value entities under the given base scan package [" + basePkg + "]");
    }
    return classes;

}

From source file:com.clicktravel.cheddar.server.rest.resource.config.RestResourceConfig.java

public RestResourceConfig() {
    scanner = new ClassPathScanningCandidateComponentProvider(true);
    scanner.resetFilters(false);//from w  w w  .  j a  va 2  s . c o  m
    scanner.addIncludeFilter(new AnnotationTypeFilter(Path.class));
    scanner.addIncludeFilter(new AnnotationTypeFilter(Provider.class));
    register(RequestContextFilter.class);
    register(MultiPartFeature.class);
    registerResources("com.clicktravel.cheddar.rest.exception.mapper",
            "com.clicktravel.cheddar.server.http.filter", "com.clicktravel.cheddar.server.rest.resource.status",
            "com.clicktravel.services");
}

From source file:com.github.dbourdette.glass.web.util.JobPathScanner.java

@PostConstruct
protected void scanPaths() {
    ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(
            false);//from www .  j a va  2s  .c o  m
    provider.addIncludeFilter(new AssignableTypeFilter(Job.class));

    for (BeanDefinition definition : provider.findCandidateComponents(configuration.getJobBasePackage())) {
        jobPaths.add(definition.getBeanClassName());
    }

    Collections.sort(jobPaths);
}

From source file:com.zergiu.tvman.shows.ShowsProviderFactoryBean.java

/**
 * /*from  w  ww.  j  a va  2 s  . c  om*/
 */
private void findProviders(String packageName) {
    ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
            false);
    scanner.addIncludeFilter(new AssignableTypeFilter(ShowProvider.class));
    for (BeanDefinition bd : scanner.findCandidateComponents(packageName)) {
        ShowProvider provider = getProvider(bd);
        if (provider != null) {
            providers.put(provider.getProviderId(), provider);
        }
    }
}