public interface DataCache extends Closeable, Clearable
Configurable interface as well so that
 they will be given the system configuration just after construction.
  Implementations should take care not to return timed out data.AbstractDataCache, 
DataCachePCData.isTimedOut()| Modifier and Type | Field and Description | 
|---|---|
| static String | NAME_DEFAULTThe name of the default data cache:  default | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addExpirationListener(ExpirationListener listen)Add a new expiration event listener to this cache. | 
| void | clear()Remove all data from this cache. | 
| void | close()Free the resources used by this cache. | 
| void | commit(Collection<DataCachePCData> additions,
      Collection<DataCachePCData> newUpdates,
      Collection<DataCachePCData> existingUpdates,
      Collection<Object> deletes)Perform a batch update of the cache. | 
| boolean | contains(Object oid)Returns  trueif this cache contains data
 corresponding tooid; otherwise returnsfalse. | 
| BitSet | containsAll(Collection<Object> oids)Returns the indexes of the oids in this cache. | 
| DataCachePCData | get(Object oid)Return the cached object for the given oid. | 
| Map<Object,DataCachePCData> | getAll(List<Object> keys)Gets objects from the caches for a given list of keys. | 
| boolean | getEvictOnBulkUpdate()Returns whether the the cache needs to be updated when bulk updates as executed. | 
| String | getName()Returns a string name that can be used by end-user-visible
 code to identify this cache. | 
| DataCache | getPartition(String name,
            boolean create)Gets the named partition. | 
| Set<String> | getPartitionNames()Gets the name of the known partitions. | 
| CacheStatistics | getStatistics()Returns number of read/write request and cache hit ratio data. | 
| void | initialize(DataCacheManager manager)Initialize any resources associated with the given
  DataCacheManager. | 
| boolean | isPartitioned()Affirms if this cache maintains partitions. | 
| boolean | pin(Object oid)Pin the value stored under  oidinto the cache. | 
| void | pinAll(Class<?> cls,
      boolean subs)Pin all oids for the given type. | 
| BitSet | pinAll(Collection<Object> oids)Pin all oids to the cache. | 
| DataCachePCData | put(DataCachePCData value)Set the cached value for the given instance. | 
| DataCachePCData | remove(Object oid)Remove the value stored under the given oid. | 
| void | removeAll(Class<?> cls,
         boolean subclasses)Evict all values of a specified type. | 
| BitSet | removeAll(Collection<Object> oids)Remove the values stored under the given oids. | 
| boolean | removeExpirationListener(ExpirationListener listen)Remove an expiration event listener from this cache. | 
| void | setName(String name)Sets a string name to be used to identify this cache to end-user needs. | 
| boolean | unpin(Object oid)Unpin the value stored under  oidfrom the cache. | 
| void | unpinAll(Class<?> cls,
        boolean subs)Unpin all oids associaed with the given type from the cache. | 
| BitSet | unpinAll(Collection<Object> oids)Unpin all oids from the cache. | 
| void | update(DataCachePCData value)Update the cached value for the given instance. | 
| void | writeLock()Obtain a write lock on the cache. | 
| void | writeUnlock()Release the write lock on the cache. | 
static final String NAME_DEFAULT
defaultString getName()
void setName(String name)
void initialize(DataCacheManager manager)
DataCacheManager.void commit(Collection<DataCachePCData> additions, Collection<DataCachePCData> newUpdates, Collection<DataCachePCData> existingUpdates, Collection<Object> deletes)
DataCachePCData
 objects in additions and in
 newUpdates, make the appropriate modifications to
 all DataCachePCDatas in existingUpdates, and delete all
 OIDs in deletes.
  All changes made to cached data must be made via this
 method. It is this method that is responsible for performing
 any side-effects that should happen on meaningful cache changes.
  Implementations should bear in mind that the
 deletes collection may contain oids that are also
 in the additions map. This is possible because it
 is valid for a user to delete an object with a particular oid
 and then add that object in the same batch.additions - A collection of DataCachePCData objects.
 These represent data that have been newly created,
 and thus must be added to the cache.newUpdates - A collection of DataCachePCData objects.
 These represent data that have been modified but
 were not originally in the cache, and thus must be added to the cache.existingUpdates - A collection of DataCachePCData objects.
 These represent data that have been modified and
 were originally loaded from the cache. It is
 up to the cache implementation to decide if
 these values must be re-enlisted in the cache.
 Some caches may return live data from get(java.lang.Object)
 invocations, in which case these values need not be re-enlisted.deletes - A collection of object IDs that have been deleted
 and must therefore be dropped from the cache.boolean contains(Object oid)
