Class PersistenceService
java.lang.Object
de.uni_mannheim.informatik.dws.melt.matching_jena_matchers.external.services.persistence.PersistenceService
A simple persistence service offering stripped-down database operations to other applications.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Enum with the preconfigured database persistences. -
Field Summary
Modifier and TypeFieldDescriptionprivate Map<PersistenceService.PreconfiguredPersistences,
org.mapdb.DB> Map of all active databases (required for collective close and for commits).static final String
Directory where all persistence database files will be saved.private static final org.slf4j.Logger
Logger.static String
private static PersistenceService
Singleton instance. -
Constructor Summary
ModifierConstructorDescriptionprivate
PersistenceService
(String persistenceDirectory) Private constructor, singleton pattern. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Close a single persistence.void
Close all opened databases and shut down service.void
commit
(PersistenceService.PreconfiguredPersistences persistence) getMapDatabase
(PersistenceService.PreconfiguredPersistences desiredPersistence) Obtain a pre-configured persistence.static PersistenceService
Singleton pattern: Get persistence service instance.static PersistenceService
getService
(String persistenceDirectory) Singleton pattern: Get persistence service instance.
-
Field Details
-
DEFAULT_PERSISTENCE_DIRECTORY
Directory where all persistence database files will be saved. -
persistenceDirectory
-
LOGGER
private static final org.slf4j.Logger LOGGERLogger. -
service
Singleton instance. -
activeDatabases
Map of all active databases (required for collective close and for commits).
-
-
Constructor Details
-
PersistenceService
Private constructor, singleton pattern.
-
-
Method Details
-
getService
Singleton pattern: Get persistence service instance. Warning: Only use this getter, if you really need another persistence directory. In all other cases, usePersistenceService
. 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
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
-
getPersistenceDirectory
-
closeDatabase
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.
-