Class BerkeleyKVStorePlugin

  • 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 BerkeleyKVStorePlugin
    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 Detail

      • BerkeleyKVStorePlugin

        @Inject
        public BerkeleyKVStorePlugin​(String collections,
                                     String dbFilePath,
                                     VTransactionManager transactionManager,
                                     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 manager
        codecManager - Codec manager
    • Method Detail

      • provideDefinitions

        public List<? extends io.vertigo.core.node.definition.Definition> provideDefinitions​(io.vertigo.core.node.definition.DefinitionSpace definitionSpace)
        Specified by:
        provideDefinitions in interface io.vertigo.core.node.definition.SimpleDefinitionProvider
      • getCollections

        public List<String> getCollections()
        Returns the list of collections managed by this plugin.
        Specified by:
        getCollections in interface KVStorePlugin
        Returns:
        list of collections;
      • start

        public void start()
        Specified by:
        start in interface io.vertigo.core.node.component.Activeable
      • stop

        public void stop()
        Specified by:
        stop in interface io.vertigo.core.node.component.Activeable
      • remove

        public void remove​(String collection,
                           String id)
        Removes an element defined by an id from a collection. If the collection doesn't contain the is then a exception is thrown.
        Specified by:
        remove in interface KVStorePlugin
        Parameters:
        collection - the collection
        id - the id
      • clear

        public void clear​(String collection)
        Removes all elements from a collection.
        Specified by:
        clear in interface KVStorePlugin
        Parameters:
        collection - the collection
      • put

        public void put​(String collection,
                        String id,
                        Object element)
        Adds an element defined by an id in a collection.
        Specified by:
        put in interface KVStorePlugin
        Parameters:
        collection - the collection
        id - the id
        element - the element
      • find

        public <C> Optional<C> find​(String collection,
                                    String id,
                                    Class<C> clazz)
        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:
        find in interface KVStorePlugin
        Type Parameters:
        C - Element type
        Parameters:
        collection - the collection
        id - the id
        clazz - the type of the searched element
        Returns:
        the option
      • findAll

        public <C> List<C> findAll​(String collection,
                                   int skip,
                                   Integer limit,
                                   Class<C> clazz)
        Finds all elements contained inside the specified collection.
        Specified by:
        findAll in interface KVStorePlugin
        Type Parameters:
        C - Element type
        Parameters:
        collection - the collection
        skip - the position from which the elements are returned
        limit - the limit size of elements
        clazz - the type of the searched element
        Returns:
        the list of elements.
      • count

        public int count​(String collection)
        Specified by:
        count in interface KVStorePlugin
        Parameters:
        collection - the collection
        Returns:
        count of elements into collection