Class QueryResultsCachePolicy

    • Field Detail

      • maximumResultSets

        protected int maximumResultSets
        Specifies the cache size.
      • cacheType

        protected Class cacheType
        Allows the identity map class type to be set.
      • isNullIgnored

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

        protected boolean invalidateOnChange
        Allows the query cache to be invalidated when any object of any of the query classes is modified.
      • invalidationClasses

        protected Set<Class> invalidationClasses
        Stores the set of classes that should trigger the query cached results to be invalidated.
    • 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

      • getInvalidationClasses

        public Set<Class> getInvalidationClasses()
        ADVANCED: Return the set of classes that should trigger the query cached results to be invalidated.
      • setInvalidationClasses

        public void setInvalidationClasses​(Set<Class> invalidationClasses)
        ADVANCED: Set the set of classes that should trigger the query cached results to be invalidated. This is normally computed by the query, but can be set in the case of native queries.
      • 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.
      • getInvalidateOnChange

        public boolean getInvalidateOnChange()
        PUBLIC: Return if any change to any object of the query class should cause the query results to be invalidated.
      • setInvalidateOnChange

        public void setInvalidateOnChange​(boolean invalidateOnChange)
        PUBLIC: Configure if any change to any object of the query class should cause the query results to be invalidated.
      • getCacheType

        public 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​(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.