public class CouchbaseTemplate extends Object implements CouchbaseOperations, ApplicationEventPublisherAware
Modifier and Type | Field and Description |
---|---|
protected MappingContext<? extends CouchbasePersistentEntity<?>,CouchbasePersistentProperty> |
mappingContext |
Constructor and Description |
---|
CouchbaseTemplate(com.couchbase.client.CouchbaseClient client) |
CouchbaseTemplate(com.couchbase.client.CouchbaseClient client,
CouchbaseConverter couchbaseConverter,
TranslationService translationService) |
CouchbaseTemplate(com.couchbase.client.CouchbaseClient client,
TranslationService translationService) |
Modifier and Type | Method and Description |
---|---|
protected static void |
ensureNotIterable(Object o)
Make sure the given object is not a iterable.
|
<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> |
findByView(String designName,
String viewName,
com.couchbase.client.protocol.views.Query query,
Class<T> entityClass)
Query a View for a list of documents of type T.
|
CouchbaseConverter |
getConverter()
Returns the underlying
CouchbaseConverter . |
com.couchbase.client.CouchbaseClient |
getCouchbaseClient()
Returns the linked
CouchbaseClient to this template. |
void |
insert(Collection<?> batchToInsert)
Insert a list of objects.
|
void |
insert(Collection<?> batchToInsert,
net.spy.memcached.PersistTo persistTo,
net.spy.memcached.ReplicateTo replicateTo)
Insert a list of objects.
|
void |
insert(Object objectToInsert)
Insert the given object.
|
void |
insert(Object objectToInsert,
net.spy.memcached.PersistTo persistTo,
net.spy.memcached.ReplicateTo replicateTo)
Insert the given object.
|
protected <T> void |
maybeEmitEvent(CouchbaseMappingEvent<T> event)
Helper method to publish an event if the event publisher is set.
|
com.couchbase.client.protocol.views.ViewResponse |
queryView(String designName,
String viewName,
com.couchbase.client.protocol.views.Query query)
Query a View with direct access to the
ViewResponse . |
void |
remove(Collection<?> batchToRemove)
Remove a list of objects from the bucket by id.
|
void |
remove(Collection<?> batchToRemove,
net.spy.memcached.PersistTo persistTo,
net.spy.memcached.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,
net.spy.memcached.PersistTo persistTo,
net.spy.memcached.ReplicateTo replicateTo)
Remove the given object from the bucket by id.
|
void |
save(Collection<?> batchToSave)
Save a list of objects.
|
void |
save(Collection<?> batchToSave,
net.spy.memcached.PersistTo persistTo,
net.spy.memcached.ReplicateTo replicateTo)
Save a list of objects.
|
void |
save(Object objectToSave)
Save the given object.
|
void |
save(Object objectToSave,
net.spy.memcached.PersistTo persistTo,
net.spy.memcached.ReplicateTo replicateTo)
Save the given object.
|
void |
setApplicationEventPublisher(ApplicationEventPublisher eventPublisher) |
void |
setWriteResultChecking(WriteResultChecking resultChecking) |
void |
update(Collection<?> batchToUpdate)
Insert a list of objects.
|
void |
update(Collection<?> batchToUpdate,
net.spy.memcached.PersistTo persistTo,
net.spy.memcached.ReplicateTo replicateTo)
Insert a list of objects.
|
void |
update(Object objectToUpdate)
Update the given object.
|
void |
update(Object objectToUpdate,
net.spy.memcached.PersistTo persistTo,
net.spy.memcached.ReplicateTo replicateTo)
Update the given object.
|
protected final MappingContext<? extends CouchbasePersistentEntity<?>,CouchbasePersistentProperty> mappingContext
public CouchbaseTemplate(com.couchbase.client.CouchbaseClient client)
public CouchbaseTemplate(com.couchbase.client.CouchbaseClient client, TranslationService translationService)
public CouchbaseTemplate(com.couchbase.client.CouchbaseClient client, CouchbaseConverter couchbaseConverter, TranslationService translationService)
public void setWriteResultChecking(WriteResultChecking resultChecking)
public void setApplicationEventPublisher(ApplicationEventPublisher eventPublisher)
setApplicationEventPublisher
in interface ApplicationEventPublisherAware
public final void insert(Object objectToInsert)
CouchbaseOperations
When the document already exists (specified by its unique id), then it will not be overriden. Use the
CouchbaseOperations.save(java.lang.Object)
method for this task.
insert
in interface CouchbaseOperations
objectToInsert
- the object to add to the bucket.public final void insert(Collection<?> batchToInsert)
CouchbaseOperations
When one of the documents already exists (specified by its unique id), then it will not be overriden. Use the
CouchbaseOperations.save(java.lang.Object)
method for this.
insert
in interface CouchbaseOperations
batchToInsert
- the list of objects to add to the bucket.public void save(Object objectToSave)
CouchbaseOperations
When the document already exists (specified by its unique id), then it will be overriden. Otherwise it will be created.
save
in interface CouchbaseOperations
objectToSave
- the object to store in the bucket.public void save(Collection<?> batchToSave)
CouchbaseOperations
When one of the documents already exists (specified by its unique id), then it will be overriden. Otherwise it will be created.
save
in interface CouchbaseOperations
batchToSave
- the list of objects to store in the bucket.public void update(Object objectToUpdate)
CouchbaseOperations
When the document does not exist (specified by its unique id) it will not be created. Use the
CouchbaseOperations.save(java.lang.Object)
method for this.
update
in interface CouchbaseOperations
objectToUpdate
- the object to add to the bucket.public void update(Collection<?> batchToUpdate)
CouchbaseOperations
If one of the documents does not exist (specified by its unique id), then it will not be created. Use the
CouchbaseOperations.save(java.lang.Object)
method for this.
update
in interface CouchbaseOperations
batchToUpdate
- the list of objects to add to the bucket.public final <T> T findById(String id, Class<T> entityClass)
CouchbaseOperations
findById
in interface CouchbaseOperations
id
- the unique ID of the document.entityClass
- the entity to map to.public <T> List<T> findByView(String designName, String viewName, com.couchbase.client.protocol.views.Query query, Class<T> entityClass)
CouchbaseOperations
There is no need to Query.setIncludeDocs(boolean)
explicitely, because it will be set to true all the
time. It is valid to pass in a empty constructed Query
object.
This method does not work with reduced views, because they by design do not contain references to original
objects. Use the provided CouchbaseOperations.queryView(java.lang.String, java.lang.String, com.couchbase.client.protocol.views.Query)
method for more flexibility and direct access.
findByView
in interface CouchbaseOperations
designName
- the name of the design document.viewName
- the name of the viewName.query
- the Query object to customize the viewName query.entityClass
- the entity to map to.public com.couchbase.client.protocol.views.ViewResponse queryView(String designName, String viewName, com.couchbase.client.protocol.views.Query query)
CouchbaseOperations
ViewResponse
.
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.
queryView
in interface CouchbaseOperations
designName
- the name of the designDocument document.viewName
- the name of the viewName.query
- the Query object to customize the viewName query.public void remove(Object objectToRemove)
CouchbaseOperations
remove
in interface CouchbaseOperations
objectToRemove
- the Object to remove.public void remove(Collection<?> batchToRemove)
CouchbaseOperations
remove
in interface CouchbaseOperations
batchToRemove
- the list of Objects to remove.public <T> T execute(BucketCallback<T> action)
CouchbaseOperations
execute
in interface CouchbaseOperations
T
- the return type.action
- the action to execute in the callback.public boolean exists(String id)
CouchbaseOperations
exists
in interface CouchbaseOperations
id
- the unique ID of the document.protected static void ensureNotIterable(Object o)
o
- the object to verify.public CouchbaseConverter getConverter()
CouchbaseOperations
CouchbaseConverter
.getConverter
in interface CouchbaseOperations
public void save(Object objectToSave, net.spy.memcached.PersistTo persistTo, net.spy.memcached.ReplicateTo replicateTo)
CouchbaseOperations
When the document already exists (specified by its unique id), then it will be overriden. Otherwise it will be created.
save
in interface CouchbaseOperations
objectToSave
- the object to store in the bucket.public void save(Collection<?> batchToSave, net.spy.memcached.PersistTo persistTo, net.spy.memcached.ReplicateTo replicateTo)
CouchbaseOperations
When one of the documents already exists (specified by its unique id), then it will be overriden. Otherwise it will be created.
save
in interface CouchbaseOperations
batchToSave
- the list of objects to store in the bucket.persistTo
- the persistence constraint setting.replicateTo
- the replication constraint setting.public void insert(Object objectToInsert, net.spy.memcached.PersistTo persistTo, net.spy.memcached.ReplicateTo replicateTo)
CouchbaseOperations
When the document already exists (specified by its unique id), then it will not be overriden. Use the
CouchbaseOperations.save(java.lang.Object)
method for this task.
insert
in interface CouchbaseOperations
objectToInsert
- the object to add to the bucket.persistTo
- the persistence constraint setting.replicateTo
- the replication constraint setting.public void insert(Collection<?> batchToInsert, net.spy.memcached.PersistTo persistTo, net.spy.memcached.ReplicateTo replicateTo)
CouchbaseOperations
When one of the documents already exists (specified by its unique id), then it will not be overriden. Use the
CouchbaseOperations.save(java.lang.Object)
method for this.
insert
in interface CouchbaseOperations
batchToInsert
- the list of objects to add to the bucket.persistTo
- the persistence constraint setting.replicateTo
- the replication constraint setting.public void update(Object objectToUpdate, net.spy.memcached.PersistTo persistTo, net.spy.memcached.ReplicateTo replicateTo)
CouchbaseOperations
When the document does not exist (specified by its unique id) it will not be created. Use the
CouchbaseOperations.save(java.lang.Object)
method for this.
update
in interface CouchbaseOperations
objectToUpdate
- the object to add to the bucket.persistTo
- the persistence constraint setting.replicateTo
- the replication constraint setting.public void update(Collection<?> batchToUpdate, net.spy.memcached.PersistTo persistTo, net.spy.memcached.ReplicateTo replicateTo)
CouchbaseOperations
If one of the documents does not exist (specified by its unique id), then it will not be created. Use the
CouchbaseOperations.save(java.lang.Object)
method for this.
update
in interface CouchbaseOperations
batchToUpdate
- the list of objects to add to the bucket.persistTo
- the persistence constraint setting.replicateTo
- the replication constraint setting.public void remove(Object objectToRemove, net.spy.memcached.PersistTo persistTo, net.spy.memcached.ReplicateTo replicateTo)
CouchbaseOperations
remove
in interface CouchbaseOperations
objectToRemove
- the Object to remove.persistTo
- the persistence constraint setting.replicateTo
- the replication constraint setting.public void remove(Collection<?> batchToRemove, net.spy.memcached.PersistTo persistTo, net.spy.memcached.ReplicateTo replicateTo)
CouchbaseOperations
remove
in interface CouchbaseOperations
batchToRemove
- the list of Objects to remove.persistTo
- the persistence constraint setting.replicateTo
- the replication constraint setting.protected <T> void maybeEmitEvent(CouchbaseMappingEvent<T> event)
T
- the enclosed type.event
- the event to emit.public com.couchbase.client.CouchbaseClient getCouchbaseClient()
CouchbaseOperations
CouchbaseClient
to this template.getCouchbaseClient
in interface CouchbaseOperations
Copyright © 2011-2014–2015 Pivotal Software, Inc.. All rights reserved.