Package mondrian.rolap.agg
Class SegmentCacheWorker
java.lang.Object
mondrian.rolap.agg.SegmentCacheWorker
Utility class to interact with the
SegmentCache
.- Author:
- LBoudreau
- See Also:
-
Constructor Summary
ConstructorDescriptionSegmentCacheWorker
(SegmentCache cache, Thread cacheMgrThread) Creates a worker. -
Method Summary
Modifier and TypeMethodDescriptionget
(SegmentHeader header) Returns a segment body corresponding to a header.Returns a list of segments present in the cache.static List<SegmentCache>
Instantiates a cache.void
put
(SegmentHeader header, SegmentBody body) Places a segment in the cache.boolean
remove
(SegmentHeader header) Removes a segment from the cache.void
shutdown()
boolean
-
Constructor Details
-
SegmentCacheWorker
Creates a worker.- Parameters:
cache
- Cache managed by this workercacheMgrThread
- Thread that the cache manager actor is running on, and which therefore should not be used for potentially long-running calls this this cache. Pass null if methods can be called from any thread.
-
-
Method Details
-
initCache
Instantiates a cache. Returns null if there is no external cache defined.- Returns:
- Cache
-
get
Returns a segment body corresponding to a header.If no cache is configured or there is an error while querying the cache, null is returned none the less.
- Parameters:
header
- Header to search.- Returns:
- Either a segment body object or null if there was no cache configured or no segment could be found for the passed header.
-
put
Places a segment in the cache. Returns true or false if the operation succeeds.- Parameters:
header
- A header to search for in the segment cache.body
- The segment body to cache.
-
remove
Removes a segment from the cache.- Parameters:
header
- A header to remove in the segment cache.- Returns:
- Whether a segment was removed
-
getSegmentHeaders
Returns a list of segments present in the cache.- Returns:
- List of headers in the cache
-
supportsRichIndex
public boolean supportsRichIndex() -
shutdown
public void shutdown()
-