Interface VitamRepository
-
- All Known Implementing Classes:
VitamMongoRepository
public interface VitamRepository
This repository is a specification of vitam data management
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description long
count()
Count occurence of documentslong
count(org.bson.conversions.Bson filter)
Count occurence of documentsvoid
delete(java.util.List<java.lang.String> ids, int tenant)
Deleted all documents by idscom.mongodb.client.FindIterable<org.bson.Document>
findByFieldsDocuments(java.util.Map<java.lang.String,java.lang.String> fields, int mongoBatchSize, java.lang.Integer tenant)
Return iterable over document for the given collection for a specific tenant and fieldsjava.util.Optional<org.bson.Document>
findByIdentifier(java.lang.String identifier)
Find by identifier for collections cross tenantjava.util.Optional<org.bson.Document>
findByIdentifierAndTenant(java.lang.String identifier, java.lang.Integer tenant)
find by identifier for all tenantcom.mongodb.client.FindIterable<org.bson.Document>
findDocuments(int mongoBatchSize)
Return iterable over document for the given collectioncom.mongodb.client.FindIterable<org.bson.Document>
findDocuments(int mongoBatchSize, java.lang.Integer tenant)
Return iterable over document for the given collection for a specific tenantcom.mongodb.client.FindIterable<org.bson.Document>
findDocuments(java.util.Collection<java.lang.String> ids, org.bson.conversions.Bson projection)
Find collection of document by there id and return only projection fieldscom.mongodb.client.FindIterable<org.bson.Document>
findDocuments(org.bson.conversions.Bson query, int mongoBatchSize)
Return iterable over document for the given collectionjava.util.Optional<org.bson.Document>
getByID(java.lang.String id, java.lang.Integer tenant)
Get vitam document by idlong
purge()
Be careful when using this method Remove by tenant for collection cross-tenantlong
purge(java.lang.Integer tenant)
Be careful when using this method Remove by tenant for collection multi-tenantvoid
remove(java.lang.String id, java.lang.Integer tenant)
Remove document by idlong
remove(org.bson.conversions.Bson query)
Be careful when using this method Remove by queryvoid
removeByNameAndTenant(java.lang.String name, java.lang.Integer tenant)
Be careful when using this method Remove collection by name and tenantvoid
save(java.util.List<org.bson.Document> documents)
Save a list of vitam documentsvoid
save(org.bson.Document document)
Save vitam documentvoid
saveOrUpdate(java.util.List<org.bson.Document> documents)
Save or update a list of vitam documentsVitamRepositoryStatus
saveOrUpdate(org.bson.Document document)
Save or updatevitam documentvoid
update(java.util.List<com.mongodb.client.model.WriteModel<org.bson.Document>> updates)
Used to execute a bulk update If document exists then update If document do not exists then create document throw Duplicate key exception if document exists by _id but not exists by filter in the update one model
-
-
-
Method Detail
-
save
void save(org.bson.Document document) throws DatabaseException
Save vitam document- Parameters:
document
- the document to be saved- Throws:
DatabaseException
- in case error with database occurs
-
saveOrUpdate
VitamRepositoryStatus saveOrUpdate(org.bson.Document document) throws DatabaseException
Save or updatevitam document- Parameters:
document
- the document to be saved- Returns:
- status CREATED or UPDATED
- Throws:
DatabaseException
- in case error with database occurs
-
save
void save(java.util.List<org.bson.Document> documents) throws DatabaseException
Save a list of vitam documents- Parameters:
documents
- the list of documents to be saved- Throws:
DatabaseException
- in case error with database occurs
-
saveOrUpdate
void saveOrUpdate(java.util.List<org.bson.Document> documents) throws DatabaseException
Save or update a list of vitam documents- Parameters:
documents
- the list of document to be saved orupdated- Throws:
DatabaseException
- in case error with database occurs
-
update
void update(java.util.List<com.mongodb.client.model.WriteModel<org.bson.Document>> updates) throws DatabaseException
Used to execute a bulk update If document exists then update If document do not exists then create document throw Duplicate key exception if document exists by _id but not exists by filter in the update one model- Parameters:
updates
-- Throws:
DatabaseException
-
remove
void remove(java.lang.String id, java.lang.Integer tenant) throws DatabaseException
Remove document by id- Parameters:
id
- the id of the document to be removedtenant
- the tenant of the document to be removed- Throws:
DatabaseException
- in case error with database occurs
-
remove
long remove(org.bson.conversions.Bson query) throws DatabaseException
Be careful when using this method Remove by query- Parameters:
query
-- Throws:
DatabaseException
-
removeByNameAndTenant
void removeByNameAndTenant(java.lang.String name, java.lang.Integer tenant) throws DatabaseException
Be careful when using this method Remove collection by name and tenant- Parameters:
name
- the name of the collection to be removedtenant
- the tenant of the collection to be removed- Throws:
DatabaseException
- in case error with database occurs
-
purge
long purge(java.lang.Integer tenant) throws DatabaseException
Be careful when using this method Remove by tenant for collection multi-tenant- Parameters:
tenant
- the tenant- Returns:
- the number of deleted documents
- Throws:
DatabaseException
- in case error with database occurs
-
purge
long purge() throws DatabaseException
Be careful when using this method Remove by tenant for collection cross-tenant- Returns:
- number of purged documents
- Throws:
DatabaseException
- in case error with database occurs
-
getByID
java.util.Optional<org.bson.Document> getByID(java.lang.String id, java.lang.Integer tenant) throws DatabaseException
Get vitam document by id- Parameters:
id
- the document idtenant
- the tenant of the document- Returns:
- the document if found
- Throws:
DatabaseException
- in case error with database occurs
-
findByIdentifierAndTenant
java.util.Optional<org.bson.Document> findByIdentifierAndTenant(java.lang.String identifier, java.lang.Integer tenant) throws DatabaseException
find by identifier for all tenant- Parameters:
identifier
- the identifier of the documenttenant
- the tenant of the document- Returns:
- the document if found
- Throws:
DatabaseException
- in case error with database occurs
-
findByIdentifier
java.util.Optional<org.bson.Document> findByIdentifier(java.lang.String identifier) throws DatabaseException
Find by identifier for collections cross tenant- Parameters:
identifier
- the identifier of the document- Returns:
- the document if found
- Throws:
DatabaseException
- in case error with database occurs
-
findDocuments
com.mongodb.client.FindIterable<org.bson.Document> findDocuments(java.util.Collection<java.lang.String> ids, org.bson.conversions.Bson projection)
Find collection of document by there id and return only projection fields- Parameters:
ids
- list of documents idprojection
- the fields wanted in the result- Returns:
- An iterable of documents
-
findDocuments
com.mongodb.client.FindIterable<org.bson.Document> findDocuments(int mongoBatchSize, java.lang.Integer tenant)
Return iterable over document for the given collection for a specific tenant- Parameters:
mongoBatchSize
- mongoBatchSizetenant
- tenant id- Returns:
- iterable over document for the given collection
-
findByFieldsDocuments
com.mongodb.client.FindIterable<org.bson.Document> findByFieldsDocuments(java.util.Map<java.lang.String,java.lang.String> fields, int mongoBatchSize, java.lang.Integer tenant)
Return iterable over document for the given collection for a specific tenant and fields- Parameters:
fields
- list of fields for filtermongoBatchSize
- mongoBatchSizetenant
- tenant id- Returns:
- iterable over document for the given collection
-
findDocuments
com.mongodb.client.FindIterable<org.bson.Document> findDocuments(int mongoBatchSize)
Return iterable over document for the given collection- Parameters:
mongoBatchSize
- mongoBatchSize- Returns:
- iterable over document for the given collection
-
count
long count()
Count occurence of documents- Returns:
- the number of documents
-
count
long count(org.bson.conversions.Bson filter)
Count occurence of documents- Parameters:
filter
- filtre- Returns:
- the number of documents
-
findDocuments
com.mongodb.client.FindIterable<org.bson.Document> findDocuments(org.bson.conversions.Bson query, int mongoBatchSize)
Return iterable over document for the given collection- Parameters:
query
- the mongo query to be executedmongoBatchSize
- mongoBatchSize- Returns:
- iterable over document for the given collection
-
delete
void delete(java.util.List<java.lang.String> ids, int tenant) throws DatabaseException
Deleted all documents by ids- Parameters:
ids
-tenant
-- Throws:
DatabaseException
-
-