Class SpeedbKVStorePlugin
java.lang.Object
io.vertigo.datastore.plugins.kvstore.speedb.SpeedbKVStorePlugin
- All Implemented Interfaces:
io.vertigo.core.node.component.Activeable,io.vertigo.core.node.component.CoreComponent,io.vertigo.core.node.component.Plugin,io.vertigo.core.node.definition.DefinitionProvider,io.vertigo.core.node.definition.SimpleDefinitionProvider,KVStorePlugin
public final class SpeedbKVStorePlugin
extends Object
implements KVStorePlugin, io.vertigo.core.node.component.Activeable, io.vertigo.core.node.definition.SimpleDefinitionProvider
Implémentation d'un store BerkeleyDB.
- Author:
- pchretien, npiedeloup
-
Constructor Summary
ConstructorsConstructorDescriptionSpeedbKVStorePlugin(String collections, String dbFilePath, Optional<String> purgeVersion, io.vertigo.commons.transaction.VTransactionManager transactionManager, io.vertigo.commons.codec.CodecManager codecManager, io.vertigo.core.analytics.AnalyticsManager analyticsManager) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidclear(KVCollection collection) Removes all elements from a collection.intcount(KVCollection collection) <C> Optional<C> find(KVCollection collection, String id, Class<C> clazz) Finds the optional element to which the id is mapped inside the specified collection.<C> List<C> findAll(KVCollection collection, int skip, Integer limit, Class<C> clazz) Finds all elements contained inside the specified collection.voidForce remove too old elements.Returns the list of collections managed by this plugin.List<? extends io.vertigo.core.node.definition.Definition> provideDefinitions(io.vertigo.core.node.definition.DefinitionSpace definitionSpace) voidput(KVCollection collection, String id, Object element) Adds an element defined by an id in a collection.booleanremove(KVCollection collection, String id) Removes an element defined by an id from a collection.voidstart()voidstop()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.vertigo.core.node.definition.DefinitionProvider
addDefinitionResourceConfigMethods inherited from interface io.vertigo.core.node.definition.SimpleDefinitionProvider
get
-
Constructor Details
-
SpeedbKVStorePlugin
@Inject public SpeedbKVStorePlugin(String collections, String dbFilePath, Optional<String> purgeVersion, io.vertigo.commons.transaction.VTransactionManager transactionManager, io.vertigo.commons.codec.CodecManager codecManager, io.vertigo.core.analytics.AnalyticsManager analyticsManager) Constructor. Collections syntax : - collections are comma separated a revoir (param étendus - collections may defined TimeToLive and Memory configs with a json like syntax : collName;TTL=10;inMemory - TTL default to -1 meaning eternal - inMemory default to false meaning store on file system- Parameters:
collections- List of collections managed by this plugin (comma separated)dbFilePath- Base Berkeley DB file system path (Could use java env param like user.home user.dir or java.io.tmpdir)transactionManager- Transaction managercodecManager- Codec manager
-
-
Method Details
-
provideDefinitions
public List<? extends io.vertigo.core.node.definition.Definition> provideDefinitions(io.vertigo.core.node.definition.DefinitionSpace definitionSpace) - Specified by:
provideDefinitionsin interfaceio.vertigo.core.node.definition.SimpleDefinitionProvider
-
getCollections
Returns the list of collections managed by this plugin.- Specified by:
getCollectionsin interfaceKVStorePlugin- Returns:
- list of collections;
-
start
public void start()- Specified by:
startin interfaceio.vertigo.core.node.component.Activeable
-
stop
public void stop()- Specified by:
stopin interfaceio.vertigo.core.node.component.Activeable
-
forceRemoveTooOldElements
public void forceRemoveTooOldElements()Force remove too old elements. For test purpose. -
clear
Removes all elements from a collection.- Specified by:
clearin interfaceKVStorePlugin- Parameters:
collection- the collection
-
remove
Removes an element defined by an id from a collection.- Specified by:
removein interfaceKVStorePlugin- Parameters:
collection- the collectionid- the id- Returns:
- if element exists before removed
-
put
Adds an element defined by an id in a collection.- Specified by:
putin interfaceKVStorePlugin- Parameters:
collection- the collectionid- the idelement- the element
-
find
Finds the optional element to which the id is mapped inside the specified collection. If the element is not found then an empty option is returned.- Specified by:
findin interfaceKVStorePlugin- Type Parameters:
C- Element type- Parameters:
collection- the collectionid- the idclazz- the type of the searched element- Returns:
- the option
-
findAll
Finds all elements contained inside the specified collection.- Specified by:
findAllin interfaceKVStorePlugin- Type Parameters:
C- Element type- Parameters:
collection- the collectionskip- the position from which the elements are returnedlimit- the limit size of elementsclazz- the type of the searched element- Returns:
- the list of elements.
-
count
- Specified by:
countin interfaceKVStorePlugin- Parameters:
collection- the collection- Returns:
- count of elements into collection
-