public class MemberNoCacheHelper extends MemberCacheHelper
Modifier and Type | Field and Description |
---|---|
(package private) DataSourceChangeListener |
changeListener |
mapKeyToMember, mapLevelToMembers, mapMemberToChildren, mapParentToNamedChildren, rolapHierarchy
Constructor and Description |
---|
MemberNoCacheHelper() |
Modifier and Type | Method and Description |
---|---|
void |
checkCacheStatus() |
DataSourceChangeListener |
getChangeListener() |
List<RolapMember> |
getChildrenFromCache(RolapMember member,
MemberChildrenConstraint constraint)
Returns the children of
member if they are currently in the
cache, otherwise returns null. |
List<RolapMember> |
getLevelMembersFromCache(RolapLevel level,
TupleConstraint constraint)
Returns the members of
level if they are currently in the
cache, otherwise returns null. |
RolapMember |
getMember(Object key)
Retrieves the
RolapMember with a given key. |
RolapMember |
getMember(Object key,
boolean mustCheckCacheStatus)
Retrieves the
RolapMember with a given key. |
boolean |
isMutable()
Returns whether the cache supports removing selected items.
|
Object |
makeKey(RolapMember parent,
Object key)
Creates a key with which to
MemberCache.getMember(Object) or
MemberCache.putMember(Object, RolapMember) the
RolapMember with a given parent and key. |
void |
putChildren(RolapMember member,
MemberChildrenConstraint constraint,
List<RolapMember> children)
|
void |
putLevelMembersInCache(RolapLevel level,
TupleConstraint constraint,
List<RolapMember> members)
Deprecated in favor of
MemberCacheHelper.putChildren(RolapLevel, TupleConstraint, List) |
Object |
putMember(Object key,
RolapMember value)
Replaces the
RolapMember with a given key and returns the
previous member if any. |
RolapMember |
removeMember(Object key)
Removes the
RolapMember with a given key from the cache. |
RolapMember |
removeMemberAndDescendants(Object key)
Removes the designated
RolapMember and all its descendants. |
void |
setChangeListener(DataSourceChangeListener listener) |
flushCache, putChildren
DataSourceChangeListener changeListener
public RolapMember getMember(Object key, boolean mustCheckCacheStatus)
MemberCache
RolapMember
with a given key.getMember
in interface MemberCache
getMember
in class MemberCacheHelper
key
- cache key, created by MemberCache.makeKey(mondrian.rolap.RolapMember, java.lang.Object)
mustCheckCacheStatus
- If true
, do not check cache statuspublic Object putMember(Object key, RolapMember value)
MemberCache
RolapMember
with a given key and returns the
previous member if any.putMember
in interface MemberCache
putMember
in class MemberCacheHelper
key
- cache key, created by MemberCache.makeKey(mondrian.rolap.RolapMember, java.lang.Object)
value
- new memberpublic Object makeKey(RolapMember parent, Object key)
MemberCache
MemberCache.getMember(Object)
or
MemberCache.putMember(Object, RolapMember)
the
RolapMember
with a given parent and key.makeKey
in interface MemberCache
makeKey
in class MemberCacheHelper
parent
- Parent memberkey
- Key of member within parentpublic RolapMember getMember(Object key)
MemberCache
RolapMember
with a given key.getMember
in interface MemberCache
getMember
in class MemberCacheHelper
key
- cache key, created by MemberCache.makeKey(mondrian.rolap.RolapMember, java.lang.Object)
public void checkCacheStatus()
checkCacheStatus
in class MemberCacheHelper
public void putLevelMembersInCache(RolapLevel level, TupleConstraint constraint, List<RolapMember> members)
MemberCacheHelper
MemberCacheHelper.putChildren(RolapLevel, TupleConstraint, List)
putLevelMembersInCache
in class MemberCacheHelper
public List<RolapMember> getChildrenFromCache(RolapMember member, MemberChildrenConstraint constraint)
MemberCache
member
if they are currently in the
cache, otherwise returns null.
The children may be garbage collected as soon as the returned list may be garbage collected.
getChildrenFromCache
in interface MemberCache
getChildrenFromCache
in class MemberCacheHelper
member
- the parent memberconstraint
- the condition that was used when the members were
fetched. May be null for all members (no constraint)public void putChildren(RolapMember member, MemberChildrenConstraint constraint, List<RolapMember> children)
MemberCache
putChildren
in interface MemberCache
putChildren
in class MemberCacheHelper
member
- the parent memberconstraint
- the condition that was used when the members were
fetched. May be null for all members (no constraint)children
- list of childrenpublic List<RolapMember> getLevelMembersFromCache(RolapLevel level, TupleConstraint constraint)
MemberCache
level
if they are currently in the
cache, otherwise returns null.
The members may be garbage collected as soon as the returned list may be garbage collected.
getLevelMembersFromCache
in interface MemberCache
getLevelMembersFromCache
in class MemberCacheHelper
level
- the level whose members should be fetchedconstraint
- the condition that was used when the members were
fetched. May be null for all members (no constraint)public DataSourceChangeListener getChangeListener()
getChangeListener
in class MemberCacheHelper
public void setChangeListener(DataSourceChangeListener listener)
setChangeListener
in class MemberCacheHelper
public boolean isMutable()
MemberCache
MemberCache.removeMember(Object)
and
MemberCache.removeMemberAndDescendants(Object)
methods.
REVIEW: remove isMutable and move removeMember and removeMemberAndDescendants to new interface MutableMemberCache
isMutable
in interface MemberCache
isMutable
in class MemberCacheHelper
public RolapMember removeMember(Object key)
MemberCache
RolapMember
with a given key from the cache.
Returns the previous member with that key, or null.
Optional operation: see MemberCache.isMutable()
.removeMember
in interface MemberCache
removeMember
in class MemberCacheHelper
key
- cache key, created by MemberCache.makeKey(mondrian.rolap.RolapMember, java.lang.Object)
public RolapMember removeMemberAndDescendants(Object key)
MemberCache
RolapMember
and all its descendants.
Returns the previous member with that key, or null.
Optional operation: see MemberCache.isMutable()
.removeMemberAndDescendants
in interface MemberCache
removeMemberAndDescendants
in class MemberCacheHelper
key
- cache key, created by MemberCache.makeKey(mondrian.rolap.RolapMember, java.lang.Object)