Interface PersistenceStorer.Creator<M>
-
- All Known Subinterfaces:
BinaryStorer.Creator
- All Known Implementing Classes:
BinaryStorer.Creator.Abstract
,BinaryStorer.Creator.Default
- Enclosing interface:
- PersistenceStorer<M>
public static interface PersistenceStorer.Creator<M>
-
-
Method Summary
Modifier and Type Method Description PersistenceStorer<M>
createEagerStorer(PersistenceTypeHandlerManager<M> typeManager, PersistenceObjectManager objectManager, PersistenceObjectRetriever objectRetriever, PersistenceTarget<M> target, BufferSizeProviderIncremental bufferSizeProvider)
Creates aPersistenceStorer
instance with a storing logic that stores every instance that is encountered during the traversal of the entity graph once.
Warning: This means that every (persistable) reference is traversed and every reachable instance is stored.PersistenceStorer<M>
createLazyStorer(PersistenceTypeHandlerManager<M> typeManager, PersistenceObjectManager objectManager, PersistenceObjectRetriever objectRetriever, PersistenceTarget<M> target, BufferSizeProviderIncremental bufferSizeProvider)
Creates aPersistenceStorer
instance with a storing logic that stores instances that are encountered during the traversal of the entity graph that "require" to be stored.default PersistenceStorer<M>
createStorer(PersistenceTypeHandlerManager<M> typeManager, PersistenceObjectManager objectManager, PersistenceObjectRetriever objectRetriever, PersistenceTarget<M> target, BufferSizeProviderIncremental bufferSizeProvider)
Creates a storer with a default or "natural" storing logic.
-
-
-
Method Detail
-
createLazyStorer
PersistenceStorer<M> createLazyStorer(PersistenceTypeHandlerManager<M> typeManager, PersistenceObjectManager objectManager, PersistenceObjectRetriever objectRetriever, PersistenceTarget<M> target, BufferSizeProviderIncremental bufferSizeProvider)
Creates aPersistenceStorer
instance with a storing logic that stores instances that are encountered during the traversal of the entity graph that "require" to be stored. The actual meaning of being "required" depends on the implementation. An example for being "required" is not having an instance registered in the global object registry and associated an biunique OID.- Parameters:
objectManager
-objectRetriever
-typeManager
-target
-bufferSizeProvider
-
-
createStorer
default PersistenceStorer<M> createStorer(PersistenceTypeHandlerManager<M> typeManager, PersistenceObjectManager objectManager, PersistenceObjectRetriever objectRetriever, PersistenceTarget<M> target, BufferSizeProviderIncremental bufferSizeProvider)
Creates a storer with a default or "natural" storing logic. The default for this method (the "default default" in a way) is to delegate the call tocreateLazyStorer(one.microstream.persistence.types.PersistenceTypeHandlerManager<M>, one.microstream.persistence.types.PersistenceObjectManager, one.microstream.persistence.types.PersistenceObjectRetriever, one.microstream.persistence.types.PersistenceTarget<M>, one.microstream.util.BufferSizeProviderIncremental)
.- Parameters:
objectManager
-objectRetriever
-typeManager
-target
-bufferSizeProvider
-
-
createEagerStorer
PersistenceStorer<M> createEagerStorer(PersistenceTypeHandlerManager<M> typeManager, PersistenceObjectManager objectManager, PersistenceObjectRetriever objectRetriever, PersistenceTarget<M> target, BufferSizeProviderIncremental bufferSizeProvider)
Creates aPersistenceStorer
instance with a storing logic that stores every instance that is encountered during the traversal of the entity graph once.
Warning: This means that every (persistable) reference is traversed and every reachable instance is stored. Depending on the used data model, this can mean that the whole entity graph of an application is traversed and stored. This MIGHT be reasonable for very tiny applications, where storing simply means to start at the root entity and indiscriminately store every entity there is. Apart from this (rather academic) case, a storer with this logic should only be used for a confined entity sub-graph that has no reference "escaping" to the remaning entities.- Parameters:
objectManager
-objectRetriever
-typeManager
-target
-bufferSizeProvider
-
-
-