Search in sources :

Example 36 with AssignableTypeFilter

use of org.springframework.core.type.filter.AssignableTypeFilter in project spring-cloud-gcp by spring-cloud.

the class DatastorePersistentEntityImpl method initializeSubclassEntities.

private void initializeSubclassEntities() {
    ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(false);
    provider.addIncludeFilter(new AssignableTypeFilter(getType()));
    for (BeanDefinition component : provider.findCandidateComponents(getType().getPackage().getName())) {
        try {
            this.datastoreMappingContext.getPersistentEntity(Class.forName(component.getBeanClassName()));
        } catch (ClassNotFoundException ex) {
            throw new DatastoreDataException("Could not find expected subclass for this entity: " + getType(), ex);
        }
    }
}
Also used : ClassPathScanningCandidateComponentProvider(org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider) BeanDefinition(org.springframework.beans.factory.config.BeanDefinition) AssignableTypeFilter(org.springframework.core.type.filter.AssignableTypeFilter)

Aggregations

AssignableTypeFilter (org.springframework.core.type.filter.AssignableTypeFilter)36 BeanDefinition (org.springframework.beans.factory.config.BeanDefinition)20 ClassPathScanningCandidateComponentProvider (org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider)14 Test (org.junit.jupiter.api.Test)13 AnnotationTypeFilter (org.springframework.core.type.filter.AnnotationTypeFilter)9 FooService (example.scannable.FooService)6 Annotation (java.lang.annotation.Annotation)5 ArrayList (java.util.ArrayList)4 MetadataReader (org.springframework.core.type.classreading.MetadataReader)4 MetadataReaderFactory (org.springframework.core.type.classreading.MetadataReaderFactory)4 SimpleMetadataReaderFactory (org.springframework.core.type.classreading.SimpleMetadataReaderFactory)4 AspectJTypeFilter (org.springframework.core.type.filter.AspectJTypeFilter)4 RegexPatternTypeFilter (org.springframework.core.type.filter.RegexPatternTypeFilter)4 TypeFilter (org.springframework.core.type.filter.TypeFilter)4 AutowiredQualifierFooService (example.scannable.AutowiredQualifierFooService)3 FooServiceImpl (example.scannable.FooServiceImpl)3 Test (org.junit.Test)3 AnnotatedComponent (example.gh24375.AnnotatedComponent)2 DevComponent (example.profilescan.DevComponent)2 ProfileAnnotatedComponent (example.profilescan.ProfileAnnotatedComponent)2