public class SmartMemberListCache<K,V> extends Object
SmartCache
to store lists of members,
where the key depends on a SqlConstraint
.
Example 1:
select ... [Customer].[Name].members on rows ...
Example 2:
select ... NON EMPTY [Customer].[Name].members on rows ... WHERE ([Store#14], [Product].[Product#1])
The first set, all customers are computed, in the second only
those, who have bought Product#1 in Store#14. We want to put both results
into the cache. Then the key for the cache entry is the Level that the
members belong to plus the costraint that restricted the amount of
members fetched. For Level.Members the key consists of the Level and the
cacheKey of the SqlConstraint
.
SqlConstraint.getCacheKey()
Modifier and Type | Field and Description |
---|---|
(package private) SmartCache<Pair<K,Object>,V> |
cache |
Constructor and Description |
---|
SmartMemberListCache() |
Modifier and Type | Method and Description |
---|---|
void |
clear() |
V |
get(K key,
SqlConstraint constraint) |
(package private) SmartCache<Pair<K,Object>,V> |
getCache() |
Object |
put(K key,
SqlConstraint constraint,
V value) |
(package private) void |
setCache(SmartCache<Pair<K,Object>,V> cache) |
SmartCache<Pair<K,Object>,V> cache
public Object put(K key, SqlConstraint constraint, V value)
public V get(K key, SqlConstraint constraint)
public void clear()
SmartCache<Pair<K,Object>,V> getCache()
void setCache(SmartCache<Pair<K,Object>,V> cache)