public class ReactiveCouchbaseRepositoryFactory extends ReactiveRepositoryFactorySupport
RepositoryFactorySupport.ImplementationMethodExecutionInterceptor
Constructor and Description |
---|
ReactiveCouchbaseRepositoryFactory(ReactiveRepositoryOperationsMapping couchbaseOperationsMapping,
IndexManager indexManager)
Create a new factory.
|
Modifier and Type | Method and Description |
---|---|
<T,ID> CouchbaseEntityInformation<T,ID> |
getEntityInformation(Class<T> domainClass)
Returns entity information based on the domain class.
|
protected Class<? extends ReactiveN1qlCouchbaseRepository> |
getN1qlBaseClass(RepositoryMetadata repositoryMetadata) |
protected Optional<QueryLookupStrategy> |
getQueryLookupStrategy(QueryLookupStrategy.Key key,
QueryMethodEvaluationContextProvider contextProvider) |
protected Class<?> |
getRepositoryBaseClass(RepositoryMetadata repositoryMetadata)
Returns the base class for the repository being constructed.
|
protected Class<? extends SimpleReactiveCouchbaseRepository> |
getSimpleBaseClass(RepositoryMetadata repositoryMetadata) |
protected Object |
getTargetRepository(RepositoryInformation metadata)
Returns a new Repository based on the metadata.
|
validate
addQueryCreationListener, addRepositoryProxyPostProcessor, getProjectionFactory, getQueryMethods, getRepository, getRepository, getRepository, getRepositoryFragments, getRepositoryInformation, getRepositoryMetadata, getTargetRepositoryViaReflection, getTargetRepositoryViaReflection, setBeanClassLoader, setBeanFactory, setEvaluationContextProvider, setNamedQueries, setQueryLookupStrategyKey, setRepositoryBaseClass
public ReactiveCouchbaseRepositoryFactory(ReactiveRepositoryOperationsMapping couchbaseOperationsMapping, IndexManager indexManager)
couchbaseOperationsMapping
- the template for the underlying actions.public <T,ID> CouchbaseEntityInformation<T,ID> getEntityInformation(Class<T> domainClass)
getEntityInformation
in class RepositoryFactorySupport
T
- the value typeID
- the id type.domainClass
- the class for the entity.protected final Object getTargetRepository(RepositoryInformation metadata)
SimpleReactiveCouchbaseRepository
and ReactiveN1qlCouchbaseRepository
.
This method performs feature checks to decide which of the two categories can be instantiated (eg. is N1QL available?).
Instantiation is done via reflection, see getRepositoryBaseClass(RepositoryMetadata)
.getTargetRepository
in class RepositoryFactorySupport
metadata
- the repository metadata.protected final Class<?> getRepositoryBaseClass(RepositoryMetadata repositoryMetadata)
SimpleReactiveCouchbaseRepository
and ReactiveN1qlCouchbaseRepository
. This method checks if N1QL
is available to choose between the two, but the actual concrete class is determined respectively by
getSimpleBaseClass(RepositoryMetadata)
and getN1qlBaseClass(RepositoryMetadata)
.
Override these methods if you want to change the base class for all your repositories.getRepositoryBaseClass
in class RepositoryFactorySupport
repositoryMetadata
- metadata for the repository.protected Class<? extends ReactiveN1qlCouchbaseRepository> getN1qlBaseClass(RepositoryMetadata repositoryMetadata)
protected Class<? extends SimpleReactiveCouchbaseRepository> getSimpleBaseClass(RepositoryMetadata repositoryMetadata)
protected Optional<QueryLookupStrategy> getQueryLookupStrategy(QueryLookupStrategy.Key key, QueryMethodEvaluationContextProvider contextProvider)
getQueryLookupStrategy
in class RepositoryFactorySupport
Copyright © 2011–2020 Pivotal Software, Inc.. All rights reserved.