Example usage for org.springframework.core.type.filter AssignableTypeFilter AssignableTypeFilter

List of usage examples for org.springframework.core.type.filter AssignableTypeFilter AssignableTypeFilter

Introduction

In this page you can find the example usage for org.springframework.core.type.filter AssignableTypeFilter AssignableTypeFilter.

Prototype

public AssignableTypeFilter(Class<?> targetType) 

Source Link

Document

Create a new AssignableTypeFilter for the given type.

Usage

From source file:org.lightadmin.core.config.bootstrap.scanning.AdministrationClassScanner.java

public AdministrationClassScanner() {
    super(new AnnotationTypeFilter(Administration.class),
            new AssignableTypeFilter(AdministrationConfiguration.class));
}

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);/*from w ww  . j  av  a2 s  . c o  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:org.web4thejob.util.converter.JobletScanner.java

public JobletScanner() {
    super(false);
    addIncludeFilter(new AssignableTypeFilter(Joblet.class));
}

From source file:org.codehaus.grepo.core.config.GenericRepositoryBeanDefinitionScanner.java

/**
 * @param genericRepositoryType The generic repository interface.
 *//*from   www  .j  av  a  2s . c  o m*/
public GenericRepositoryBeanDefinitionScanner(Class<?> genericRepositoryType) {
    super(false);

    if (genericRepositoryType != null) {
        // Note: we add default type filter which finds repositories which are of approriate
        // interface type and annotated with the Repository annotation
        CompositeTypeFilter typeFilter = new CompositeTypeFilter();
        typeFilter.addTypeFilters(new AssignableTypeFilter(genericRepositoryType),
                new AnnotationTypeFilter(Repository.class));
        addIncludeFilter(typeFilter);
    }
}

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

@PostConstruct
protected void scanPaths() {
    ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(
            false);/*from w ww  .j  av a  2s  . co 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  . jav  a  2  s .c  o  m
 */
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);
        }
    }
}

From source file:podd.model.visitor.VisitorAdapterUnitTest.java

@Test
public void testCoversAllClasses() throws Exception {
    ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProviderAllowInterface(
            true);/*  w  w  w . ja  v  a  2 s . co  m*/
    provider.addIncludeFilter(new AssignableTypeFilter(Entity.class));

    Set<BeanDefinition> components = provider.findCandidateComponents("podd/model");
    resolveAndCheckPackage(components);
}

From source file:org.openmrs.module.kenyaemr.calculation.CalculationManager.java

/**
 * Refreshes registered calculation classes
 *//*from  w  w  w  . j a  va 2  s  .c o m*/
public synchronized void refresh() {
    clear();

    ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
            false);
    scanner.addIncludeFilter(new AssignableTypeFilter(BaseEmrCalculation.class));

    for (BeanDefinition bd : scanner.findCandidateComponents(CalculationManager.class.getPackage().getName())) {
        try {
            Class clazz = Class.forName(bd.getBeanClassName());
            calculationClasses.put(bd.getBeanClassName(), clazz);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

        log.info("Found calculation class :" + bd.getBeanClassName());
    }
}

From source file:org.opentides.bean.factory.support.BaseEntityRegistry.java

@Override
public void afterPropertiesSet() throws Exception {
    if (packagesToScan == null)
        packagesToScan = new ArrayList<String>();
    packagesToScan.add("org.opentides.bean");
    baseEntities = new ArrayList<String>();
    BeanDefinitionRegistry registry = new SimpleBeanDefinitionRegistry();
    ClassPathBeanDefinitionScanner s = new ClassPathBeanDefinitionScanner(registry);
    TypeFilter tf = new AssignableTypeFilter(BaseEntity.class);
    s.resetFilters(false);//from w w  w.  j a v  a2s .  com
    s.addIncludeFilter(tf);
    s.scan(packagesToScan.toArray(new String[packagesToScan.size()]));
    for (String name : registry.getBeanDefinitionNames()) {
        Class<?> clazz = Class.forName(registry.getBeanDefinition(name).getBeanClassName());
        if (BaseEntity.class.isAssignableFrom(clazz))
            baseEntities.add(registry.getBeanDefinition(name).getBeanClassName());
    }
}

From source file:com.googlecode.flyway.core.migration.java.JavaMigrationResolver.java

public Collection<Migration> resolveMigrations() {
    Collection<Migration> migrations = new ArrayList<Migration>();

    ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(
            false);/*w  w w  . j  a v  a2s  .com*/
    provider.addIncludeFilter(new AssignableTypeFilter(JavaMigration.class));
    Set<BeanDefinition> components = provider.findCandidateComponents(basePackage);
    for (BeanDefinition beanDefinition : components) {
        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
        Class<?> clazz = ClassUtils.resolveClassName(beanDefinition.getBeanClassName(), classLoader);
        JavaMigration javaMigration = (JavaMigration) BeanUtils.instantiateClass(clazz);
        migrations.add(new JavaMigrationExecutor(javaMigration));
    }

    return migrations;
}