List of usage examples for org.springframework.context.annotation ClassPathScanningCandidateComponentProvider ClassPathScanningCandidateComponentProvider
public ClassPathScanningCandidateComponentProvider(boolean useDefaultFilters)
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); } } }