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 documents
      long count​(org.bson.conversions.Bson filter)
      Count occurence of documents
      void delete​(java.util.List<java.lang.String> ids, int tenant)
      Deleted all documents by ids
      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
      java.util.Optional<org.bson.Document> findByIdentifier​(java.lang.String identifier)
      Find by identifier for collections cross tenant
      java.util.Optional<org.bson.Document> findByIdentifierAndTenant​(java.lang.String identifier, java.lang.Integer tenant)
      find by identifier for all tenant
      com.mongodb.client.FindIterable<org.bson.Document> findDocuments​(int mongoBatchSize)
      Return iterable over document for the given collection
      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
      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
      com.mongodb.client.FindIterable<org.bson.Document> findDocuments​(org.bson.conversions.Bson query, int mongoBatchSize)
      Return iterable over document for the given collection
      java.util.Optional<org.bson.Document> getByID​(java.lang.String id, java.lang.Integer tenant)
      Get vitam document by id
      long purge()
      Be careful when using this method Remove by tenant for collection cross-tenant
      long purge​(java.lang.Integer tenant)
      Be careful when using this method Remove by tenant for collection multi-tenant
      void remove​(java.lang.String id, java.lang.Integer tenant)
      Remove document by id
      long remove​(org.bson.conversions.Bson query)
      Be careful when using this method Remove by query
      void removeByNameAndTenant​(java.lang.String name, java.lang.Integer tenant)
      Be careful when using this method Remove collection by name and tenant
      void save​(java.util.List<org.bson.Document> documents)
      Save a list of vitam documents
      void save​(org.bson.Document document)
      Save vitam document
      void saveOrUpdate​(java.util.List<org.bson.Document> documents)
      Save or update a list of vitam documents
      VitamRepositoryStatus saveOrUpdate​(org.bson.Document document)
      Save or updatevitam document
      void 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 removed
        tenant - 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 removed
        tenant - 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 id
        tenant - 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 document
        tenant - 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 id
        projection - 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 - mongoBatchSize
        tenant - 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 filter
        mongoBatchSize - mongoBatchSize
        tenant - 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 executed
        mongoBatchSize - 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