public interface CouchbaseOperations
CouchbaseTemplate
.Modifier and Type | Field and Description |
---|---|
static String |
SELECT_CAS |
static String |
SELECT_ID |
Modifier and Type | Method and Description |
---|---|
<T> T |
execute(BucketCallback<T> action)
Executes a BucketCallback translating any exceptions as necessary.
|
boolean |
exists(String id)
Checks if the given document exists.
|
<T> T |
findById(String id,
Class<T> entityClass)
Find an object by its given Id and map it to the corresponding entity.
|
<T> List<T> |
findByN1QL(com.couchbase.client.java.query.N1qlQuery n1ql,
Class<T> entityClass)
Query the N1QL Service for JSON data of type T.
|
<T> List<T> |
findByN1QLProjection(com.couchbase.client.java.query.N1qlQuery n1ql,
Class<T> fragmentClass)
Query the N1QL Service for partial JSON data of type T.
|
<T> List<T> |
findBySpatialView(com.couchbase.client.java.view.SpatialViewQuery query,
Class<T> entityClass)
Query a Spatial View for a list of documents of type T.
|
<T> List<T> |
findByView(com.couchbase.client.java.view.ViewQuery query,
Class<T> entityClass)
Query a View for a list of documents of type T.
|
CouchbaseConverter |
getConverter()
Returns the underlying
CouchbaseConverter . |
com.couchbase.client.java.Bucket |
getCouchbaseBucket()
Returns the linked
Bucket to this template. |
com.couchbase.client.java.cluster.ClusterInfo |
getCouchbaseClusterInfo()
Returns the
ClusterInfo about the cluster linked to this template. |
Consistency |
getDefaultConsistency()
Returns the
consistency parameter to be used by default for generated queries (views and N1QL)
in repositories. |
String |
getGeneratedId(Object entity)
Get generated id - applies both using prefix and suffix through entity as well as template
KeySettings
** NOTE: UNIQUE strategy will generate different ids each time *** |
void |
insert(Collection<?> batchToInsert)
Insert a list of objects.
|
void |
insert(Collection<?> batchToInsert,
com.couchbase.client.java.PersistTo persistTo,
com.couchbase.client.java.ReplicateTo replicateTo)
Insert a list of objects.
|
void |
insert(Object objectToInsert)
Insert the given object.
|
void |
insert(Object objectToInsert,
com.couchbase.client.java.PersistTo persistTo,
com.couchbase.client.java.ReplicateTo replicateTo)
Insert the given object.
|
KeySettings |
keySettings()
Get key settings associated with the template
|
void |
keySettings(KeySettings settings)
Add common key settings
Throws
UnsupportedOperationException if KeySettings is already set. |
com.couchbase.client.java.query.N1qlQueryResult |
queryN1QL(com.couchbase.client.java.query.N1qlQuery n1ql)
Query the N1QL Service with direct access to the
N1qlQueryResult . |
com.couchbase.client.java.view.SpatialViewResult |
querySpatialView(com.couchbase.client.java.view.SpatialViewQuery query)
Query a Spatial View with direct access to the
SpatialViewResult . |
com.couchbase.client.java.view.ViewResult |
queryView(com.couchbase.client.java.view.ViewQuery query)
Query a View with direct access to the
ViewResult . |
void |
remove(Collection<?> batchToRemove)
Remove a list of objects from the bucket by id.
|
void |
remove(Collection<?> batchToRemove,
com.couchbase.client.java.PersistTo persistTo,
com.couchbase.client.java.ReplicateTo replicateTo)
Remove a list of objects from the bucket by id.
|
void |
remove(Object objectToRemove)
Remove the given object from the bucket by id.
|
void |
remove(Object objectToRemove,
com.couchbase.client.java.PersistTo persistTo,
com.couchbase.client.java.ReplicateTo replicateTo)
Remove the given object from the bucket by id.
|
void |
save(Collection<?> batchToSave)
Save a list of objects.
|
void |
save(Collection<?> batchToSave,
com.couchbase.client.java.PersistTo persistTo,
com.couchbase.client.java.ReplicateTo replicateTo)
Save a list of objects.
|
void |
save(Object objectToSave)
Save the given object.
|
void |
save(Object objectToSave,
com.couchbase.client.java.PersistTo persistTo,
com.couchbase.client.java.ReplicateTo replicateTo)
Save the given object.
|
void |
update(Collection<?> batchToUpdate)
Insert a list of objects.
|
void |
update(Collection<?> batchToUpdate,
com.couchbase.client.java.PersistTo persistTo,
com.couchbase.client.java.ReplicateTo replicateTo)
Insert a list of objects.
|
void |
update(Object objectToUpdate)
Update the given object.
|
void |
update(Object objectToUpdate,
com.couchbase.client.java.PersistTo persistTo,
com.couchbase.client.java.ReplicateTo replicateTo)
Update the given object.
|
static final String SELECT_ID
static final String SELECT_CAS
void save(Object objectToSave)
When the document already exists (specified by its unique id), then it will be overriden. Otherwise it will be created.
objectToSave
- the object to store in the bucket.void save(Object objectToSave, com.couchbase.client.java.PersistTo persistTo, com.couchbase.client.java.ReplicateTo replicateTo)
When the document already exists (specified by its unique id), then it will be overriden. Otherwise it will be created.
objectToSave
- the object to store in the bucket.void save(Collection<?> batchToSave)
When one of the documents already exists (specified by its unique id), then it will be overriden. Otherwise it will be created.
batchToSave
- the list of objects to store in the bucket.void save(Collection<?> batchToSave, com.couchbase.client.java.PersistTo persistTo, com.couchbase.client.java.ReplicateTo replicateTo)
When one of the documents already exists (specified by its unique id), then it will be overriden. Otherwise it will be created.
batchToSave
- the list of objects to store in the bucket.persistTo
- the persistence constraint setting.replicateTo
- the replication constraint setting.void insert(Object objectToInsert)
When the document already exists (specified by its unique id), then it will not be overriden. Use the
save(java.lang.Object)
method for this task.
objectToInsert
- the object to add to the bucket.void insert(Object objectToInsert, com.couchbase.client.java.PersistTo persistTo, com.couchbase.client.java.ReplicateTo replicateTo)
When the document already exists (specified by its unique id), then it will not be overriden. Use the
save(java.lang.Object)
method for this task.
objectToInsert
- the object to add to the bucket.persistTo
- the persistence constraint setting.replicateTo
- the replication constraint setting.void insert(Collection<?> batchToInsert)
When one of the documents already exists (specified by its unique id), then it will not be overriden. Use the
save(java.lang.Object)
method for this.
batchToInsert
- the list of objects to add to the bucket.void insert(Collection<?> batchToInsert, com.couchbase.client.java.PersistTo persistTo, com.couchbase.client.java.ReplicateTo replicateTo)
When one of the documents already exists (specified by its unique id), then it will not be overriden. Use the
save(java.lang.Object)
method for this.
batchToInsert
- the list of objects to add to the bucket.persistTo
- the persistence constraint setting.replicateTo
- the replication constraint setting.void update(Object objectToUpdate)
When the document does not exist (specified by its unique id) it will not be created. Use the
save(java.lang.Object)
method for this.
objectToUpdate
- the object to add to the bucket.void update(Object objectToUpdate, com.couchbase.client.java.PersistTo persistTo, com.couchbase.client.java.ReplicateTo replicateTo)
When the document does not exist (specified by its unique id) it will not be created. Use the
save(java.lang.Object)
method for this.
objectToUpdate
- the object to add to the bucket.persistTo
- the persistence constraint setting.replicateTo
- the replication constraint setting.void update(Collection<?> batchToUpdate)
If one of the documents does not exist (specified by its unique id), then it will not be created. Use the
save(java.lang.Object)
method for this.
batchToUpdate
- the list of objects to add to the bucket.void update(Collection<?> batchToUpdate, com.couchbase.client.java.PersistTo persistTo, com.couchbase.client.java.ReplicateTo replicateTo)
If one of the documents does not exist (specified by its unique id), then it will not be created. Use the
save(java.lang.Object)
method for this.
batchToUpdate
- the list of objects to add to the bucket.persistTo
- the persistence constraint setting.replicateTo
- the replication constraint setting.<T> T findById(String id, Class<T> entityClass)
id
- the unique ID of the document.entityClass
- the entity to map to.<T> List<T> findByView(com.couchbase.client.java.view.ViewQuery query, Class<T> entityClass)
There is no need to set includeDocs
explicitly, since this method will
manage the retrieval of documents internally. It is valid to pass in a empty constructed ViewQuery
object.
Weak consistency in the query (stale(Stale.TRUE)
) can lead to some documents being unreachable due
to their deletion not having been indexed. These deleted null documents are eliminated from the result of this
method.
This method does not work with reduced views, because they by design do not contain references to original
objects. Use the provided queryView(com.couchbase.client.java.view.ViewQuery)
method for more flexibility and direct access.
query
- the Query object (also specifying view design document and view name).entityClass
- the entity to map to.com.couchbase.client.java.view.ViewResult queryView(com.couchbase.client.java.view.ViewQuery query)
ViewResult
.
This method is available to ease the working with views by still wrapping exceptions into the Spring infrastructure.
It is especially needed if you want to run reduced viewName queries, because they can't be mapped onto entities directly.
query
- the Query object (also specifying view design document and view name).<T> List<T> findBySpatialView(com.couchbase.client.java.view.SpatialViewQuery query, Class<T> entityClass)
There is no need to set includeDocs
explicitly, since this method
will manage the retrieval of documents internally. It is valid to pass in a empty constructed SpatialViewQuery
object.
Weak consistency in the query (stale(Stale.TRUE)
) can lead to some documents being unreachable due
to their deletion not having been indexed. These deleted null documents are eliminated from the result of this
method.
query
- the SpatialViewQuery object (also specifying view design document and view name).entityClass
- the entity to map to.com.couchbase.client.java.view.SpatialViewResult querySpatialView(com.couchbase.client.java.view.SpatialViewQuery query)
SpatialViewResult
.
This method is available to ease the working with spatial views by still wrapping exceptions into the Spring infrastructure.
query
- the SpatialViewQuery object (also specifying view design document and view name).<T> List<T> findByN1QL(com.couchbase.client.java.query.N1qlQuery n1ql, Class<T> entityClass)
META(bucket).id AS
"_ID"" and
"META(bucket).cas AS
"_CAS"").
This is done via a N1qlQuery
that contains a Statement
and possibly
additional query parameters (N1qlParams
) and placeholder values if the
statement contains placeholders.
Use N1qlQuery
's factory methods to construct such a Query.
Weak consistency in the query (eg. ScanConsistency.NOT_BOUND
) can lead to some documents being
unreachable due to their deletion not having been indexed. These deleted null documents are eliminated from the
result of this method.
T
- the entity classn1ql
- the N1QL query.entityClass
- the target class for the returned entities.CouchbaseQueryExecutionException
- if the id and cas are not selected.<T> List<T> findByN1QLProjection(com.couchbase.client.java.query.N1qlQuery n1ql, Class<T> fragmentClass)
straightforward decoding
(no document, metadata like id nor cas) to map to a "fragment class".
This is done via a N1qlQuery
that contains a Statement
and possibly
additional query parameters (N1qlParams
) and placeholder values if the
statement contains placeholders.
Use N1qlQuery
's factory methods to construct such a Query.
Weak consistency in the query (eg. ScanConsistency.NOT_BOUND
) can lead to some documents being
unreachable due to their deletion not having been indexed. These deleted null documents are eliminated from the
result of this method.
T
- the fragment classn1ql
- the N1QL query.fragmentClass
- the target class for the returned fragments.com.couchbase.client.java.query.N1qlQueryResult queryN1QL(com.couchbase.client.java.query.N1qlQuery n1ql)
N1qlQueryResult
.
This is done via a N1qlQuery
that can
contain a Statement
, additional query parameters (N1qlParams
)
and placeholder values if the statement contains placeholders.
Use N1qlQuery
's factory methods to construct this.
n1ql
- the N1QL query.N1qlQueryResult
containing the results of the n1ql query.boolean exists(String id)
id
- the unique ID of the document.void remove(Object objectToRemove)
objectToRemove
- the Object to remove.void remove(Object objectToRemove, com.couchbase.client.java.PersistTo persistTo, com.couchbase.client.java.ReplicateTo replicateTo)
objectToRemove
- the Object to remove.persistTo
- the persistence constraint setting.replicateTo
- the replication constraint setting.void remove(Collection<?> batchToRemove)
batchToRemove
- the list of Objects to remove.void remove(Collection<?> batchToRemove, com.couchbase.client.java.PersistTo persistTo, com.couchbase.client.java.ReplicateTo replicateTo)
batchToRemove
- the list of Objects to remove.persistTo
- the persistence constraint setting.replicateTo
- the replication constraint setting.<T> T execute(BucketCallback<T> action)
T
- the return type.action
- the action to execute in the callback.com.couchbase.client.java.Bucket getCouchbaseBucket()
Bucket
to this template.com.couchbase.client.java.cluster.ClusterInfo getCouchbaseClusterInfo()
ClusterInfo
about the cluster linked to this template.CouchbaseConverter getConverter()
CouchbaseConverter
.Consistency getDefaultConsistency()
consistency
parameter to be used by default for generated queries (views and N1QL)
in repositories. Defaults to Consistency.DEFAULT_CONSISTENCY
.void keySettings(KeySettings settings)
UnsupportedOperationException
if KeySettings is already set. It becomes immutable.settings
- KeySettings
KeySettings keySettings()
KeySettings
String getGeneratedId(Object entity)
KeySettings
** NOTE: UNIQUE strategy will generate different ids each time ***entity
- the entity object.Copyright © 2011–2017 Pivotal Software, Inc.. All rights reserved.