Search in sources :

Example 1 with RepositoryDefinition

use of org.springframework.data.repository.RepositoryDefinition in project spring-data-commons by spring-projects.

the class RepositoryComponentProvider method addIncludeFilter.

/**
 * Custom extension of {@link #addIncludeFilter(TypeFilter)} to extend the added {@link TypeFilter}. For the
 * {@link TypeFilter} handed we'll have two filters registered: one additionally enforcing the
 * {@link RepositoryDefinition} annotation, the other one forcing the extension of {@link Repository}.
 *
 * @see ClassPathScanningCandidateComponentProvider#addIncludeFilter(TypeFilter)
 */
@Override
public void addIncludeFilter(TypeFilter includeFilter) {
    List<TypeFilter> filterPlusInterface = new ArrayList<>(2);
    filterPlusInterface.add(includeFilter);
    filterPlusInterface.add(new InterfaceTypeFilter(Repository.class));
    super.addIncludeFilter(new AllTypeFilter(filterPlusInterface));
    List<TypeFilter> filterPlusAnnotation = new ArrayList<>(2);
    filterPlusAnnotation.add(includeFilter);
    filterPlusAnnotation.add(new AnnotationTypeFilter(RepositoryDefinition.class, true, true));
    super.addIncludeFilter(new AllTypeFilter(filterPlusAnnotation));
}
Also used : RepositoryDefinition(org.springframework.data.repository.RepositoryDefinition) AnnotationTypeFilter(org.springframework.core.type.filter.AnnotationTypeFilter) Repository(org.springframework.data.repository.Repository) ArrayList(java.util.ArrayList) TypeFilter(org.springframework.core.type.filter.TypeFilter) AssignableTypeFilter(org.springframework.core.type.filter.AssignableTypeFilter) AnnotationTypeFilter(org.springframework.core.type.filter.AnnotationTypeFilter)

Aggregations

ArrayList (java.util.ArrayList)1 AnnotationTypeFilter (org.springframework.core.type.filter.AnnotationTypeFilter)1 AssignableTypeFilter (org.springframework.core.type.filter.AssignableTypeFilter)1 TypeFilter (org.springframework.core.type.filter.TypeFilter)1 Repository (org.springframework.data.repository.Repository)1 RepositoryDefinition (org.springframework.data.repository.RepositoryDefinition)1