EclipseLink 2.2.0, build 'v20110202-r8913' API Reference

org.eclipse.persistence.queries
Class QueryResultsCachePolicy

java.lang.Object
  extended by org.eclipse.persistence.queries.QueryResultsCachePolicy
All Implemented Interfaces:
java.io.Serializable

public class QueryResultsCachePolicy
extends java.lang.Object
implements java.io.Serializable

PUBLIC: A QueryResultsCache policy dictates how a query's results will be cached. It allows an invalidation policy and a maximum number of results to be set. Query results are cached based on the parameter values of a query, and the maximum number of results refers to the maximum number of parameter sets results will be ached for.

See Also:
org.eclipse.persistence.queries.ReadQuery#setQueryCachePolicy(QueryResultsCachePolicy), Serialized Form

Field Summary
protected  java.lang.Class cacheType
          Allows the identity map class type to be set.
protected  CacheInvalidationPolicy invalidationPolicy
          Allows invalidation to be specified.
protected  boolean isNullIgnored
          Allows the caching of null to be configured.
protected  int maximumResultSets
          Specifies the cache size.
 
Constructor Summary
QueryResultsCachePolicy()
          PUBLIC: Build a QueryResultsCachePolicy with the default settings By default there is no invalidation of query results and the maximum number of results sets is 100.
QueryResultsCachePolicy(CacheInvalidationPolicy policy)
          PUBLIC: Build a QueryResultsCachePolicy and supply a CacheInvalidationPolicy.
QueryResultsCachePolicy(CacheInvalidationPolicy policy, int maximumResultSets)
          PUBLIC: Build a QueryResultsCachePolicy and supply a CacheInvalidationPolicy and a maximum number of results sets.
QueryResultsCachePolicy(int maximumResultSets)
          PUBLIC: Build a QueryResultsCachePolicy and supply a maximum for the number of results sets.
 
Method Summary
 CacheInvalidationPolicy getCacheInvalidationPolicy()
          PUBLIC: Return the query cache invalidation policy.
 java.lang.Class getCacheType()
          PUBLIC: Return the type of the cache used for the query results.
 int getMaximumCachedResults()
          PUBLIC: Return the maximum cached results.
 boolean isNullIgnored()
          PUBLIC: Return if null results should be cached or ignored.
 void setCacheInvalidationPolicy(CacheInvalidationPolicy invalidationPolicy)
          PUBLIC: Set the query cache invalidation policy.
 void setCacheType(java.lang.Class cacheType)
          PUBLIC: Set the type of the cache used for the query results.
 void setIsNullIgnored(boolean isNullIgnored)
          PUBLIC: Set if null results should be cached or ignored.
 void setMaximumCachedResults(int maximumResultSets)
          PUBLIC: Set the maximum cached results.
 void useFullCache()
          PUBLIC: Set the type of the cache used for the query results to a FullIdentityMap.
 void useLRUCache()
          PUBLIC: Set the type of the cache used for the query results to a CacheIdentityMap.
 void useSoftCache()
          PUBLIC: Set the type of the cache used for the query results to a SoftIdentityMap.
 void useSoftLRUCache()
          PUBLIC: Set the type of the cache used for the query results to a SoftCacheWeakIdentityMap.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

invalidationPolicy

protected CacheInvalidationPolicy invalidationPolicy
Allows invalidation to be specified.


maximumResultSets

protected int maximumResultSets
Specifies the cache size.


cacheType

protected java.lang.Class cacheType
Allows the identity map class type to be set.


isNullIgnored

protected boolean isNullIgnored
Allows the caching of null to be configured.

Constructor Detail

QueryResultsCachePolicy

public QueryResultsCachePolicy()
PUBLIC: Build a QueryResultsCachePolicy with the default settings By default there is no invalidation of query results and the maximum number of results sets is 100.


QueryResultsCachePolicy

public QueryResultsCachePolicy(CacheInvalidationPolicy policy,
                               int maximumResultSets)
PUBLIC: Build a QueryResultsCachePolicy and supply a CacheInvalidationPolicy and a maximum number of results sets.

See Also:
CacheInvalidationPolicy

QueryResultsCachePolicy

public QueryResultsCachePolicy(CacheInvalidationPolicy policy)
PUBLIC: Build a QueryResultsCachePolicy and supply a CacheInvalidationPolicy. The default value of 100 will be used for the maximum number of result sets

See Also:
CacheInvalidationPolicy

QueryResultsCachePolicy

public QueryResultsCachePolicy(int maximumResultSets)
PUBLIC: Build a QueryResultsCachePolicy and supply a maximum for the number of results sets. Results will be set not to expire in the cache.

Method Detail

isNullIgnored

public boolean isNullIgnored()
PUBLIC: Return if null results should be cached or ignored. By default they are cached. They can be ignored to allow a query cache to be used as a secondary cache index, and allow new objects to be insert, and still found.


setIsNullIgnored

public void setIsNullIgnored(boolean isNullIgnored)
PUBLIC: Set if null results should be cached or ignored. By default they are cached. They can be ignored to allow a query cache to be used as a secondary cache index, and allow new objects to be insert, and still found.


getCacheType

public java.lang.Class getCacheType()
PUBLIC: Return the type of the cache used for the query results. This defaults to a LRU cache (CacheIdentityMap), but can be set to any IdentityMap class, such as Full or Soft.


setCacheType

public void setCacheType(java.lang.Class cacheType)
PUBLIC: Set the type of the cache used for the query results. This defaults to a LRU cache (CacheIdentityMap), but can be set to any IdentityMap class, such as Full or Soft.


useFullCache

public void useFullCache()
PUBLIC: Set the type of the cache used for the query results to a FullIdentityMap. This will cache all query results, so caution should be used to avoid running out of memory.


useSoftCache

public void useSoftCache()
PUBLIC: Set the type of the cache used for the query results to a SoftIdentityMap. This will cache all query results, unless the JVM believes memory is low.


useSoftLRUCache

public void useSoftLRUCache()
PUBLIC: Set the type of the cache used for the query results to a SoftCacheWeakIdentityMap. This will uses a fixed size LRU cache using Soft references, so will allow garbage collection when memory is low.


useLRUCache

public void useLRUCache()
PUBLIC: Set the type of the cache used for the query results to a CacheIdentityMap. This will uses a fixed size LRU cache. This is the default.


getCacheInvalidationPolicy

public CacheInvalidationPolicy getCacheInvalidationPolicy()
PUBLIC: Return the query cache invalidation policy. The cache invalidation policy defines how the query results are invalidated.


setCacheInvalidationPolicy

public void setCacheInvalidationPolicy(CacheInvalidationPolicy invalidationPolicy)
PUBLIC: Set the query cache invalidation policy. The cache invalidation policy defines how the query results are invalidated.


getMaximumCachedResults

public int getMaximumCachedResults()
PUBLIC: Return the maximum cached results. This defines the number of query result sets that will be cached. The LRU query results will be discarded when the max size is reached.


setMaximumCachedResults

public void setMaximumCachedResults(int maximumResultSets)
PUBLIC: Set the maximum cached results. This defines the number of query result sets that will be cached. The LRU query results will be discarded when the max size is reached.


EclipseLink 2.2.0, build 'v20110202-r8913' API Reference