Class NoCacheMemberReader
- java.lang.Object
 - 
- mondrian.rolap.NoCacheMemberReader
 
 
- 
- All Implemented Interfaces:
 MemberSource
- Direct Known Subclasses:
 RolapCubeHierarchy.NoCacheRolapCubeHierarchyMemberReader
public class NoCacheMemberReader extends Object
NoCacheMemberReaderimplementsMemberReaderbut without doing any kind of caching and avoiding to read all members.- Since:
 - 06 October, 2007
 - Author:
 - jlopez, lcanals
 
 
- 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompare(RolapMember m1, RolapMember m2, boolean siblingsAreEqual)RolapMemberdesubstitute(RolapMember member)List<RolapMember>getChildrenFromCache(RolapMember member, MemberChildrenConstraint constraint)RolapMembergetDefaultMember()RolapHierarchygetHierarchy()Returns the hierarchy that this source is reading for.RolapMembergetLeadMember(RolapMember member, int n)intgetLevelMemberCount(RolapLevel level)List<RolapMember>getLevelMembersFromCache(RolapLevel level, TupleConstraint constraint)RolapMembergetMember(Object key)RolapMembergetMember(Object key, boolean mustCheckCacheStatus)TupleReader.MemberBuildergetMemberBuilder()RolapMembergetMemberByKey(RolapLevel level, List<Comparable> keyValues)voidgetMemberChildren(List<RolapMember> parentMembers, List<RolapMember> children)Returns all members which are a child of one of the members inparentMembers, sorted by ordinal.Map<? extends Member,Access>getMemberChildren(List<RolapMember> parentMembers, List<RolapMember> children, MemberChildrenConstraint constraint)voidgetMemberChildren(RolapMember parentMember, List<RolapMember> children)Writes all childrenparentMembertochildren.Map<? extends Member,Access>getMemberChildren(RolapMember parentMember, List<RolapMember> children, MemberChildrenConstraint constraint)intgetMemberCount()Returns an estimate of number of members in this hierarchy.RolapMembergetMemberParent(RolapMember member)voidgetMemberRange(RolapLevel level, RolapMember startMember, RolapMember endMember, List<RolapMember> list)List<RolapMember>getMembers()Returns all members of this hierarchy, sorted by ordinal.List<RolapMember>getMembersInLevel(RolapLevel level)List<RolapMember>getMembersInLevel(RolapLevel level, TupleConstraint constraint)List<RolapMember>getRootMembers()Returns all members of this hierarchy which do not have a parent, sorted by ordinal.booleanisMutable()RolapMemberlookupMember(List<Id.Segment> uniqueNameParts, boolean failIfNotFound)Finds a member based upon its unique name.ObjectmakeKey(RolapMember parent, Object key)voidputChildren(RolapLevel level, TupleConstraint constraint, List<RolapMember> children)voidputChildren(RolapMember member, MemberChildrenConstraint constraint, List<RolapMember> children)ObjectputMember(Object key, RolapMember value)protected voidreadMemberChildren(List<RolapMember> members, List<RolapMember> result, MemberChildrenConstraint constraint)Reads the children ofmemberintoresult.RolapMemberremoveMember(Object key)RolapMemberremoveMemberAndDescendants(Object key)booleansetCache(mondrian.rolap.MemberCache cache)Sets the cache which thisMemberSourcewill write to.RolapMembersubstitute(RolapMember member) 
 - 
 
- 
- 
Method Detail
- 
isMutable
public boolean isMutable()
 
- 
removeMember
public RolapMember removeMember(Object key)
 
- 
removeMemberAndDescendants
public RolapMember removeMemberAndDescendants(Object key)
 
- 
getHierarchy
public RolapHierarchy getHierarchy()
Description copied from interface:MemberSourceReturns the hierarchy that this source is reading for.- Specified by:
 getHierarchyin interfaceMemberSource
 
- 
setCache
public boolean setCache(mondrian.rolap.MemberCache cache)
Description copied from interface:MemberSourceSets the cache which thisMemberSourcewill write to.Cache-writeback is optional (for example,
SqlMemberSourcesupports it, andArrayMemberSourcedoes not), and the return value from this method indicates whether this object supports it.If this method returns
true, theMemberSource.getMembers(),MemberSource.getRootMembers()andMemberSource.getMemberChildren(mondrian.rolap.RolapMember, java.util.List<mondrian.rolap.RolapMember>)methods must write to the cache, in addition to returning members as a return value.- Specified by:
 setCachein interfaceMemberSource- Parameters:
 cache- TheMemberCachewhich the caller would like thisMemberSourceto write to.- Returns:
 - Whether this 
