public class IndexManager extends Object
IndexManager
is responsible for automatic index creation according to the provided metadata and
various index annotations (if not null).
Index creation will be attempted in parallel using the asynchronous APIs, but the overall process is still blocking.Constructor and Description |
---|
IndexManager()
Construct a default IndexManager that process all three types of automatic index creations.
|
IndexManager(boolean processViews,
boolean processN1qlPrimary,
boolean processN1qlSecondary)
Construct an IndexManager that can be used as a Bean in a
@Profile annotated configuration
in order to activate only all or part of automatic index creations in some contexts (like activating it in Dev but
not in Prod). |
Modifier and Type | Method and Description |
---|---|
void |
buildIndexes(RepositoryInformation metadata,
ViewIndexed viewIndexed,
N1qlPrimaryIndexed n1qlPrimaryIndexed,
N1qlSecondaryIndexed n1qlSecondaryIndexed,
CouchbaseOperations couchbaseOperations)
Build the relevant indexes according to the provided annotation and repository metadata, in parallel but blocking
until all relevant indexes are created.
|
void |
buildIndexes(RepositoryInformation metadata,
ViewIndexed viewIndexed,
N1qlPrimaryIndexed n1qlPrimaryIndexed,
N1qlSecondaryIndexed n1qlSecondaryIndexed,
RxJavaCouchbaseOperations rxjava1CouchbaseOperations)
Build the relevant indexes according to the provided annotation and repository metadata, in parallel but blocking
until all relevant indexes are created.
|
boolean |
isIgnoreN1qlPrimary() |
boolean |
isIgnoreN1qlSecondary() |
boolean |
isIgnoreViews() |
public IndexManager(boolean processViews, boolean processN1qlPrimary, boolean processN1qlSecondary)
@Profile
annotated configuration
in order to activate only all or part of automatic index creations in some contexts (like activating it in Dev but
not in Prod).processViews
- true to process, false to ignore ViewIndexed
annotations.processN1qlPrimary
- true to process, false to ignore N1qlPrimaryIndexed
annotations.processN1qlSecondary
- true to process, false to ignore N1qlSecondaryIndexed
annotations.public IndexManager()
public boolean isIgnoreViews()
ViewIndexed
annotations.public boolean isIgnoreN1qlPrimary()
N1qlPrimaryIndexed
annotations.public boolean isIgnoreN1qlSecondary()
N1qlSecondaryIndexed
annotations.public void buildIndexes(RepositoryInformation metadata, ViewIndexed viewIndexed, N1qlPrimaryIndexed n1qlPrimaryIndexed, N1qlSecondaryIndexed n1qlSecondaryIndexed, CouchbaseOperations couchbaseOperations)
CompositeException
can be raised with up to 3 causes (one per type of index).metadata
- the repository's metadata (allowing to find out the type of entity stored, the key under which type
information is stored, etc...).viewIndexed
- the annotation for creation of a View-based index.n1qlPrimaryIndexed
- the annotation for creation of a N1QL-based primary index (generic).n1qlSecondaryIndexed
- the annotation for creation of a N1QL-based secondary index (specific to the repository
stored entity).couchbaseOperations
- the template to use for index creation.rx.exceptions.CompositeException
- when several errors (for multiple index types) have been raised.public void buildIndexes(RepositoryInformation metadata, ViewIndexed viewIndexed, N1qlPrimaryIndexed n1qlPrimaryIndexed, N1qlSecondaryIndexed n1qlSecondaryIndexed, RxJavaCouchbaseOperations rxjava1CouchbaseOperations)
CompositeException
can be raised with up to 3 causes (one per type of index).metadata
- the repository's metadata (allowing to find out the type of entity stored, the key under which type
information is stored, etc...).viewIndexed
- the annotation for creation of a View-based index.n1qlPrimaryIndexed
- the annotation for creation of a N1QL-based primary index (generic).n1qlSecondaryIndexed
- the annotation for creation of a N1QL-based secondary index (specific to the repository
stored entity).rxjava1CouchbaseOperations
- the template to use for index creation.rx.exceptions.CompositeException
- when several errors (for multiple index types) have been raised.Copyright © 2011–2019 Pivotal Software, Inc.. All rights reserved.