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

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

Introduction

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

Prototype

public AnnotationTypeFilter(Class<? extends Annotation> annotationType, boolean considerMetaAnnotations) 

Source Link

Document

Create a new AnnotationTypeFilter for the given annotation type.

Usage

From source file:com.sdl.odata.datasource.jpa.JpaPostProcessor.java

@PostConstruct
public void setProvider() {
    if (provider == null) {
        provider = new ClassPathScanningCandidateComponentProvider(false);
        provider.addIncludeFilter(new AnnotationTypeFilter(Entity.class, false));
    }/*from w  w w. j  ava  2s  . c o m*/
}

From source file:com.zht.common.generator.util.LoadPackageClasses.java

/**
 * //from  ww  w.j ava 2 s.  c  o  m
 * @param packagesToScan ???,?"package.a,package.b"??
 * @param annotationFilter ???bean,?
 */
@SafeVarargs
public LoadPackageClasses(String[] packagesToScan, Class<? extends Annotation>... annotationFilter) {
    if (packagesToScan != null) {
        for (String packagePath : packagesToScan) {
            this.packagesList.add(packagePath);
        }
    }
    if (annotationFilter != null) {
        for (Class<? extends Annotation> annotation : annotationFilter) {
            typeFilters.add(new AnnotationTypeFilter(annotation, false));
        }
    }
}

From source file:cn.wanghaomiao.seimi.core.SeimiScanner.java

@SafeVarargs
public final Set<Class<?>> scan(String[] confPkgs, Class<? extends Annotation>... annotationTags) {
    Set<Class<?>> resClazzSet = new HashSet<>();
    List<AnnotationTypeFilter> typeFilters = new LinkedList<>();
    if (ArrayUtils.isNotEmpty(annotationTags)) {
        for (Class<? extends Annotation> annotation : annotationTags) {
            typeFilters.add(new AnnotationTypeFilter(annotation, false));
        }//from   www.  j a va  2  s.c  o m
    }
    if (ArrayUtils.isNotEmpty(confPkgs)) {
        for (String pkg : confPkgs) {
            String pattern = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
                    + String.format(RESOURCE_PATTERN, ClassUtils.convertClassNameToResourcePath(pkg));
            try {
                Resource[] resources = this.resourcePatternResolver.getResources(pattern);
                MetadataReaderFactory readerFactory = new CachingMetadataReaderFactory(
                        this.resourcePatternResolver);
                for (Resource resource : resources) {
                    if (resource.isReadable()) {
                        MetadataReader reader = readerFactory.getMetadataReader(resource);
                        String className = reader.getClassMetadata().getClassName();
                        if (ifMatchesEntityType(reader, readerFactory, typeFilters)) {
                            Class<?> curClass = Thread.currentThread().getContextClassLoader()
                                    .loadClass(className);
                            context.register(curClass);
                            resClazzSet.add(curClass);
                        }
                    }
                }
            } catch (Exception e) {
                logger.error("?????[{}][{}]", pattern,
                        StringUtils.join(typeFilters, ","));
            }
        }
    }
    if (!context.isActive()) {
        context.refresh();
    }
    return resClazzSet;
}