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) DataSourceChangeListenerchangeListener-
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 voidcheckCacheStatus()DataSourceChangeListenergetChangeListener()List<RolapMember>getChildrenFromCache(RolapMember member, MemberChildrenConstraint constraint)Returns the children ofmemberif they are currently in the cache, otherwise returns null.List<RolapMember>getLevelMembersFromCache(RolapLevel level, TupleConstraint constraint)Returns the members oflevelif they are currently in the cache, otherwise returns null.RolapMembergetMember(Object key)Retrieves theRolapMemberwith a given key.RolapMembergetMember(Object key, boolean mustCheckCacheStatus)Retrieves theRolapMemberwith a given key.booleanisMutable()Returns whether the cache supports removing selected items.ObjectmakeKey(RolapMember parent, Object key)Creates a key with which toMemberCache.getMember(Object)orMemberCache.putMember(Object, RolapMember)theRolapMemberwith a given parent and key.voidputChildren(RolapMember member, MemberChildrenConstraint constraint, List<RolapMember> children)voidputLevelMembersInCache(RolapLevel level, TupleConstraint constraint, List<RolapMember> members)Deprecated in favor ofMemberCacheHelper.putChildren(RolapLevel, TupleConstraint, List)ObjectputMember(Object key, RolapMember value)Replaces theRolapMemberwith a given key and returns the previous member if any.RolapMemberremoveMember(Object key)Removes theRolapMemberwith a given key from the cache.RolapMemberremoveMemberAndDescendants(Object key)Removes the designatedRolapMemberand all its descendants.voidsetChangeListener(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:MemberCacheRetrieves theRolapMemberwith a given key.- Specified by:
getMemberin interfaceMemberCache- Overrides:
getMemberin 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:MemberCacheReplaces theRolapMemberwith a given key and returns the previous member if any.- Specified by:
putMemberin interfaceMemberCache- Overrides:
putMemberin 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:MemberCacheCreates a key with which toMemberCache.getMember(Object)orMemberCache.putMember(Object, RolapMember)theRolapMemberwith a given parent and key.- Specified by:
makeKeyin interfaceMemberCache- Overrides:
makeKeyin 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:MemberCacheRetrieves theRolapMemberwith a given key.- Specified by:
getMemberin interfaceMemberCache- Overrides:
getMemberin 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:
checkCacheStatusin classMemberCacheHelper
-
putLevelMembersInCache
public void putLevelMembersInCache(RolapLevel level, TupleConstraint constraint, List<RolapMember> members)
Description copied from class:MemberCacheHelperDeprecated in favor ofMemberCacheHelper.putChildren(RolapLevel, TupleConstraint, List)- Overrides:
putLevelMembersInCachein classMemberCacheHelper
-
getChildrenFromCache
public List<RolapMember> getChildrenFromCache(RolapMember member, MemberChildrenConstraint constraint)
Description copied from interface:MemberCacheReturns the children ofmemberif 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:
getChildrenFromCachein interfaceMemberCache- Overrides:
getChildrenFromCachein 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:
putChildrenin interfaceMemberCache- Overrides:
putChildrenin 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:MemberCacheReturns the members oflevelif 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:
getLevelMembersFromCachein interfaceMemberCache- Overrides:
getLevelMembersFromCachein 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:
getChangeListenerin classMemberCacheHelper
-
setChangeListener
public void setChangeListener(DataSourceChangeListener listener)
- Overrides:
setChangeListenerin classMemberCacheHelper
-
isMutable
public boolean isMutable()
Description copied from interface:MemberCacheReturns 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:
isMutablein interfaceMemberCache- Overrides:
isMutablein classMemberCacheHelper- Returns:
- true if the cache supports removing selected items.
-
removeMember
public RolapMember removeMember(Object key)
Description copied from interface:MemberCacheRemoves theRolapMemberwith a given key from the cache. Returns the previous member with that key, or null. Optional operation: seeMemberCache.isMutable().- Specified by:
removeMemberin interfaceMemberCache- Overrides:
removeMemberin 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:MemberCacheRemoves the designatedRolapMemberand all its descendants. Returns the previous member with that key, or null. Optional operation: seeMemberCache.isMutable().- Specified by:
removeMemberAndDescendantsin interfaceMemberCache- Overrides:
removeMemberAndDescendantsin classMemberCacheHelper- Parameters:
key- cache key, created byMemberCache.makeKey(mondrian.rolap.RolapMember, java.lang.Object)- Returns:
- previous member with that key, or null
-
-