interface MemberReader extends MemberSource
MemberReader implements common operations to retrieve members
 from a hierarchy.
 MemberReader is an extension of MemberSource, which
 implements only the very basic operations. CacheMemberReader is an
 adapter which converts a MemberSource into a MemberReader
 and does caching too.
| Modifier and Type | Method and 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 member  
n after member in the same
 level (or before, if n 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 between  
startMember and
 endMember into list. | 
List<RolapMember> | 
getMembersInLevel(RolapLevel level)
Returns all of the members in  
level whose ordinal lies
 between startOrdinal and endOrdinal. | 
List<RolapMember> | 
getMembersInLevel(RolapLevel level,
                 TupleConstraint constraint)
Returns the members in the given Level, optionally applying a constraint. 
 | 
RolapMember | 
substitute(RolapMember member)
Substitutes a given member. 
 | 
getHierarchy, getMemberChildren, getMemberChildren, getMemberCount, getMembers, getRootMembers, lookupMember, setCacheRolapMember getLeadMember(RolapMember member, int n)
n after member in the same
 level (or before, if n is negative).
 Returns Hierarchy.getNullMember() if we run off the beginning or
 end of the level.List<RolapMember> getMembersInLevel(RolapLevel level)
level whose ordinal lies
 between startOrdinal and endOrdinal.
 If this object
 supports cache-writeback, also
 writes these members to the cache.
List of RolapMembervoid getMemberRange(RolapLevel level, RolapMember startMember, RolapMember endMember, List<RolapMember> list)
startMember and
 endMember into list.int compare(RolapMember m1, RolapMember m2, boolean siblingsAreEqual)
siblingsAreEqual, then two members with the
 same parent will compare equal.siblingsAreEqual and
         m1 and m2 have the same parentMap<? extends Member,Access> getMemberChildren(RolapMember member, List<RolapMember> children, MemberChildrenConstraint constraint)
member - Members whose children to findchildren - List to populate with membersconstraint - Constraintnull values.Map<? extends Member,Access> getMemberChildren(List<RolapMember> parentMembers, List<RolapMember> children, MemberChildrenConstraint constraint)
parentMembers - List of members whose children to findchildren - List to populate with membersconstraint - Constraintnull values.List<RolapMember> getMembersInLevel(RolapLevel level, TupleConstraint constraint)
level - Levelconstraint - Constraintint getLevelMemberCount(RolapLevel level)
level - LevelTupleReader.MemberBuilder getMemberBuilder()
RolapMember getDefaultMember()
RolapMember getMemberParent(RolapMember member)
RolapMember substitute(RolapMember member)
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'.
member - MemberRolapMember desubstitute(RolapMember member)
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'.
member - MemberRolapMember getMemberByKey(RolapLevel level, List<Comparable> keyValues)
level - LevelkeyValues - Key values