Class MongoRepository

  • All Implemented Interfaces:
    org.javers.repository.api.ConfigurationAware, org.javers.repository.api.JaversRepository

    public class MongoRepository
    extends java.lang.Object
    implements org.javers.repository.api.JaversRepository, org.javers.repository.api.ConfigurationAware
    • Constructor Summary

      Constructors 
      Constructor Description
      MongoRepository​(com.mongodb.client.MongoDatabase mongo)  
      MongoRepository​(com.mongodb.client.MongoDatabase mongo, int cacheSize)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void ensureSchema()  
      org.javers.core.commit.CommitId getHeadId()  
      java.util.Optional<org.javers.core.metamodel.object.CdoSnapshot> getLatest​(org.javers.core.metamodel.object.GlobalId globalId)  
      java.util.List<org.javers.core.metamodel.object.CdoSnapshot> getSnapshots​(java.util.Collection<org.javers.repository.api.SnapshotIdentifier> snapshotIdentifiers)  
      java.util.List<org.javers.core.metamodel.object.CdoSnapshot> getSnapshots​(org.javers.repository.api.QueryParams queryParams)  
      java.util.List<org.javers.core.metamodel.object.CdoSnapshot> getStateHistory​(java.util.Set<org.javers.core.metamodel.type.ManagedType> givenClasses, org.javers.repository.api.QueryParams queryParams)  
      java.util.List<org.javers.core.metamodel.object.CdoSnapshot> getStateHistory​(org.javers.core.metamodel.object.GlobalId globalId, org.javers.repository.api.QueryParams queryParams)  
      java.util.List<org.javers.core.metamodel.object.CdoSnapshot> getValueObjectStateHistory​(org.javers.core.metamodel.type.EntityType ownerEntity, java.lang.String path, org.javers.repository.api.QueryParams queryParams)  
      static MongoRepository mongoRepositoryWithDocumentDBCompatibility​(com.mongodb.client.MongoDatabase mongo)
      MongoRepository compatible with Amazon DocumentDB.
      void persist​(org.javers.core.commit.Commit commit)  
      void setConfiguration​(org.javers.core.JaversCoreConfiguration coreConfiguration)  
      void setJsonConverter​(org.javers.core.json.JsonConverter jsonConverter)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.javers.repository.api.JaversRepository

        getLatest
    • Constructor Detail

      • MongoRepository

        public MongoRepository​(com.mongodb.client.MongoDatabase mongo)
      • MongoRepository

        public MongoRepository​(com.mongodb.client.MongoDatabase mongo,
                               int cacheSize)
        Parameters:
        cacheSize - Size of the latest snapshots cache, default is 5000. Set 0 to disable.
    • Method Detail

      • mongoRepositoryWithDocumentDBCompatibility

        public static MongoRepository mongoRepositoryWithDocumentDBCompatibility​(com.mongodb.client.MongoDatabase mongo)
        MongoRepository compatible with Amazon DocumentDB.
        Compound index on commitProperties isn't created.

        See functional differences.
      • persist

        public void persist​(org.javers.core.commit.Commit commit)
        Specified by:
        persist in interface org.javers.repository.api.JaversRepository
      • getStateHistory

        public java.util.List<org.javers.core.metamodel.object.CdoSnapshot> getStateHistory​(org.javers.core.metamodel.object.GlobalId globalId,
                                                                                            org.javers.repository.api.QueryParams queryParams)
        Specified by:
        getStateHistory in interface org.javers.repository.api.JaversRepository
      • getLatest

        public java.util.Optional<org.javers.core.metamodel.object.CdoSnapshot> getLatest​(org.javers.core.metamodel.object.GlobalId globalId)
        Specified by:
        getLatest in interface org.javers.repository.api.JaversRepository
      • getSnapshots

        public java.util.List<org.javers.core.metamodel.object.CdoSnapshot> getSnapshots​(org.javers.repository.api.QueryParams queryParams)
        Specified by:
        getSnapshots in interface org.javers.repository.api.JaversRepository
      • getSnapshots

        public java.util.List<org.javers.core.metamodel.object.CdoSnapshot> getSnapshots​(java.util.Collection<org.javers.repository.api.SnapshotIdentifier> snapshotIdentifiers)
        Specified by:
        getSnapshots in interface org.javers.repository.api.JaversRepository
      • getValueObjectStateHistory

        public java.util.List<org.javers.core.metamodel.object.CdoSnapshot> getValueObjectStateHistory​(org.javers.core.metamodel.type.EntityType ownerEntity,
                                                                                                       java.lang.String path,
                                                                                                       org.javers.repository.api.QueryParams queryParams)
        Specified by:
        getValueObjectStateHistory in interface org.javers.repository.api.JaversRepository
      • getStateHistory

        public java.util.List<org.javers.core.metamodel.object.CdoSnapshot> getStateHistory​(java.util.Set<org.javers.core.metamodel.type.ManagedType> givenClasses,
                                                                                            org.javers.repository.api.QueryParams queryParams)
        Specified by:
        getStateHistory in interface org.javers.repository.api.JaversRepository
      • getHeadId

        public org.javers.core.commit.CommitId getHeadId()
        Specified by:
        getHeadId in interface org.javers.repository.api.JaversRepository
      • setJsonConverter

        public void setJsonConverter​(org.javers.core.json.JsonConverter jsonConverter)
        Specified by:
        setJsonConverter in interface org.javers.repository.api.JaversRepository
      • setConfiguration

        public void setConfiguration​(org.javers.core.JaversCoreConfiguration coreConfiguration)
        Specified by:
        setConfiguration in interface org.javers.repository.api.ConfigurationAware
      • ensureSchema

        public void ensureSchema()
        Specified by:
        ensureSchema in interface org.javers.repository.api.JaversRepository