Class NoCacheMemberReader
- All Implemented Interfaces:
MemberSource
- Direct Known Subclasses:
RolapCubeHierarchy.NoCacheRolapCubeHierarchyMemberReader
NoCacheMemberReader
implements MemberReader
but
without doing any kind of caching and avoiding to read all members.- Since:
- 06 October, 2007
- Author:
- jlopez, lcanals
-
Method Summary
Modifier and TypeMethodDescriptionint
compare
(RolapMember m1, RolapMember m2, boolean siblingsAreEqual) int
countMemberChildren
(Member member, List<RolapMember> children, MemberChildrenConstraint constraint) desubstitute
(RolapMember member) getChildrenFromCache
(RolapMember member, MemberChildrenConstraint constraint) Returns the hierarchy that this source is reading for.getLeadMember
(RolapMember member, int n) int
getLevelMemberCount
(RolapLevel level) getLevelMembersFromCache
(RolapLevel level, TupleConstraint constraint) getMemberByKey
(RolapLevel level, List<Comparable> keyValues) void
getMemberChildren
(List<RolapMember> parentMembers, List<RolapMember> children) Returns all members which are a child of one of the members inparentMembers
, sorted by ordinal.getMemberChildren
(List<RolapMember> parentMembers, List<RolapMember> children, MemberChildrenConstraint constraint) void
getMemberChildren
(RolapMember parentMember, List<RolapMember> children) Writes all childrenparentMember
tochildren
.getMemberChildren
(RolapMember parentMember, List<RolapMember> children, MemberChildrenConstraint constraint) int
Returns an estimate of number of members in this hierarchy.getMemberParent
(RolapMember member) void
getMemberRange
(RolapLevel level, RolapMember startMember, RolapMember endMember, List<RolapMember> list) Returns all members of this hierarchy, sorted by ordinal.getMembersInLevel
(RolapLevel level) getMembersInLevel
(RolapLevel level, TupleConstraint constraint) Returns all members of this hierarchy which do not have a parent, sorted by ordinal.boolean
lookupMember
(List<Id.Segment> uniqueNameParts, boolean failIfNotFound) Finds a member based upon its unique name.makeKey
(RolapMember parent, Object key) void
putChildren
(RolapLevel level, TupleConstraint constraint, List<RolapMember> children) void
putChildren
(RolapMember member, MemberChildrenConstraint constraint, List<RolapMember> children) putMember
(Object key, RolapMember value) protected void
readMemberChildren
(List<RolapMember> members, List<RolapMember> result, MemberChildrenConstraint constraint) Reads the children ofmember
intoresult
.removeMember
(Object key) boolean
setCache
(mondrian.rolap.MemberCache cache) Sets the cache which thisMemberSource
will write to.substitute
(RolapMember member)
-
Method Details
-
isMutable
public boolean isMutable() -
removeMember
-
removeMemberAndDescendants
-
getHierarchy
Description copied from interface:MemberSource
Returns the hierarchy that this source is reading for.- Specified by:
getHierarchy
in interfaceMemberSource
-
setCache
public boolean setCache(mondrian.rolap.MemberCache cache) Description copied from interface:MemberSource
Sets the cache which thisMemberSource
will write to.Cache-writeback is optional (for example,
SqlMemberSource
supports it, andArrayMemberSource
does 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:
setCache
in interfaceMemberSource
- Parameters:
cache
- TheMemberCache
which the caller would like thisMemberSource
to write to.- Returns:
- Whether this
MemberSource
supports cache-writeback.
-
makeKey
-
getMember
-
getMember
-
putMember
-
getMembers
Description copied from interface:MemberSource
Returns all members of this hierarchy, sorted by ordinal.If this object
supports cache-writeaback
, also writes these members to the cache.- Specified by:
getMembers
in interfaceMemberSource
-
getRootMembers
Description copied from interface:MemberSource
Returns 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:
getRootMembers
in interfaceMemberSource
- Returns:
List
ofRolapMember
s
-
getMembersInLevel
-
getMembersInLevel
-
getMemberByKey
-
countMemberChildren
public int countMemberChildren(Member member, List<RolapMember> children, MemberChildrenConstraint constraint) -
getMemberChildren
Description copied from interface:MemberSource
Writes all childrenparentMember
tochildren
.If this object
supports cache-writeback
, also writes these members to the cache.- Specified by:
getMemberChildren
in interfaceMemberSource
-
getMemberChildren
public Map<? extends Member,Access> getMemberChildren(RolapMember parentMember, List<RolapMember> children, MemberChildrenConstraint constraint) -
getMemberChildren
Description copied from interface:MemberSource
Returns 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:
getMemberChildren
in interfaceMemberSource
-
getMemberChildren
public Map<? extends Member,Access> getMemberChildren(List<RolapMember> parentMembers, List<RolapMember> children, MemberChildrenConstraint constraint) -
lookupMember
Description copied from interface:MemberSource
Finds a member based upon its unique name.- Specified by:
lookupMember
in interfaceMemberSource
-
getChildrenFromCache
public List<RolapMember> getChildrenFromCache(RolapMember member, MemberChildrenConstraint constraint) -
getLevelMembersFromCache
-
putChildren
public void putChildren(RolapMember member, MemberChildrenConstraint constraint, List<RolapMember> children) -
putChildren
-
getLeadMember
-
getMemberRange
public void getMemberRange(RolapLevel level, RolapMember startMember, RolapMember endMember, List<RolapMember> list) -
getMemberCount
public int getMemberCount()Description copied from interface:MemberSource
Returns an estimate of number of members in this hierarchy.- Specified by:
getMemberCount
in interfaceMemberSource
-
compare
-
getMemberBuilder
-
getDefaultMember
-
getLevelMemberCount
-
desubstitute
-
substitute
-
getMemberParent
-
readMemberChildren
protected void readMemberChildren(List<RolapMember> members, List<RolapMember> result, MemberChildrenConstraint constraint) Reads the children ofmember
intoresult
.- Parameters:
result
- Children are written here, in ordermembers
- Members whose children to readconstraint
- restricts the returned members if possible (optional optimization)
-