Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 2.5.0 Reverse Schema Tool
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.solarmetric.rd.kodo.runtime.datacache.plugins
Class TangosolCache

    java.lang.Object
      |
      +--com.solarmetric.rd.kodo.runtime.datacache.plugins.TangosolCache

All Implemented Interfaces:
  Configurable, DataCache

public class TangosolCache
extends java.lang.Object
implements DataCache, Configurable

A PersistenceManagerFactory cache that delegates to a Tangosol Coherence cache. This cache can be used to share data among PersistenceManagers created from a single PersistenceManagerFactory. Batch updates are performed atomically.

Field Summary
`protected com.tangosol.net.NamedCache` | `cache`

Constructor Summary
`TangosolCache()`

Method Summary
`void` | `batchUpdate(java.util.Map additions, java.util.Map updates, java.util.Collection deletes, java.lang.Object origin)` ### We should probably lock the underlying cache here.
`void` | `clear()` Remove all data from this cache.
`void` | `close()` Close this cache, dropping all hard references and releasing any resources that this cache maintains.
`void` | `endConfiguration()` Invoked upon completion of configuration of this object
`java.lang.Object` | `get(java.lang.Object key)` Return the cached object for the given key.
`com.tangosol.net.NamedCache` | `getTangosolCache()` Returns the underlying `NamedCache` that this `TangosolCache` is using.
`protected com.tangosol.net.NamedCache` | `newCache()` Returns a new `NamedCache` for use as the underlying data cache.
`boolean` | `pin(java.lang.Object key)` Coherence doesn't have a concept of expiring data, so pinning is meaningless.
`java.lang.Object` | `put(java.lang.Object key, java.lang.Object value)` Set the cached value for the given key.
`java.lang.Object` | `remove(java.lang.Object key)` Remove the value stored under the given key.
`void` | `startConfiguration()` Invoked before configuration is begun on this object
`boolean` | `unpin(java.lang.Object key)` Coherence doesn't have a concept of expiring data, so unpinning is meaningless.

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

Field Detail

### cache

    protected com.tangosol.net.NamedCache cache

Constructor Detail

### TangosolCache

    public TangosolCache()

Method Detail

### getTangosolCache

    public com.tangosol.net.NamedCache getTangosolCache()

  Returns the underlying `NamedCache` that this `TangosolCache` is using. This is not an unmodifiable view on the map, so care should be taken with this reference. Implementations should probably not mess with the contents of the cache, but should only use this reference to obtain cache metrics.

### newCache

    protected com.tangosol.net.NamedCache newCache()

  Returns a new `NamedCache` for use as the underlying data cache. This implementation returns a `NamedCache` obtained by invoking `CacheFactory.getDistributedCache()`.. To implement a more sophisticated caching strategy, override this method.

### batchUpdate

    public void batchUpdate(java.util.Map additions,
                            java.util.Map updates,
                            java.util.Collection deletes,
                            java.lang.Object origin)

  ### We should probably lock the underlying cache here.

  Specified by:
    `batchUpdate` in interface `DataCache`
  Parameters:
    `origin` - the object that initiated this cache update. This can be useful for implementations in which many sources share a single cache, which in turn communicates back to the sources on cache updates.

### get

    public java.lang.Object get(java.lang.Object key)

  Description copied from interface: `DataCache`
  Return the cached object for the given key. Modifying the returned object may or may not change the cached value; the `DataCache.put(java.lang.Object, java.lang.Object)` method should be used to re-cache any changed objects.

  Specified by:
    `get` in interface `DataCache`
  Returns:
    the object matching the given key, or null if none

### put

    public java.lang.Object put(java.lang.Object key,
                                java.lang.Object value)

  Description copied from interface: `DataCache`
  Set the cached value for the given key. This does not result in an update of other caches. Rather, it should only be used for loading clean data into the cache. Meaningful changes to the state of the cache should be made via the `DataCache.batchUpdate(java.util.Map, java.util.Map, java.util.Collection, java.lang.Object)` method.

  Specified by:
    `put` in interface `DataCache`
  Returns:
    The previously cached value, or `null` if the key was not previously cached. See `Map.put(java.lang.Object, java.lang.Object)` for more information.

### remove

    public java.lang.Object remove(java.lang.Object key)

  Description copied from interface: `DataCache`
  Remove the value stored under the given key. This does not result in an update of other caches. Rather, it should only be used for removing data into the cache. Meaningful changes to the state of the cache should be made via the `batchUpdate` method.

  Specified by:
    `remove` in interface `DataCache`
  Returns:
    The previously cached value, or `null` if the key was not previously cached. See `Map.remove(java.lang.Object)` for more information.

### clear

    public void clear()

  Description copied from interface: `DataCache`
  Remove all data from this cache. This does not result in an update of other caches. Rather, it should only be used for clearing the cache. Meaningful changes to the state of the cache should be made via the `batchUpdate` method.

  Specified by:
    `clear` in interface `DataCache`

### pin

    public boolean pin(java.lang.Object key)

  Coherence doesn't have a concept of expiring data, so pinning is meaningless. This method is equivalent to invoking `Map.containsKey(java.lang.Object)`.

  Specified by:
    `pin` in interface `DataCache`
  Returns:
    `true` if `key`'s value was pinned into the cache; `false` if the key is not in the cache.

### unpin

    public boolean unpin(java.lang.Object key)

  Coherence doesn't have a concept of expiring data, so unpinning is meaningless. This method is equivalent to invoking `Map.containsKey(java.lang.Object)`.

  Specified by:
    `unpin` in interface `DataCache`
  Returns:
    `true` if `key`'s value was unpinned from the cache; `false` if the key is not in the cache.

### close

    public void close()

  Description copied from interface: `DataCache`
  Close this cache, dropping all hard references and releasing any resources that this cache maintains.

  Specified by:
    `close` in interface `DataCache`

### startConfiguration

    public void startConfiguration()

  Description copied from interface: `Configurable`
  Invoked before configuration is begun on this object

  Specified by:
    `startConfiguration` in interface `Configurable`

### endConfiguration

    public void endConfiguration()

  Description copied from interface: `Configurable`
  Invoked upon completion of configuration of this object

  Specified by:
    `endConfiguration` in interface `Configurable`

Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 2.5.0 Reverse Schema Tool
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2001,2002,2003 SolarMetric, Inc. All Rights Reserved.