Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.datacache
Class DataCacheManagerImpl

    java.lang.Object
      org.apache.openjpa.datacache.DataCacheManagerImpl

All Implemented Interfaces:
  DataCacheManager, Closeable

    public class DataCacheManagerImpl

extends Object
implements Closeable, DataCacheManager

Default data cache manager provides handle to utilities PCDataGenerator, ClearableScheduler and CacheDistributionPolicy for the cache operation. This implementation also determines whether a managed type is eligible to cache.

Author:
  Abe White, Patrick Linskey, Pinaki Poddar

Constructor Summary
`DataCacheManagerImpl()`

Method Summary
`void` | `close()` Close all caches.
`ClearableScheduler` | `getClearableScheduler()` Return the runnable which schedules evictions.
`DataCache` | `getDataCache(String name)` Return the named data cache, or null if it does not exist.
`DataCache` | `getDataCache(String name, boolean create)` Returns the named cache.
`CacheDistributionPolicy` | `getDistributionPolicy()` Gets the instance-based cache distribution policy, if configured.
`DataCachePCDataGenerator` | `getPCDataGenerator()` Return the PCData generator if configured.
`DataCache` | `getSystemDataCache()` Return the system-wide data cache, or null if caching is not enabled.
`QueryCache` | `getSystemQueryCache()` Return the system query cache, or null if not configured.
`void` | `initialize(OpenJPAConfiguration conf, ObjectValue dataCache, ObjectValue queryCache)` Initialize the manager, supplying the cache configuration.
`boolean` | `isCachable(ClassMetaData meta)` Affirms if the given type is eligible for cache.
`Map<String,Boolean>` | `listKnownTypes()` Returns the names of classes that are known to the cache and whether or not they are currently being cached.
`DataCache` | `selectCache(OpenJPAStateManager sm)` Select cache for the given managed instance.
`void` | `setTypes(Set<String> includedTypes, Set<String> excludedTypes)`
`void` | `startCaching(String cls)` Start caching the type matching the provided class name.
`void` | `stopCaching(String cls)` Stop caching the type matching the provided class name.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DataCacheManagerImpl

    public DataCacheManagerImpl()

Method Detail

### initialize

    public void initialize(OpenJPAConfiguration conf,
                           ObjectValue dataCache,
                           ObjectValue queryCache)

  Description copied from interface: `DataCacheManager`
  Initialize the manager, supplying the cache configuration.

  Specified by:
    `initialize` in interface `DataCacheManager`

### getSystemDataCache

    public DataCache getSystemDataCache()

  Description copied from interface: `DataCacheManager`
  Return the system-wide data cache, or null if caching is not enabled.

  Specified by:
    `getSystemDataCache` in interface `DataCacheManager`

### getDataCache

    public DataCache getDataCache(String name)

  Description copied from interface: `DataCacheManager`
  Return the named data cache, or null if it does not exist.

  Specified by:
    `getDataCache` in interface `DataCacheManager`

### getDataCache

    public DataCache getDataCache(String name,
                                  boolean create)

  Returns the named cache. If the given name is name or the name of the cache plugin then returns the main cache. Otherwise, delegates to the main cache to obtain a partition.

  Specified by:
    `getDataCache` in interface `DataCacheManager`
    `create` - if true, the cache will be created if it does not already exist

### getSystemQueryCache

    public QueryCache getSystemQueryCache()

  Description copied from interface: `DataCacheManager`
  Return the system query cache, or null if not configured.

  Specified by:
    `getSystemQueryCache` in interface `DataCacheManager`

### getPCDataGenerator

    public DataCachePCDataGenerator getPCDataGenerator()

  Description copied from interface: `DataCacheManager`
  Return the PCData generator if configured.

  Specified by:
    `getPCDataGenerator` in interface `DataCacheManager`

### getClearableScheduler

    public ClearableScheduler getClearableScheduler()

  Description copied from interface: `DataCacheManager`
  Return the runnable which schedules evictions.

  Specified by:
    `getClearableScheduler` in interface `DataCacheManager`

### close

    public void close()

  Description copied from interface: `DataCacheManager`
  Close all caches.

  Specified by:
    `close` in interface `DataCacheManager`
  Specified by:
    `close` in interface `Closeable`

### selectCache

    public DataCache selectCache(OpenJPAStateManager sm)

  Select cache for the given managed instance. If type based verification affirms the type to be cached then the instance based policy is called to determine the target cache.

  Specified by:
    `selectCache` in interface `DataCacheManager`
  Parameters:
    `sm` - the managed proxy instance
  Returns:
    the cache that will store the state of the given managed instance.

### getDistributionPolicy

    public CacheDistributionPolicy getDistributionPolicy()

  Gets the instance-based cache distribution policy, if configured.

  Specified by:
    `getDistributionPolicy` in interface `DataCacheManager`

### isCachable

    public boolean isCachable(ClassMetaData meta)

  Affirms if the given type is eligible for cache.

### setTypes

    public void setTypes(Set<String> includedTypes,
                         Set<String> excludedTypes)

### startCaching

    public void startCaching(String cls)

  Description copied from interface: `DataCacheManager`
  Start caching the type matching the provided class name.

  Specified by:
    `startCaching` in interface `DataCacheManager`

### stopCaching

    public void stopCaching(String cls)

  Description copied from interface: `DataCacheManager`
  Stop caching the type matching the provided class name.

  Specified by:
    `stopCaching` in interface `DataCacheManager`

### listKnownTypes

    public Map<String,Boolean> listKnownTypes()

  Description copied from interface: `DataCacheManager`
  Returns the names of classes that are known to the cache and whether or not they are currently being cached.

  Specified by:
    `listKnownTypes` in interface `DataCacheManager`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.