Skip navigation links

Oracle® Fusion Middleware Site Studio for External Applications Java API Reference
11g Release 1 (11.1.1)

E17273-02


oracle.stellent.wcm.server.content.impl
Class GlobalContentCache

java.lang.Object
  extended by oracle.stellent.wcm.server.content.impl.GlobalContentCache

All Implemented Interfaces:
ContentCache

public class GlobalContentCache
extends java.lang.Object
implements ContentCache

Cache of the content items used in the WCM server. Employs a locking mechanism so this class is safe to share among threads. Has a concept of maximum size using LRU-style alogrithm. Also listens for Content Events to remove items asynchronously and exposes a cache-callback interface to remove items as they are accessed.


Nested Class Summary
static interface GlobalContentCache.CacheCallback
          Callback used to remove items from the cache as they are accessed
static class GlobalContentCache.Item
          Holds an item in the cache along with a timestamp

 

Nested classes/interfaces inherited from interface oracle.stellent.wcm.server.content.ContentCache
ContentCache.Key<T>

 

Field Summary

 

Fields inherited from interface oracle.stellent.wcm.server.content.ContentCache
KEY_ASSET_TYPES, KEY_CONTENT_INFO, KEY_CONVERSION_DEFINITION, KEY_ELEMENT_DEFINITION, KEY_MANAGED_DATAFILE, KEY_PLACEHOLDER_DEFINITION, KEY_REGION_DEFINITION, KEY_TIMESTAMP, KEY_WEB_CONTENT

 

Constructor Summary
GlobalContentCache(Provider provider, int cacheSize, long timeout)
           

 

Method Summary
 void clear()
          Clear all items from cache
 void clearContentObjects(ContentID contentID)
          Clear all objects under a given content ID
 boolean containsKey(ContentID contentID, java.lang.String name)
          Determine if the cache contains the given key
 GlobalContentCache.CacheCallback getCacheCallback()
           
 int getCacheSize()
           
protected  GlobalContentCache.Item getContentItem(ContentID contentID, boolean create)
           
<T> T
getContentObject(ContentID contentID, ContentCache.Key<T> key)
          Retrieve an item from the cache that is of the type specified by the key
 java.lang.Object getContentObject(ContentID contentID, java.lang.String name)
          Retrieve an item from the cache
 Provider getProvider()
           
 java.util.concurrent.locks.Lock getReadLock()
           
 long getTimeout()
           
 java.util.concurrent.locks.Lock getWriteLock()
           
protected  boolean isExpired(GlobalContentCache.Item item)
          Determine if the item is expired
 void setCacheCallback(GlobalContentCache.CacheCallback cacheCallback)
           
<T> void
setContentObject(ContentID contentID, ContentCache.Key<T> key, T object)
          Associate the object with the given content ID and key name
 void setContentObject(ContentID contentID, java.lang.String name, java.lang.Object object)
          Associate the object with the given content ID and key
 void updateContentObjectsWithRS(oracle.stellent.ridc.model.DataResultSet resultSet)
          Update existing content objects or create new content objects in the cache for each row in the result set.

 

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

 

Constructor Detail

GlobalContentCache

public GlobalContentCache(Provider provider,
                          int cacheSize,
                          long timeout)

Method Detail

getProvider

public Provider getProvider()

getCacheSize

public int getCacheSize()

getTimeout

public long getTimeout()

getCacheCallback

public GlobalContentCache.CacheCallback getCacheCallback()

setCacheCallback

public void setCacheCallback(GlobalContentCache.CacheCallback cacheCallback)

getReadLock

public java.util.concurrent.locks.Lock getReadLock()

getWriteLock

public java.util.concurrent.locks.Lock getWriteLock()

getContentObject

public <T> T getContentObject(ContentID contentID,
                              ContentCache.Key<T> key)
Retrieve an item from the cache that is of the type specified by the key
Specified by:
getContentObject in interface ContentCache
Parameters:
contentID - the content ID
key - the item key
Returns:
the item or null

getContentObject

public java.lang.Object getContentObject(ContentID contentID,
                                         java.lang.String name)
Retrieve an item from the cache
Specified by:
getContentObject in interface ContentCache
Parameters:
contentID - the content ID of the item
name - the item key
Returns:
the item or null

setContentObject

public <T> void setContentObject(ContentID contentID,
                                 ContentCache.Key<T> key,
                                 T object)
Associate the object with the given content ID and key name
Specified by:
setContentObject in interface ContentCache
Parameters:
contentID - the content ID
key - the item key
object - the object

setContentObject

public void setContentObject(ContentID contentID,
                             java.lang.String name,
                             java.lang.Object object)
Associate the object with the given content ID and key
Specified by:
setContentObject in interface ContentCache
Parameters:
contentID - the content ID
name - the item name
object - the object

clearContentObjects

public void clearContentObjects(ContentID contentID)
Clear all objects under a given content ID
Specified by:
clearContentObjects in interface ContentCache
Parameters:
contentID - the content ID

containsKey

public boolean containsKey(ContentID contentID,
                           java.lang.String name)
Determine if the cache contains the given key
Specified by:
containsKey in interface ContentCache
Parameters:
contentID - the content ID
name - the key name
Returns:
true if this is in the cache, false otherwise

updateContentObjectsWithRS

public void updateContentObjectsWithRS(oracle.stellent.ridc.model.DataResultSet resultSet)
Update existing content objects or create new content objects in the cache for each row in the result set. It is assumed the row will contain a "dDocName" parameter.
Specified by:
updateContentObjectsWithRS in interface ContentCache
Parameters:
resultSet - the result set, each row containing at least a "dDocName" value

clear

public void clear()
Clear all items from cache
Specified by:
clear in interface ContentCache

isExpired

protected boolean isExpired(GlobalContentCache.Item item)
Determine if the item is expired
Parameters:
item - the item
Returns:
true if this is expired

getContentItem

protected GlobalContentCache.Item getContentItem(ContentID contentID,
                                                 boolean create)

Skip navigation links

Oracle® Fusion Middleware Site Studio for External Applications Java API Reference
11g Release 1 (11.1.1)

E17273-02


Copyright © 2010, 2011, Oracle and/or its affiliates. All rights reserved.