public abstract class RepositoryExporter<R extends RepositoryExporter<? super R,M,E>,M extends RepositoryMetadata<E>,E extends EntityMetadata<? extends AttributeMetadata>>
extends java.lang.Object
implements org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.InitializingBean
Modifier and Type | Field and Description |
---|---|
protected org.springframework.context.ApplicationContext |
applicationContext |
protected java.util.Map<java.lang.Class<?>,java.lang.Class<?>> |
domainTypeMappings |
protected java.util.List<java.lang.String> |
exportOnlyTheseClasses |
protected org.springframework.data.repository.support.Repositories |
repositories |
protected java.util.Map<java.lang.String,M> |
repositoryMetadata |
Constructor and Description |
---|
RepositoryExporter() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
protected abstract M |
createRepositoryMetadata(java.lang.String name,
java.lang.Class<?> domainType,
java.lang.Class<?> repoClass,
org.springframework.data.repository.support.Repositories repositories) |
java.util.Map<java.lang.Class<?>,java.lang.Class<?>> |
getDomainTypeMappings() |
java.util.List<java.lang.String> |
getExportOnlyTheseClasses()
Get the list of class names of Repositories to export.
|
boolean |
hasRepositoryFor(java.lang.Class<?> domainType)
Is a Repository being exporter that supports this domain type?
|
void |
refresh() |
M |
repositoryMetadataFor(java.lang.Class<?> domainType)
Get the RepositoryMetadata for the Repository responsible for this domain type.
|
M |
repositoryMetadataFor(java.lang.String name)
Get the
RepositoryMetadata for the Repository exported under the given name. |
java.util.Set<java.lang.String> |
repositoryNames()
Get the list of Repository names being exported.
|
void |
setApplicationContext(org.springframework.context.ApplicationContext applicationContext) |
R |
setDomainTypeMappings(java.util.Map<java.lang.Class<?>,java.lang.Class<?>> domainTypeMappings) |
R |
setExportOnlyTheseClasses(java.util.List<java.lang.String> exportOnlyTheseClasses)
Set the class names of only those Repositories you want exported.
|
protected org.springframework.context.ApplicationContext applicationContext
protected org.springframework.data.repository.support.Repositories repositories
protected java.util.Map<java.lang.String,M extends RepositoryMetadata<E>> repositoryMetadata
protected java.util.List<java.lang.String> exportOnlyTheseClasses
protected java.util.Map<java.lang.Class<?>,java.lang.Class<?>> domainTypeMappings
public java.util.List<java.lang.String> getExportOnlyTheseClasses()
public R setExportOnlyTheseClasses(java.util.List<java.lang.String> exportOnlyTheseClasses)
exportOnlyTheseClasses
- List
of class names to export.public java.util.Map<java.lang.Class<?>,java.lang.Class<?>> getDomainTypeMappings()
public R setDomainTypeMappings(java.util.Map<java.lang.Class<?>,java.lang.Class<?>> domainTypeMappings)
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException
setApplicationContext
in interface org.springframework.context.ApplicationContextAware
org.springframework.beans.BeansException
public void afterPropertiesSet() throws java.lang.Exception
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
java.lang.Exception
public java.util.Set<java.lang.String> repositoryNames()
List
of class names to export.public boolean hasRepositoryFor(java.lang.Class<?> domainType)
domainType
- Type of the domain class.public M repositoryMetadataFor(java.lang.Class<?> domainType)
domainType
- Type of the domain class.RepositoryMetadata
instancepublic M repositoryMetadataFor(java.lang.String name)
RepositoryMetadata
for the Repository exported under the given name.name
- Name a Repository would be exported under.RepositoryMetadata
instanceprotected abstract M createRepositoryMetadata(java.lang.String name, java.lang.Class<?> domainType, java.lang.Class<?> repoClass, org.springframework.data.repository.support.Repositories repositories)
public void refresh()