Class AnnotationRepositoryConfigurationSource
java.lang.Object
org.springframework.data.repository.config.RepositoryConfigurationSourceSupport
org.springframework.data.repository.config.AnnotationRepositoryConfigurationSource
- All Implemented Interfaces:
RepositoryConfigurationSource
Annotation based
RepositoryConfigurationSource
.- Author:
- Oliver Gierke, Thomas Darimont, Peter Rietzler, Jens Schauder, Mark Paluch, Johannes Englmeier, Florian Cramer
-
Field Summary
Fields inherited from class org.springframework.data.repository.config.RepositoryConfigurationSourceSupport
DEFAULT_REPOSITORY_IMPL_POSTFIX
-
Constructor Summary
ConstructorsConstructorDescriptionAnnotationRepositoryConfigurationSource
(org.springframework.core.type.AnnotationMetadata metadata, Class<? extends Annotation> annotation, org.springframework.core.io.ResourceLoader resourceLoader, org.springframework.core.env.Environment environment, org.springframework.beans.factory.support.BeanDefinitionRegistry registry) Deprecated.since 2.2.AnnotationRepositoryConfigurationSource
(org.springframework.core.type.AnnotationMetadata metadata, Class<? extends Annotation> annotation, org.springframework.core.io.ResourceLoader resourceLoader, org.springframework.core.env.Environment environment, org.springframework.beans.factory.support.BeanDefinitionRegistry registry, org.springframework.beans.factory.support.BeanNameGenerator generator) Creates a newAnnotationRepositoryConfigurationSource
from the givenAnnotationMetadata
and annotation. -
Method Summary
Modifier and TypeMethodDescriptiongetAttribute
(String name) Returns the value for theString
attribute with the given name.<T> Optional<T>
getAttribute
(String name, Class<T> type) Returns the value for the attribute with the given name and type.org.springframework.core.annotation.AnnotationAttributes
Returns theAnnotationAttributes
of the annotation configured.Returns the base packages the repository interfaces shall be found under.Defines the repositoryBootstrapMode
to be used.org.springframework.core.type.AnnotationMetadata
Returns theAnnotationMetadata
for the@Enable
annotation that triggered the configuration.Streamable<org.springframework.core.type.filter.TypeFilter>
Return theTypeFilter
s to define which types to exclude when scanning for repositories.protected Iterable<org.springframework.core.type.filter.TypeFilter>
Return theTypeFilter
s to define which types to include when scanning for repositories.Returns theQueryLookupStrategy.Key
to define how query methods shall be resolved.Returns the name of the repository base class to be used orOptional.empty()
if the store specific defaults shall be applied.Returns the name of the repository factory bean class orOptional.empty()
if not defined in the source.Returns the configured postfix to be used for looking up custom implementation classes.Returns a human readable description of the repository configuration source for error reporting purposes.Returns the actual source object that the configuration originated from.boolean
Returns whether we should consider nested repositories, i.e. repository interface definitions nested in other classes.boolean
Returns whether the configuration uses explicit filtering to scan for repository types.Methods inherited from class org.springframework.data.repository.config.RepositoryConfigurationSourceSupport
generateBeanName, getCandidates, toImplementationDetectionConfiguration
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.data.repository.config.RepositoryConfigurationSource
getRequiredAttribute
-
Constructor Details
-
AnnotationRepositoryConfigurationSource
@Deprecated public AnnotationRepositoryConfigurationSource(org.springframework.core.type.AnnotationMetadata metadata, Class<? extends Annotation> annotation, org.springframework.core.io.ResourceLoader resourceLoader, org.springframework.core.env.Environment environment, org.springframework.beans.factory.support.BeanDefinitionRegistry registry) Deprecated.since 2.2. Prefer to use overload taking aBeanNameGenerator
additionally.Creates a newAnnotationRepositoryConfigurationSource
from the givenAnnotationMetadata
and annotation.- Parameters:
metadata
- must not be null.annotation
- must not be null.resourceLoader
- must not be null.environment
- must not be null.registry
- must not be null.
-
AnnotationRepositoryConfigurationSource
public AnnotationRepositoryConfigurationSource(org.springframework.core.type.AnnotationMetadata metadata, Class<? extends Annotation> annotation, org.springframework.core.io.ResourceLoader resourceLoader, org.springframework.core.env.Environment environment, org.springframework.beans.factory.support.BeanDefinitionRegistry registry, @Nullable org.springframework.beans.factory.support.BeanNameGenerator generator) Creates a newAnnotationRepositoryConfigurationSource
from the givenAnnotationMetadata
and annotation.- Parameters:
metadata
- must not be null.annotation
- must not be null.resourceLoader
- must not be null.environment
- must not be null.registry
- must not be null.generator
- can be null.
-
-
Method Details
-
getBasePackages
Description copied from interface:RepositoryConfigurationSource
Returns the base packages the repository interfaces shall be found under.- Returns:
- must not be null.
-
getQueryLookupStrategyKey
Description copied from interface:RepositoryConfigurationSource
Returns theQueryLookupStrategy.Key
to define how query methods shall be resolved.- Returns:
-
getNamedQueryLocation
- Returns:
-
getRepositoryImplementationPostfix
Description copied from interface:RepositoryConfigurationSource
Returns the configured postfix to be used for looking up custom implementation classes.- Returns:
- the postfix to use or
Optional.empty()
in case none is configured.
-
getSource
Description copied from interface:RepositoryConfigurationSource
Returns the actual source object that the configuration originated from. Will be used by the tooling to give visual feedback on where the repository instances actually come from. @return. -
getIncludeFilters
Description copied from class:RepositoryConfigurationSourceSupport
Return theTypeFilter
s to define which types to include when scanning for repositories. Default implementation returns an empty collection.- Overrides:
getIncludeFilters
in classRepositoryConfigurationSourceSupport
- Returns:
- must not be null.
-
getExcludeFilters
Description copied from class:RepositoryConfigurationSourceSupport
Return theTypeFilter
s to define which types to exclude when scanning for repositories. Default implementation returns an empty collection.- Specified by:
getExcludeFilters
in interfaceRepositoryConfigurationSource
- Overrides:
getExcludeFilters
in classRepositoryConfigurationSourceSupport
- Returns:
- must not be null.
-
getRepositoryFactoryBeanClassName
Description copied from interface:RepositoryConfigurationSource
Returns the name of the repository factory bean class orOptional.empty()
if not defined in the source.- Returns:
-
getRepositoryBaseClassName
Description copied from interface:RepositoryConfigurationSource
Returns the name of the repository base class to be used orOptional.empty()
if the store specific defaults shall be applied.- Returns:
-
getAttributes
public org.springframework.core.annotation.AnnotationAttributes getAttributes()Returns theAnnotationAttributes
of the annotation configured.- Returns:
- the attributes will never be null.
-
getEnableAnnotationMetadata
public org.springframework.core.type.AnnotationMetadata getEnableAnnotationMetadata()Returns theAnnotationMetadata
for the@Enable
annotation that triggered the configuration.- Returns:
- the enableAnnotationMetadata
-
shouldConsiderNestedRepositories
public boolean shouldConsiderNestedRepositories()Description copied from class:RepositoryConfigurationSourceSupport
Returns whether we should consider nested repositories, i.e. repository interface definitions nested in other classes.- Overrides:
shouldConsiderNestedRepositories
in classRepositoryConfigurationSourceSupport
- Returns:
- true if the container should look for nested repository interface definitions.
-
getAttribute
Description copied from interface:RepositoryConfigurationSource
Returns the value for theString
attribute with the given name. The name is expected to be handed in camel-case.- Parameters:
name
- must not be null or empty.- Returns:
- the attribute with the given name or
Optional.empty()
if not configured or empty.
-
getAttribute
Description copied from interface:RepositoryConfigurationSource
Returns the value for the attribute with the given name and type. The name is expected to be handed in camel-case.- Parameters:
name
- must not be null or empty.type
- the type of the attribute to look up.- Returns:
- the attribute with the given name or
Optional.empty()
if not configured or empty.
-
usesExplicitFilters
public boolean usesExplicitFilters()Description copied from interface:RepositoryConfigurationSource
Returns whether the configuration uses explicit filtering to scan for repository types.- Returns:
- whether the configuration uses explicit filtering to scan for repository types.
-
getBootstrapMode
Description copied from interface:RepositoryConfigurationSource
Defines the repositoryBootstrapMode
to be used.- Returns:
-
getResourceDescription
Description copied from interface:RepositoryConfigurationSource
Returns a human readable description of the repository configuration source for error reporting purposes.- Returns:
- can be null.
-