Class NullImplementation.NullPersistentStore<R>
- java.lang.Object
-
- com.tangosol.util.NullImplementation.NullPersistentStore<R>
-
- Type Parameters:
R- the raw value type
- All Implemented Interfaces:
com.oracle.coherence.persistence.PersistentStore<R>
- Direct Known Subclasses:
SafePersistenceWrappers.SafePersistentStore
- Enclosing class:
- NullImplementation
public static class NullImplementation.NullPersistentStore<R> extends Object implements com.oracle.coherence.persistence.PersistentStore<R>
APersistentStorethat does as little as possible.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classNullImplementation.NullPersistentStore.TokenToken returned bybegin(Collector, Object).
-
Field Summary
Fields Modifier and Type Field Description static NullImplementation.NullPersistentStoreINSTANCESingleton instance of a NullPersistentStore.
-
Constructor Summary
Constructors Constructor Description NullPersistentStore()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidabort(Object oToken)Abort an atomic sequence of mutating operations.Objectbegin()Begin a new sequence of mutating operations that should be committed to the store as an atomic unit.Objectbegin(Collector<Object> collector, Object oReceipt)Begin a new sequence of mutating operations that should be committed to the store asynchronously as an atomic unit.voidcommit(Object oToken)Commit a sequence of mutating operations represented by the given token as an atomic unit.voiddeleteExtent(long lExtentId)Delete the specified extent from the persistent store, ensuring that any key-value mappings associated with the extent are no longer valid.booleanensureExtent(long lExtentId)Ensure that an extent with the given identifier exists in the persistent store, returning true iff the extent was created.voiderase(long lExtentId, R key, Object oToken)Remove the specified key from the underlying store if present.long[]extents()Return a list of the extent identifiers in the underlying store.StringgetId()Return the identifier of this store.voiditerate(com.oracle.coherence.persistence.PersistentStore.Visitor<R> visitor)Iterate the key-value pairs in the persistent store, applying the specified visitor to each key-value pair.Rload(long lExtentId, R key)Return the value associated with the specified key, or null if the key does not have an associated value in the underlying store.voidmoveExtent(long lOldExtentId, long lNewExtentId)Move the specified extent from the old extent id to the new extent id.voidstore(long lExtentId, R key, R value, Object oToken)Store the specified value under the specific key in the underlying store.voidtruncateExtent(long lExtentId)Truncate the specified extent from the persistent store, ensuring that any key-value mappings associated with the extent are removed.
-
-
-
Field Detail
-
INSTANCE
public static final NullImplementation.NullPersistentStore INSTANCE
Singleton instance of a NullPersistentStore.
-
-
Method Detail
-
getId
public String getId()
Description copied from interface:com.oracle.coherence.persistence.PersistentStoreReturn the identifier of this store.- Specified by:
getIdin interfacecom.oracle.coherence.persistence.PersistentStore<R>- Returns:
- the identifier that was used to open this store
-
ensureExtent
public boolean ensureExtent(long lExtentId)
Description copied from interface:com.oracle.coherence.persistence.PersistentStoreEnsure that an extent with the given identifier exists in the persistent store, returning true iff the extent was created.- Specified by:
ensureExtentin interfacecom.oracle.coherence.persistence.PersistentStore<R>- Parameters:
lExtentId- the identifier of the extent to ensure- Returns:
- true iff the specified extent did not previously exist
-
deleteExtent
public void deleteExtent(long lExtentId)
Description copied from interface:com.oracle.coherence.persistence.PersistentStoreDelete the specified extent from the persistent store, ensuring that any key-value mappings associated with the extent are no longer valid.Removal of the key-value mappings associated with the extent from the underlying storage is the responsibility of the implementation, and may (for example) be performed immediately, asynchronously, or deferred until space is required.
- Specified by:
deleteExtentin interfacecom.oracle.coherence.persistence.PersistentStore<R>- Parameters:
lExtentId- the identifier of the extent to delete
-
moveExtent
public void moveExtent(long lOldExtentId, long lNewExtentId)Description copied from interface:com.oracle.coherence.persistence.PersistentStoreMove the specified extent from the old extent id to the new extent id.Upon control being returned the implementation guarantees that any data data that used to reside against the old extent id is accessible from new extent id using the
loadAPI. In addition, calls tostoreare permitted immediately after control is returned.- Specified by:
moveExtentin interfacecom.oracle.coherence.persistence.PersistentStore<R>- Parameters:
lOldExtentId- the old extent identifierlNewExtentId- the new extent identifier
-
truncateExtent
public void truncateExtent(long lExtentId)
Description copied from interface:com.oracle.coherence.persistence.PersistentStoreTruncate the specified extent from the persistent store, ensuring that any key-value mappings associated with the extent are removed.Removal of the key-value mappings associated with the extent from the underlying storage is the responsibility of the implementation, and may (for example) be performed immediately, asynchronously, or deferred until space is required.
- Specified by:
truncateExtentin interfacecom.oracle.coherence.persistence.PersistentStore<R>- Parameters:
lExtentId- the identifier of the extent to truncate
-
extents
public long[] extents()
Description copied from interface:com.oracle.coherence.persistence.PersistentStoreReturn a list of the extent identifiers in the underlying store.- Specified by:
extentsin interfacecom.oracle.coherence.persistence.PersistentStore<R>- Returns:
- a list of the extent identifiers in the underlying store
-
load
public R load(long lExtentId, R key)
Description copied from interface:com.oracle.coherence.persistence.PersistentStoreReturn the value associated with the specified key, or null if the key does not have an associated value in the underlying store.- Specified by:
loadin interfacecom.oracle.coherence.persistence.PersistentStore<R>- Parameters:
lExtentId- the extent identifier for the keykey- key whose associated value is to be returned- Returns:
- the value associated with the specified key, or null if no value is available for that key
-
store
public void store(long lExtentId, R key, R value, Object oToken)Description copied from interface:com.oracle.coherence.persistence.PersistentStoreStore the specified value under the specific key in the underlying store. This method is intended to support both key-value pair creation and value update for a specific key.- Specified by:
storein interfacecom.oracle.coherence.persistence.PersistentStore<R>- Parameters:
lExtentId- the extent identifier for the key-value pairkey- key to store the value undervalue- value to be storedoToken- optional token that represents a set of mutating operations to be committed as an atomic unit; if null, the given key-value pair will be committed to the store automatically by this method
-
erase
public void erase(long lExtentId, R key, Object oToken)Description copied from interface:com.oracle.coherence.persistence.PersistentStoreRemove the specified key from the underlying store if present.- Specified by:
erasein interfacecom.oracle.coherence.persistence.PersistentStore<R>- Parameters:
lExtentId- the extent identifier for the keykey- key whose mapping is to be removedoToken- optional token that represents a set of mutating operations to be committed as an atomic unit; if null, the removal of the given key will be committed to the store automatically by this method
-
iterate
public void iterate(com.oracle.coherence.persistence.PersistentStore.Visitor<R> visitor)
Description copied from interface:com.oracle.coherence.persistence.PersistentStoreIterate the key-value pairs in the persistent store, applying the specified visitor to each key-value pair.- Specified by:
iteratein interfacecom.oracle.coherence.persistence.PersistentStore<R>- Parameters:
visitor- the visitor to apply
-
begin
public Object begin()
Description copied from interface:com.oracle.coherence.persistence.PersistentStoreBegin a new sequence of mutating operations that should be committed to the store as an atomic unit. The returned token should be passed to all mutating operations that should be part of the atomic unit. Once the sequence of operations have been performed, they must either becommittedto the store or the atomic unit must beaborted.- Specified by:
beginin interfacecom.oracle.coherence.persistence.PersistentStore<R>- Returns:
- a token that represents the atomic unit
-
begin
public Object begin(Collector<Object> collector, Object oReceipt)
Description copied from interface:com.oracle.coherence.persistence.PersistentStoreBegin a new sequence of mutating operations that should be committed to the store asynchronously as an atomic unit. The returned token should be passed to all mutating operations that should be part of the atomic unit. Once the sequence of operations have been performed, they must either becommittedto the store or the atomic unit must beaborted.If a collector is passed to this method, the specified receipt will be added to it when the unit is committed. If the operation is
abortedor an error occurs during the commit, anAsyncPersistenceExceptionthat wraps the cause and specified receipt will be added. Finally, the collector will be flushed.- Specified by:
beginin interfacecom.oracle.coherence.persistence.PersistentStore<R>- Parameters:
collector- an optional collectoroReceipt- a receipt to be added to the collector (if any) when the unit is committed- Returns:
- a token representing the atomic unit that will be committed asynchronously
-
commit
public void commit(Object oToken)
Description copied from interface:com.oracle.coherence.persistence.PersistentStoreCommit a sequence of mutating operations represented by the given token as an atomic unit.- Specified by:
commitin interfacecom.oracle.coherence.persistence.PersistentStore<R>- Parameters:
oToken- a token that represents the atomic unit to commit
-
abort
public void abort(Object oToken)
Description copied from interface:com.oracle.coherence.persistence.PersistentStoreAbort an atomic sequence of mutating operations.- Specified by:
abortin interfacecom.oracle.coherence.persistence.PersistentStore<R>- Parameters:
oToken- a token that represents the atomic unit to abort
-
-