Package mondrian.rolap
Interface RolapCubeHierarchy.RolapCubeHierarchyMemberReader
-
- All Superinterfaces:
MemberSource
- All Known Implementing Classes:
RolapCubeHierarchy.CacheRolapCubeHierarchyMemberReader
,RolapCubeHierarchy.NoCacheRolapCubeHierarchyMemberReader
- Enclosing class:
- RolapCubeHierarchy
public static interface RolapCubeHierarchy.RolapCubeHierarchyMemberReader
TODO: Since this is part of a caching strategy, should be implemented as a Strategy Pattern, avoiding hierarchy.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
compare(RolapMember m1, RolapMember m2, boolean siblingsAreEqual)
Compares two members according to their order in a prefix ordered traversal.RolapMember
desubstitute(RolapMember member)
Returns the member which was substituted.RolapMember
getDefaultMember()
RolapMember
getLeadMember(RolapMember member, int n)
Returns the membern
aftermember
in the same level (or before, ifn
is negative).int
getLevelMemberCount(RolapLevel level)
Returns the number of members in this level.TupleReader.MemberBuilder
getMemberBuilder()
RolapMember
getMemberByKey(RolapLevel level, List<Comparable> keyValues)
Looks up a member by its key value.Map<? extends Member,Access>
getMemberChildren(List<RolapMember> parentMembers, List<RolapMember> children, MemberChildrenConstraint constraint)
Populates a list of the children of a given set of Members, optionally applying a constraint.Map<? extends Member,Access>
getMemberChildren(RolapMember member, List<RolapMember> children, MemberChildrenConstraint constraint)
Populates a list of the children of a Member, optionally applying a constraint.RolapMember
getMemberParent(RolapMember member)
void
getMemberRange(RolapLevel level, RolapMember startMember, RolapMember endMember, List<RolapMember> list)
Writes all members betweenstartMember
andendMember
intolist
.List<RolapMember>
getMembersInLevel(RolapLevel level)
Returns all of the members inlevel
whose ordinal lies betweenstartOrdinal
andendOrdinal
.List<RolapMember>
getMembersInLevel(RolapLevel level, TupleConstraint constraint)
Returns the members in the given Level, optionally applying a constraint.MemberCacheHelper
getRolapCubeMemberCacheHelper()
RolapCubeMember
lookupCubeMember(RolapCubeMember parent, RolapMember member, RolapCubeLevel level)
RolapMember
substitute(RolapMember member)
Substitutes a given member.-
Methods inherited from interface mondrian.rolap.MemberSource
getHierarchy, getMemberChildren, getMemberChildren, getMemberCount, getMembers, getRootMembers, lookupMember, setCache
-
-
-
-
Method Detail
-
lookupCubeMember
RolapCubeMember lookupCubeMember(RolapCubeMember parent, RolapMember member, RolapCubeLevel level)
-
getRolapCubeMemberCacheHelper
MemberCacheHelper getRolapCubeMemberCacheHelper()
-
getLeadMember
RolapMember getLeadMember(RolapMember member, int n)
Returns the membern
aftermember
in the same level (or before, ifn
is negative). ReturnsHierarchy.getNullMember()
if we run off the beginning or end of the level.
-
getMembersInLevel
List<RolapMember> getMembersInLevel(RolapLevel level)
Returns all of the members inlevel
whose ordinal lies betweenstartOrdinal
andendOrdinal
.If this object
supports cache-writeback
, also writes these members to the cache.- Returns:
List
ofRolapMember
-
getMemberRange
void getMemberRange(RolapLevel level, RolapMember startMember, RolapMember endMember, List<RolapMember> list)
Writes all members betweenstartMember
andendMember
intolist
.
-
compare
int compare(RolapMember m1, RolapMember m2, boolean siblingsAreEqual)
Compares two members according to their order in a prefix ordered traversal. IfsiblingsAreEqual
, then two members with the same parent will compare equal.- Returns:
- less than zero if m1 occurs before m2,
greater than zero if m1 occurs after m2,
zero if m1 is equal to m2, or if
siblingsAreEqual
and m1 and m2 have the same parent
-
getMemberChildren
Map<? extends Member,Access> getMemberChildren(RolapMember member, List<RolapMember> children, MemberChildrenConstraint constraint)
Populates a list of the children of a Member, optionally applying a constraint.- Parameters:
member
- Members whose children to findchildren
- List to populate with membersconstraint
- Constraint- Returns:
- After populating the list passed as an argument,
this method returns a map of the members it just populated
along with the Access information applicable. If no access
control applies to the member, the map will contain
null
values.
-
getMemberChildren
Map<? extends Member,Access> getMemberChildren(List<RolapMember> parentMembers, List<RolapMember> children, MemberChildrenConstraint constraint)
Populates a list of the children of a given set of Members, optionally applying a constraint.- Parameters:
parentMembers
- List of members whose children to findchildren
- List to populate with membersconstraint
- Constraint- Returns:
- After populating the list passed as an argument,
this method returns a map of the members it just populated
along with the Access information applicable. If no access
control applies to the member, the map will contain
null
values.
-
getMembersInLevel
List<RolapMember> getMembersInLevel(RolapLevel level, TupleConstraint constraint)
Returns the members in the given Level, optionally applying a constraint.- Parameters:
level
- Levelconstraint
- Constraint- Returns:
- list of members
-
getLevelMemberCount
int getLevelMemberCount(RolapLevel level)
Returns the number of members in this level.- Parameters:
level
- Level- Returns:
- number of members in level
-
getMemberBuilder
TupleReader.MemberBuilder getMemberBuilder()
-
getDefaultMember
RolapMember getDefaultMember()
-
getMemberParent
RolapMember getMemberParent(RolapMember member)
-
substitute
RolapMember substitute(RolapMember member)
Substitutes a given member. If member is null, returns null.This method is called whenever a member is returned from the wrapped member reader and is to be returned to the caller. You could say that it translates 'to caller space'.
- Parameters:
member
- Member- Returns:
- Substitute member
-
desubstitute
RolapMember desubstitute(RolapMember member)
Returns the member which was substituted. If member is null, returns null.This method is called whenever the caller passes a member into a method and needs to be passed to a method on the wrapped member reader. You could say that it translates 'from caller space'.
- Parameters:
member
- Member- Returns:
- Internal member
-
getMemberByKey
RolapMember getMemberByKey(RolapLevel level, List<Comparable> keyValues)
Looks up a member by its key value.- Parameters:
level
- LevelkeyValues
- Key values- Returns:
- Member, or null
-
-