Package io.permazen.kv.simple
Class MemoryKVImplementation
java.lang.Object
io.permazen.kv.simple.MemoryKVImplementation
- All Implemented Interfaces:
KVImplementation<MemoryKVImplementation.Config>
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddOptions(joptsimple.OptionParser parser) Add implementation-specific command line options.protected voidaddSimpleOptions(joptsimple.OptionParser parser, joptsimple.OptionSpec<?> enablingOption, String prefix) protected voidapplySimpleOptions(joptsimple.OptionSet options, MemoryKVImplementation.Config config) buildConfig(joptsimple.OptionSet options) Build a configuration from implementation-specific command line options, if any were given.Create anAtomicKVStoreusing the specified configuration.createKVDatabase(MemoryKVImplementation.Config config, KVDatabase kvdb, AtomicKVStore kvstore) Create anKVDatabaseusing the specified configuration.Generate a short, human-readable description of theKVDatabaseinstance configured as given.booleanDetermine whether thisKVImplementationincludes an implementation of theAtomicKVStoreinterface.booleanDetermine whether thisKVImplementationincludes an implementation of theKVDatabaseinterface.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.permazen.kv.KVImplementation
getConfigType, requiresAtomicKVStore, requiresKVDatabase
-
Constructor Details
-
MemoryKVImplementation
public MemoryKVImplementation()
-
-
Method Details
-
addOptions
public void addOptions(joptsimple.OptionParser parser) Description copied from interface:KVImplementationAdd implementation-specific command line options.All of the added options must be optional, because multiple key/value implementations will be available when the command line is parsed, and the presence of implementation-specific options determines which one(s) are chosen.
- Parameters:
parser- command line flag parser
-
buildConfig
Description copied from interface:KVImplementationBuild a configuration from implementation-specific command line options, if any were given.If none of this implementation's options were provided, then this method must return null.
- Parameters:
options- parsed command line options- Returns:
- corresponding configuration, or null if this implementation was not configured
-
providesKVDatabase
Description copied from interface:KVImplementationDetermine whether thisKVImplementationincludes an implementation of theKVDatabaseinterface.The implementation in
KVImplementationreturn false.- Parameters:
config- implementation configuration returned bybuildConfig()- Returns:
- true if this instance can create an
KVDatabase
-
providesAtomicKVStore
Description copied from interface:KVImplementationDetermine whether thisKVImplementationincludes an implementation of theAtomicKVStoreinterface.The implementation in
KVImplementationreturn false.- Parameters:
config- implementation configuration returned bybuildConfig()- Returns:
- true if this instance can create an
AtomicKVStore
-
createKVDatabase
public MemoryKVDatabase createKVDatabase(MemoryKVImplementation.Config config, KVDatabase kvdb, AtomicKVStore kvstore) Description copied from interface:KVImplementationCreate anKVDatabaseusing the specified configuration.The implementation in
KVImplementationalways throwsUnsupportedOperationException.- Parameters:
config- implementation configuration returned bybuildConfig()kvdb- requiredKVDatabase; will be null unlessKVImplementation.requiresKVDatabase(C)returned truekvstore- requiredAtomicKVStore; will be null unlessKVImplementation.requiresAtomicKVStore(C)returned true- Returns:
- new
KVDatabaseinstance
-
createAtomicKVStore
Description copied from interface:KVImplementationCreate anAtomicKVStoreusing the specified configuration.The implementation in
KVImplementationinvokescreateKVDatabase()and constructs anAtomicKVDatabasefrom the result. Implementations that natively support theAtomicKVDatabaseinterface should override this method.- Parameters:
config- implementation configuration returned bybuildConfig()- Returns:
- new
AtomicKVStoreinstance
-
getDescription
Description copied from interface:KVImplementationGenerate a short, human-readable description of theKVDatabaseinstance configured as given.- Parameters:
config- implementation configuration returned bybuildConfig()- Returns:
- human-readable description
-
addSimpleOptions
protected void addSimpleOptions(joptsimple.OptionParser parser, joptsimple.OptionSpec<?> enablingOption, String prefix) -
applySimpleOptions
protected void applySimpleOptions(joptsimple.OptionSet options, MemoryKVImplementation.Config config)
-