java.lang.Object
de.uni_mannheim.informatik.dws.melt.matching_jena_matchers.external.services.persistence.PersistenceService

public class PersistenceService extends Object
A simple persistence service offering stripped-down database operations to other applications.
  • Field Details

    • DEFAULT_PERSISTENCE_DIRECTORY

      public static final String DEFAULT_PERSISTENCE_DIRECTORY
      Directory where all persistence database files will be saved.
    • persistenceDirectory

      public static String persistenceDirectory
    • LOGGER

      private static final org.slf4j.Logger LOGGER
      Logger.
    • service

      private static PersistenceService service
      Singleton instance.
    • activeDatabases

      private Map<PersistenceService.PreconfiguredPersistences,org.mapdb.DB> activeDatabases
      Map of all active databases (required for collective close and for commits).
  • Constructor Details

    • PersistenceService

      private PersistenceService(String persistenceDirectory)
      Private constructor, singleton pattern.
  • Method Details

    • getService

      public static PersistenceService getService(String persistenceDirectory)
      Singleton pattern: Get persistence service instance. Warning: Only use this getter, if you really need another persistence directory. In all other cases, use PersistenceService. You cannot request multiple persistence services using different persistenceDirectories at the same time.
      Parameters:
      persistenceDirectory - The directory where persistence files shall be saved to.
      Returns:
      The service instance.
    • getService

      public static PersistenceService getService()
      Singleton pattern: Get persistence service instance.
      Returns:
      Persistence service instance.
    • getMapDatabase

      public ConcurrentMap getMapDatabase(PersistenceService.PreconfiguredPersistences desiredPersistence)
      Obtain a pre-configured persistence.
      Parameters:
      desiredPersistence - The persistence that shall be obtained.
      Returns:
      Database
    • commit

      public void commit(PersistenceService.PreconfiguredPersistences persistence)
    • getPersistenceDirectory

      public String getPersistenceDirectory()
    • closeDatabase

      public void closeDatabase(PersistenceService.PreconfiguredPersistences persistence)
      Close a single persistence.
      Parameters:
      persistence - The persistence to be closed.
    • closePersistenceService

      public void closePersistenceService()
      Close all opened databases and shut down service. Make sure that dependent services are also closed.