public class MongoDBQueryModelDAO<T,ID> extends Object implements QueryModelDAO<T,ID>, AccessControlDAO<T,ID>
| Key | Required? | Description |
| db | Yes | Instance of a configured com.mongodb.DB |
| collection | No | Name of the backing collection for this object. Defaults to the name of the entity class. |
| viewOf | No | Name of the a class of which this DAO's entity class is a view. |
| uniqueIndexes | No | List |
| nonUniqueIndexes | No | List |
| optimisticLockEnabled | No | Boolean to indicate if instances of the tracked type should be protected by a Jeppetto-managed lock version field. |
| shardKeyPattern | No | A comma-separated string of fields that are used to determine the shard key(s) for the collection. |
| saveNulls | No | Boolean to indicate whether null fields should be included in MongoDB documents. |
| writeConcern | No | String, one of the values as indicated at http://www.mongodb.org/display/DOCS/Replica+Set+Semantics. If not specified, the DAO defaults to "SAFE". |
| showQueries | No | Boolean to indicate if executed queries should be logged. Note that logging will need to be enabled for the DAO's package as well. |
| Modifier | Constructor and Description |
|---|---|
protected |
MongoDBQueryModelDAO(Class<T> entityClass,
Map<String,Object> daoProperties) |
protected |
MongoDBQueryModelDAO(Class<T> entityClass,
Map<String,Object> daoProperties,
AccessControlContextProvider accessControlContextProvider) |
| Modifier and Type | Method and Description |
|---|---|
protected com.mongodb.DBObject |
augmentObjectCacheKey(com.mongodb.DBObject key)
This method allows subclasses an opportunity to add any important data to a cache key, such
as the __acl from the AccessControlMongoDAO.
|
Condition |
buildCondition(String conditionField,
ConditionType conditionType,
Iterator argsIterator) |
protected com.mongodb.DBObject |
buildIdentifyingQuery(com.mongodb.DBObject dbo) |
protected com.mongodb.DBObject |
buildIdentifyingQuery(ID... ids) |
Projection |
buildProjection(String projectionField,
ProjectionType projectionType,
Iterator argsIterator) |
protected com.mongodb.DBObject[] |
createIdentifyingQueries(com.mongodb.DBObject dbo) |
void |
delete(T entity) |
void |
deleteById(ID id) |
protected void |
deleteByIdentifyingQuery(com.mongodb.DBObject identifyingQuery) |
void |
deleteByIds(ID... ids) |
void |
deleteUsingQueryModel(QueryModel queryModel) |
Iterable<T> |
findAll() |
T |
findById(ID id) |
Iterable<T> |
findByIds(ID... ids) |
T |
findUniqueUsingQueryModel(QueryModel queryModel) |
Iterable<T> |
findUsingQueryModel(QueryModel queryModel) |
void |
flush() |
AccessControlContextProvider |
getAccessControlContextProvider() |
protected Class<T> |
getCollectionClass() |
protected com.mongodb.DBCollection |
getDbCollection() |
Map<String,AccessType> |
getGrantedAccesses(ID id) |
Map<String,AccessType> |
getGrantedAccesses(ID id,
AccessControlContext accessControlContext) |
<U extends T> |
getUpdateObject() |
void |
grantAccess(ID id,
String accessId,
AccessType accessType) |
void |
grantAccess(ID id,
String accessId,
AccessType accessType,
AccessControlContext accessControlContext) |
Object |
projectUsingQueryModel(QueryModel queryModel) |
void |
revokeAccess(ID id,
String accessId) |
void |
revokeAccess(ID id,
String accessId,
AccessControlContext accessControlContext) |
void |
save(T entity) |
void |
save(T object,
AccessControlContext accessControlContext) |
protected void |
trueRemove(com.mongodb.DBObject identifyingQuery) |
protected void |
trueSave(com.mongodb.DBObject identifyingQuery,
DirtyableDBObject dbo) |
<U extends T> |
updateById(U updateObject,
ID id) |
<U extends T> |
updateByIds(U updateObject,
ID... ids) |
<U extends T> |
updateUniqueUsingQueryModel(U updateObject,
QueryModel queryModel) |
<U extends T> |
updateUsingQueryModel(U updateObject,
QueryModel queryModel) |
protected MongoDBQueryModelDAO(Class<T> entityClass, Map<String,Object> daoProperties)
public T findById(ID id) throws NoSuchItemException, JeppettoException
findById in interface GenericDAO<T,ID>NoSuchItemExceptionJeppettoExceptionpublic Iterable<T> findByIds(ID... ids) throws JeppettoException
findByIds in interface GenericDAO<T,ID>JeppettoExceptionpublic Iterable<T> findAll() throws JeppettoException
findAll in interface GenericDAO<T,ID>JeppettoExceptionpublic void save(T entity) throws OptimisticLockException, JeppettoException
save in interface GenericDAO<T,ID>OptimisticLockExceptionJeppettoExceptionpublic void delete(T entity) throws JeppettoException
delete in interface GenericDAO<T,ID>JeppettoExceptionpublic void deleteById(ID id) throws JeppettoException
deleteById in interface GenericDAO<T,ID>JeppettoExceptionpublic void deleteByIds(ID... ids) throws FailedBatchException, JeppettoException
deleteByIds in interface GenericDAO<T,ID>FailedBatchExceptionJeppettoExceptionpublic <U extends T> U getUpdateObject()
getUpdateObject in interface GenericDAO<T,ID>public <U extends T> T updateById(U updateObject, ID id) throws JeppettoException
updateById in interface GenericDAO<T,ID>JeppettoExceptionpublic <U extends T> Iterable<T> updateByIds(U updateObject, ID... ids) throws FailedBatchException, JeppettoException
updateByIds in interface GenericDAO<T,ID>FailedBatchExceptionJeppettoExceptionpublic void flush()
throws JeppettoException
flush in interface GenericDAO<T,ID>JeppettoExceptionpublic T findUniqueUsingQueryModel(QueryModel queryModel) throws NoSuchItemException, TooManyItemsException, JeppettoException
findUniqueUsingQueryModel in interface QueryModelDAO<T,ID>NoSuchItemExceptionTooManyItemsExceptionJeppettoExceptionpublic Iterable<T> findUsingQueryModel(QueryModel queryModel) throws JeppettoException
findUsingQueryModel in interface QueryModelDAO<T,ID>JeppettoExceptionpublic Object projectUsingQueryModel(QueryModel queryModel) throws JeppettoException
projectUsingQueryModel in interface QueryModelDAO<T,ID>JeppettoExceptionpublic void deleteUsingQueryModel(QueryModel queryModel) throws JeppettoException
deleteUsingQueryModel in interface QueryModelDAO<T,ID>JeppettoExceptionpublic <U extends T> T updateUniqueUsingQueryModel(U updateObject, QueryModel queryModel) throws JeppettoException
updateUniqueUsingQueryModel in interface QueryModelDAO<T,ID>JeppettoExceptionpublic <U extends T> Iterable<T> updateUsingQueryModel(U updateObject, QueryModel queryModel) throws JeppettoException
updateUsingQueryModel in interface QueryModelDAO<T,ID>JeppettoExceptionpublic Condition buildCondition(String conditionField, ConditionType conditionType, Iterator argsIterator)
buildCondition in interface QueryModelDAO<T,ID>public Projection buildProjection(String projectionField, ProjectionType projectionType, Iterator argsIterator)
buildProjection in interface QueryModelDAO<T,ID>public void save(T object, AccessControlContext accessControlContext) throws OptimisticLockException, AccessControlException, JeppettoException
save in interface AccessControlDAO<T,ID>OptimisticLockExceptionAccessControlExceptionJeppettoExceptionpublic void grantAccess(ID id, String accessId, AccessType accessType) throws NoSuchItemException, AccessControlException
grantAccess in interface AccessControlDAO<T,ID>NoSuchItemExceptionAccessControlExceptionpublic void grantAccess(ID id, String accessId, AccessType accessType, AccessControlContext accessControlContext) throws NoSuchItemException, AccessControlException
grantAccess in interface AccessControlDAO<T,ID>NoSuchItemExceptionAccessControlExceptionpublic void revokeAccess(ID id, String accessId) throws NoSuchItemException, AccessControlException
revokeAccess in interface AccessControlDAO<T,ID>NoSuchItemExceptionAccessControlExceptionpublic void revokeAccess(ID id, String accessId, AccessControlContext accessControlContext) throws NoSuchItemException, AccessControlException
revokeAccess in interface AccessControlDAO<T,ID>NoSuchItemExceptionAccessControlExceptionpublic Map<String,AccessType> getGrantedAccesses(ID id) throws NoSuchItemException, AccessControlException
getGrantedAccesses in interface AccessControlDAO<T,ID>NoSuchItemExceptionAccessControlExceptionpublic Map<String,AccessType> getGrantedAccesses(ID id, AccessControlContext accessControlContext) throws NoSuchItemException, AccessControlException
getGrantedAccesses in interface AccessControlDAO<T,ID>NoSuchItemExceptionAccessControlExceptionpublic AccessControlContextProvider getAccessControlContextProvider()
getAccessControlContextProvider in interface AccessControlDAO<T,ID>protected com.mongodb.DBObject augmentObjectCacheKey(com.mongodb.DBObject key)
key - key to augmentprotected com.mongodb.DBObject[] createIdentifyingQueries(com.mongodb.DBObject dbo)
protected final com.mongodb.DBObject buildIdentifyingQuery(com.mongodb.DBObject dbo)
protected final com.mongodb.DBObject buildIdentifyingQuery(ID... ids)
protected final void deleteByIdentifyingQuery(com.mongodb.DBObject identifyingQuery)
protected final void trueSave(com.mongodb.DBObject identifyingQuery,
DirtyableDBObject dbo)
protected final void trueRemove(com.mongodb.DBObject identifyingQuery)
protected final com.mongodb.DBCollection getDbCollection()
Copyright © 2014. All Rights Reserved.