Package mondrian.rolap
Class MemberNoCacheHelper
- java.lang.Object
-
- mondrian.rolap.MemberCacheHelper
-
- mondrian.rolap.MemberNoCacheHelper
-
- All Implemented Interfaces:
MemberCache
public class MemberNoCacheHelper extends MemberCacheHelper
Encapsulation of member caching for no caching.- Version:
- 1.0
- Author:
- Luis F. Canals (lcanals@tasecurity.net)
-
-
Field Summary
Fields Modifier and Type Field Description (package private) DataSourceChangeListener
changeListener
-
Fields inherited from class mondrian.rolap.MemberCacheHelper
mapKeyToMember, mapLevelToMembers, mapMemberToChildren, mapParentToNamedChildren, rolapHierarchy
-
-
Constructor Summary
Constructors Constructor Description MemberNoCacheHelper()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkCacheStatus()
DataSourceChangeListener
getChangeListener()
List<RolapMember>
getChildrenFromCache(RolapMember member, MemberChildrenConstraint constraint)
Returns the children ofmember
if they are currently in the cache, otherwise returns null.List<RolapMember>
getLevelMembersFromCache(RolapLevel level, TupleConstraint constraint)
Returns the members oflevel
if they are currently in the cache, otherwise returns null.RolapMember
getMember(Object key)
Retrieves theRolapMember
with a given key.RolapMember
getMember(Object key, boolean mustCheckCacheStatus)
Retrieves theRolapMember
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 toMemberCache.getMember(Object)
orMemberCache.putMember(Object, RolapMember)
theRolapMember
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 ofMemberCacheHelper.putChildren(RolapLevel, TupleConstraint, List)
Object
putMember(Object key, RolapMember value)
Replaces theRolapMember
with a given key and returns the previous member if any.RolapMember
removeMember(Object key)
Removes theRolapMember
with a given key from the cache.RolapMember
removeMemberAndDescendants(Object key)
Removes the designatedRolapMember
and all its descendants.void
setChangeListener(DataSourceChangeListener listener)
-
Methods inherited from class mondrian.rolap.MemberCacheHelper
flushCache, putChildren
-
-
-
-
Field Detail
-
changeListener
DataSourceChangeListener changeListener
-
-
Method Detail
-
getMember
public RolapMember getMember(Object key, boolean mustCheckCacheStatus)
Description copied from interface:MemberCache
Retrieves theRolapMember
with a given key.- Specified by:
getMember
in interfaceMemberCache
- Overrides:
getMember
in classMemberCacheHelper
- Parameters:
key
- cache key, created byMemberCache.makeKey(mondrian.rolap.RolapMember, java.lang.Object)
mustCheckCacheStatus
- Iftrue
, do not check cache status- Returns:
- member with a given cache key
-
putMember
public Object putMember(Object key, RolapMember value)
Description copied from interface:MemberCache
Replaces theRolapMember
with a given key and returns the previous member if any.- Specified by:
putMember
in interfaceMemberCache
- Overrides:
putMember
in classMemberCacheHelper
- Parameters:
key
- cache key, created byMemberCache.makeKey(mondrian.rolap.RolapMember, java.lang.Object)
value
- new member- Returns:
- Previous member with that key, or null.
-
makeKey
public Object makeKey(RolapMember parent, Object key)
Description copied from interface:MemberCache
Creates a key with which toMemberCache.getMember(Object)
orMemberCache.putMember(Object, RolapMember)
theRolapMember
with a given parent and key.- Specified by:
makeKey
in interfaceMemberCache
- Overrides:
makeKey
in classMemberCacheHelper
- Parameters:
parent
- Parent memberkey
- Key of member within parent- Returns:
- key with which to address this member in the cache
-
getMember
public RolapMember getMember(Object key)
Description copied from interface:MemberCache
Retrieves theRolapMember
with a given key.- Specified by:
getMember
in interfaceMemberCache
- Overrides:
getMember
in classMemberCacheHelper
- Parameters:
key
- cache key, created byMemberCache.makeKey(mondrian.rolap.RolapMember, java.lang.Object)
- Returns:
- member with a given cache key
-
checkCacheStatus
public void checkCacheStatus()
- Overrides:
checkCacheStatus
in classMemberCacheHelper
-
putLevelMembersInCache
public void putLevelMembersInCache(RolapLevel level, TupleConstraint constraint, List<RolapMember> members)
Description copied from class:MemberCacheHelper
Deprecated in favor ofMemberCacheHelper.putChildren(RolapLevel, TupleConstraint, List)
- Overrides:
putLevelMembersInCache
in classMemberCacheHelper
-
getChildrenFromCache
public List<RolapMember> getChildrenFromCache(RolapMember member, MemberChildrenConstraint constraint)
Description copied from interface:MemberCache
Returns the children ofmember
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.
- Specified by:
getChildrenFromCache
in interfaceMemberCache
- Overrides:
getChildrenFromCache
in classMemberCacheHelper
- Parameters:
member
- the parent memberconstraint
- the condition that was used when the members were fetched. May be null for all members (no constraint)- Returns:
- list of children, or null if not in cache
-
putChildren
public void putChildren(RolapMember member, MemberChildrenConstraint constraint, List<RolapMember> children)
Description copied from interface:MemberCache
- Specified by:
putChildren
in interfaceMemberCache
- Overrides:
putChildren
in classMemberCacheHelper
- Parameters:
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 children
-
getLevelMembersFromCache
public List<RolapMember> getLevelMembersFromCache(RolapLevel level, TupleConstraint constraint)
Description copied from interface:MemberCache
Returns the members oflevel
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.
- Specified by:
getLevelMembersFromCache
in interfaceMemberCache
- Overrides:
getLevelMembersFromCache
in classMemberCacheHelper
- Parameters:
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)- Returns:
- members of level, or null if not in cache
-
getChangeListener
public DataSourceChangeListener getChangeListener()
- Overrides:
getChangeListener
in classMemberCacheHelper
-
setChangeListener
public void setChangeListener(DataSourceChangeListener listener)
- Overrides:
setChangeListener
in classMemberCacheHelper
-
isMutable
public boolean isMutable()
Description copied from interface:MemberCache
Returns whether the cache supports removing selected items. If it does, it is valid to call theMemberCache.removeMember(Object)
andMemberCache.removeMemberAndDescendants(Object)
methods.REVIEW: remove isMutable and move removeMember and removeMemberAndDescendants to new interface MutableMemberCache
- Specified by:
isMutable
in interfaceMemberCache
- Overrides:
isMutable
in classMemberCacheHelper
- Returns:
- true if the cache supports removing selected items.
-
removeMember
public RolapMember removeMember(Object key)
Description copied from interface:MemberCache
Removes theRolapMember
with a given key from the cache. Returns the previous member with that key, or null. Optional operation: seeMemberCache.isMutable()
.- Specified by:
removeMember
in interfaceMemberCache
- Overrides:
removeMember
in classMemberCacheHelper
- Parameters:
key
- cache key, created byMemberCache.makeKey(mondrian.rolap.RolapMember, java.lang.Object)
- Returns:
- previous member with that key, or null
-
removeMemberAndDescendants
public RolapMember removeMemberAndDescendants(Object key)
Description copied from interface:MemberCache
Removes the designatedRolapMember
and all its descendants. Returns the previous member with that key, or null. Optional operation: seeMemberCache.isMutable()
.- Specified by:
removeMemberAndDescendants
in interfaceMemberCache
- Overrides:
removeMemberAndDescendants
in classMemberCacheHelper
- Parameters:
key
- cache key, created byMemberCache.makeKey(mondrian.rolap.RolapMember, java.lang.Object)
- Returns:
- previous member with that key, or null
-
-