MemberSourcesupports cache-writeback. 
 
- 
makeKey
public Object makeKey(RolapMember parent, Object key)
 
- 
getMember
public RolapMember getMember(Object key)
 
- 
getMember
public RolapMember getMember(Object key, boolean mustCheckCacheStatus)
 
- 
putMember
public Object putMember(Object key, RolapMember value)
 
- 
getMembers
public List<RolapMember> getMembers()
Description copied from interface:MemberSourceReturns all members of this hierarchy, sorted by ordinal.If this object
supports cache-writeaback, also writes these members to the cache.- Specified by:
 getMembersin interfaceMemberSource
 
- 
getRootMembers
public List<RolapMember> getRootMembers()
Description copied from interface:MemberSourceReturns all members of this hierarchy which do not have a parent, sorted by ordinal.If this object
supports cache-writeback, also writes these members to the cache.- Specified by:
 getRootMembersin interfaceMemberSource- Returns:
 ListofRolapMembers
 
- 
getMembersInLevel
public List<RolapMember> getMembersInLevel(RolapLevel level)
 
- 
getMembersInLevel
public List<RolapMember> getMembersInLevel(RolapLevel level, TupleConstraint constraint)
 
- 
getMemberByKey
public RolapMember getMemberByKey(RolapLevel level, List<Comparable> keyValues)
 
- 
getMemberChildren
public void getMemberChildren(RolapMember parentMember, List<RolapMember> children)
Description copied from interface:MemberSourceWrites all childrenparentMembertochildren.If this object
supports cache-writeback, also writes these members to the cache.- Specified by:
 getMemberChildrenin interfaceMemberSource
 
- 
getMemberChildren
public Map<? extends Member,Access> getMemberChildren(RolapMember parentMember, List<RolapMember> children, MemberChildrenConstraint constraint)
 
- 
getMemberChildren
public void getMemberChildren(List<RolapMember> parentMembers, List<RolapMember> children)
Description copied from interface:MemberSourceReturns all members which are a child of one of the members inparentMembers, sorted by ordinal.If this object
supports cache-writeaback, also writes these members to the cache.- Specified by:
 getMemberChildrenin interfaceMemberSource
 
- 
getMemberChildren
public Map<? extends Member,Access> getMemberChildren(List<RolapMember> parentMembers, List<RolapMember> children, MemberChildrenConstraint constraint)
 
- 
lookupMember
public RolapMember lookupMember(List<Id.Segment> uniqueNameParts, boolean failIfNotFound)
Description copied from interface:MemberSourceFinds a member based upon its unique name.- Specified by:
 lookupMemberin interfaceMemberSource
 
- 
getChildrenFromCache
public List<RolapMember> getChildrenFromCache(RolapMember member, MemberChildrenConstraint constraint)
 
- 
getLevelMembersFromCache
public List<RolapMember> getLevelMembersFromCache(RolapLevel level, TupleConstraint constraint)
 
- 
putChildren
public void putChildren(RolapMember member, MemberChildrenConstraint constraint, List<RolapMember> children)
 
- 
putChildren
public void putChildren(RolapLevel level, TupleConstraint constraint, List<RolapMember> children)
 
- 
getLeadMember
public RolapMember getLeadMember(RolapMember member, int n)
 
- 
getMemberRange
public void getMemberRange(RolapLevel level, RolapMember startMember, RolapMember endMember, List<RolapMember> list)
 
- 
getMemberCount
public int getMemberCount()
Description copied from interface:MemberSourceReturns an estimate of number of members in this hierarchy.- Specified by:
 getMemberCountin interfaceMemberSource
 
- 
compare
public int compare(RolapMember m1, RolapMember m2, boolean siblingsAreEqual)
 
- 
getMemberBuilder
public TupleReader.MemberBuilder getMemberBuilder()
 
- 
getDefaultMember
public RolapMember getDefaultMember()
 
- 
getLevelMemberCount
public int getLevelMemberCount(RolapLevel level)
 
- 
desubstitute
public RolapMember desubstitute(RolapMember member)
 
- 
substitute
public RolapMember substitute(RolapMember member)
 
- 
getMemberParent
public RolapMember getMemberParent(RolapMember member)
 
- 
readMemberChildren
protected void readMemberChildren(List<RolapMember> members, List<RolapMember> result, MemberChildrenConstraint constraint)
Reads the children ofmemberintoresult.- Parameters:
 result- Children are written here, in ordermembers- Members whose children to readconstraint- restricts the returned members if possible (optional optimization)
 
 - 
 
 -