org.apache.cayenne.cache
Interface QueryCache

All Known Implementing Classes:
MapQueryCache, OSQueryCache

public interface QueryCache

An interface that defines generic QueryCache.

Since:
3.0
Author:
Andrus Adamchik

Method Summary
 void clear()
          Clears all entries.
 List get(QueryMetadata metadata)
          Returns a cached query result for the given QueryMetadata or null if the result is not cached or is expired.
 List get(QueryMetadata metadata, QueryCacheEntryFactory factory)
          Returns a cached query result for the given QueryMetadata.
 void put(QueryMetadata metadata, List results)
           
 void remove(String key)
          Removes a single entry from cache.
 void removeGroup(String groupKey)
          Removes a group of entries identified by group key.
 int size()
           
 

Method Detail

get

List get(QueryMetadata metadata)
Returns a cached query result for the given QueryMetadata or null if the result is not cached or is expired.


get

List get(QueryMetadata metadata,
         QueryCacheEntryFactory factory)
Returns a cached query result for the given QueryMetadata. If the result is not cached or is expired, cache will use provided factory to rebuild the value and store it in the cache. A corollary is that this method never returns null.

Compared to get(QueryMetadata), this method allows the cache to do appropriate synchronization when refreshing the entry, preventing multiple threads from running the same query when a missing entry is requested by multiple threads simultaneously.


put

void put(QueryMetadata metadata,
         List results)

remove

void remove(String key)
Removes a single entry from cache.


removeGroup

void removeGroup(String groupKey)
Removes a group of entries identified by group key. This may not be supported by the implementation.


clear

void clear()
Clears all entries.


size

int size()


Copyright © 2001-2007 Apache Cayenne. All Rights Reserved.