true if this cache contains data
 corresponding to oid; otherwise returns
 false.BitSet containsAll(Collection<Object> oids)
DataCachePCData get(Object oid)
update(org.apache.openjpa.datacache.DataCachePCData)
 method should be used to re-cache any changed objects.DataCachePCData put(DataCachePCData value)
commit(java.util.Collection<org.apache.openjpa.datacache.DataCachePCData>, java.util.Collection<org.apache.openjpa.datacache.DataCachePCData>, java.util.Collection<org.apache.openjpa.datacache.DataCachePCData>, java.util.Collection<java.lang.Object>) method.null if
 the value was not previously cached. See Map.put(K, V)
 for more information.void update(DataCachePCData value)
commit(java.util.Collection<org.apache.openjpa.datacache.DataCachePCData>, java.util.Collection<org.apache.openjpa.datacache.DataCachePCData>, java.util.Collection<org.apache.openjpa.datacache.DataCachePCData>, java.util.Collection<java.lang.Object>) method.
  A cache implementation may or may not return a live object
 from get(java.lang.Object) invocations. If an object retrieved from a
 get(java.lang.Object) operation needs to be updated, this method can be
 invoked instead of invoking put(org.apache.openjpa.datacache.DataCachePCData). The DataCache implementation
 can then make optimizations based on how its get(java.lang.Object) method works.DataCachePCData remove(Object oid)
commit(java.util.Collection<org.apache.openjpa.datacache.DataCachePCData>, java.util.Collection<org.apache.openjpa.datacache.DataCachePCData>, java.util.Collection<org.apache.openjpa.datacache.DataCachePCData>, java.util.Collection<java.lang.Object>) method.null if
 the oid was not previously cached. See Map.remove(java.lang.Object)
 for more information.BitSet removeAll(Collection<Object> oids)
remove(java.lang.Object)void removeAll(Class<?> cls, boolean subclasses)
void clear()
commit(java.util.Collection<org.apache.openjpa.datacache.DataCachePCData>, java.util.Collection<org.apache.openjpa.datacache.DataCachePCData>, java.util.Collection<org.apache.openjpa.datacache.DataCachePCData>, java.util.Collection<java.lang.Object>) method.boolean pin(Object oid)
oid into the cache.
 This method guarantees that oid's value will not
 be dropped by the caching algorithm. This method does not
 affect the behavior of remove(java.lang.Object).true if oid's value was
 pinned into the cache; false if the oid is not in the cache.BitSet pinAll(Collection<Object> oids)
pin(java.lang.Object)void pinAll(Class<?> cls, boolean subs)
subs - Whether to include subclasses.boolean unpin(Object oid)
oid from the cache.
 This method reverses a previous invocation of pin(java.lang.Object).
 This method does not remove anything from the cache; it merely
 makes oid's value a candidate for flushing from the cache.true if oid's value was
 unpinned from the cache; false if the
 oid is not in the cache.BitSet unpinAll(Collection<Object> oids)
unpin(java.lang.Object)void unpinAll(Class<?> cls, boolean subs)
subs - Whether to include subclasses.void writeLock()
void writeUnlock()
void addExpirationListener(ExpirationListener listen)
boolean removeExpirationListener(ExpirationListener listen)
void close()
Map<Object,DataCachePCData> getAll(List<Object> keys)
DataCache getPartition(String name, boolean create)
name - name of the given partition.create - if true optionally create a new partition.Set<String> getPartitionNames()
boolean isPartitioned()
CacheStatistics getStatistics()
boolean getEvictOnBulkUpdate()
Copyright © 2006–2022 Apache Software Foundation. All rights reserved.