Class MongoRepository

java.lang.Object
org.javers.repository.mongo.MongoRepository
All Implemented Interfaces:
org.javers.repository.api.ConfigurationAware, org.javers.repository.api.JaversRepository

public class MongoRepository extends 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)
     
    MongoRepository(com.mongodb.client.MongoDatabase mongo, org.javers.repository.mongo.MongoRepositoryConfiguration mongoRepositoryConfiguration)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    org.javers.core.commit.CommitId
     
    Optional<org.javers.core.metamodel.object.CdoSnapshot>
    getLatest(org.javers.core.metamodel.object.GlobalId globalId)
     
    List<org.javers.core.metamodel.object.CdoSnapshot>
    getSnapshots(Collection<org.javers.repository.api.SnapshotIdentifier> snapshotIdentifiers)
     
    List<org.javers.core.metamodel.object.CdoSnapshot>
    getSnapshots(org.javers.repository.api.QueryParams queryParams)
     
    List<org.javers.core.metamodel.object.CdoSnapshot>
    getStateHistory(Set<org.javers.core.metamodel.type.ManagedType> givenClasses, org.javers.repository.api.QueryParams queryParams)
     
    List<org.javers.core.metamodel.object.CdoSnapshot>
    getStateHistory(org.javers.core.metamodel.object.GlobalId globalId, org.javers.repository.api.QueryParams queryParams)
     
    List<org.javers.core.metamodel.object.CdoSnapshot>
    getValueObjectStateHistory(org.javers.core.metamodel.type.EntityType ownerEntity, String path, org.javers.repository.api.QueryParams queryParams)
     
    mongoRepositoryWithDocumentDBCompatibility(com.mongodb.client.MongoDatabase mongo, int cacheSize)
    MongoRepository compatible with Amazon DocumentDB.
    void
    persist(org.javers.core.commit.Commit commit)
     
    void
    persist(org.javers.core.commit.Commit commit, com.mongodb.client.ClientSession clientSession)
     
    void
    setConfiguration(org.javers.core.CoreConfiguration 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 Details

    • 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.
    • MongoRepository

      public MongoRepository(com.mongodb.client.MongoDatabase mongo, org.javers.repository.mongo.MongoRepositoryConfiguration mongoRepositoryConfiguration)
  • Method Details

    • mongoRepositoryWithDocumentDBCompatibility

      public static MongoRepository mongoRepositoryWithDocumentDBCompatibility(com.mongodb.client.MongoDatabase mongo, int cacheSize)
      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
    • persist

      public void persist(org.javers.core.commit.Commit commit, com.mongodb.client.ClientSession clientSession)
    • getStateHistory

      public 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 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 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 List<org.javers.core.metamodel.object.CdoSnapshot> getSnapshots(Collection<org.javers.repository.api.SnapshotIdentifier> snapshotIdentifiers)
      Specified by:
      getSnapshots in interface org.javers.repository.api.JaversRepository
    • getValueObjectStateHistory

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

      public List<org.javers.core.metamodel.object.CdoSnapshot> getStateHistory(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.CoreConfiguration 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