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.tdar.core.service.ReflectionService.java

/**
 * Find all classes that implement the identified Class
 * // ww  w .  j a va2 s. c  o  m
 * @param cls
 * @return
 */
public static Set<BeanDefinition> findClassesThatImplement(Class<?> cls) {
    ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
            false);
    scanner.addIncludeFilter(new AssignableTypeFilter(cls));
    String basePackage = ORG_TDAR2;
    Set<BeanDefinition> findCandidateComponents = scanner.findCandidateComponents(basePackage);
    return findCandidateComponents;
}

From source file:org.usergrid.persistence.Schema.java

@SuppressWarnings("unchecked")
public void scanEntities() {
    for (String path : entitiesScanPath) {
        ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(
                true);//from   www.j a va  2 s . co  m
        provider.addIncludeFilter(new AssignableTypeFilter(TypedEntity.class));

        Set<BeanDefinition> components = provider.findCandidateComponents(path);
        for (BeanDefinition component : components) {
            try {
                Class<?> cls = Class.forName(component.getBeanClassName());
                if (Entity.class.isAssignableFrom(cls)) {
                    registerEntity((Class<? extends Entity>) cls);
                }
            } catch (ClassNotFoundException e) {
                logger.error("Unable to get entity class ", e);
            }
        }
        registerEntity(DynamicEntity.class);
    }
}