class DelegatingMemberReader extends Object implements MemberReader
DelegatingMemberReader is a MemberReader which
redirects all method calls to an underlying MemberReader.| Modifier and Type | Field and Description |
|---|---|
protected MemberReader |
memberReader |
| Constructor and Description |
|---|
DelegatingMemberReader(MemberReader memberReader) |
| 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() |
RolapHierarchy |
getHierarchy()
Returns the hierarchy that this source is reading for.
|
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.
|
void |
getMemberChildren(List<RolapMember> parentMembers,
List<RolapMember> children)
Returns all members which are a child of one of the members in
parentMembers, sorted by ordinal. |
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.
|
void |
getMemberChildren(RolapMember parentMember,
List<RolapMember> children)
Writes all children
parentMember to children. |
Map<? extends Member,Access> |
getMemberChildren(RolapMember parentMember,
List<RolapMember> children,
MemberChildrenConstraint constraint)
Populates a list of the children of a Member, optionally applying a
constraint.
|
int |
getMemberCount()
Returns an estimate of number of members in this hierarchy.
|
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> |
getMembers()
Returns all members of this hierarchy, sorted by ordinal.
|
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.
|
List<RolapMember> |
getRootMembers()
Returns all members of this hierarchy which do not have a parent,
sorted by ordinal.
|
RolapMember |
lookupMember(List<Id.Segment> uniqueNameParts,
boolean failIfNotFound)
Finds a member based upon its unique name.
|
boolean |
setCache(MemberCache cache)
Sets the cache which this
MemberSource will write to. |
RolapMember |
substitute(RolapMember member)
Substitutes a given member.
|
protected final MemberReader memberReader
DelegatingMemberReader(MemberReader memberReader)
public RolapMember substitute(RolapMember member)
MemberReaderThis 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'.
substitute in interface MemberReadermember - Memberpublic RolapMember desubstitute(RolapMember member)
MemberReaderThis 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'.
desubstitute in interface MemberReadermember - Memberpublic RolapMember getMemberByKey(RolapLevel level, List<Comparable> keyValues)
MemberReadergetMemberByKey in interface MemberReaderlevel - LevelkeyValues - Key valuespublic RolapMember getLeadMember(RolapMember member, int n)
MemberReadern 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.getLeadMember in interface MemberReaderpublic List<RolapMember> getMembersInLevel(RolapLevel level)
MemberReaderlevel whose ordinal lies
between startOrdinal and endOrdinal.
If this object
supports cache-writeback, also
writes these members to the cache.
getMembersInLevel in interface MemberReaderList of RolapMemberpublic void getMemberRange(RolapLevel level, RolapMember startMember, RolapMember endMember, List<RolapMember> list)
MemberReaderstartMember and
endMember into list.getMemberRange in interface MemberReaderpublic int compare(RolapMember m1, RolapMember m2, boolean siblingsAreEqual)
MemberReadersiblingsAreEqual, then two members with the
same parent will compare equal.compare in interface MemberReadersiblingsAreEqual and
m1 and m2 have the same parentpublic RolapHierarchy getHierarchy()
MemberSourcegetHierarchy in interface MemberSourcepublic boolean setCache(MemberCache cache)
MemberSourceMemberSource will write to.
Cache-writeback is optional (for example, SqlMemberSource
supports it, and ArrayMemberSource does not), and the return
value from this method indicates whether this object supports it.
If this method returns true, the MemberSource.getMembers(),
MemberSource.getRootMembers() and MemberSource.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.
setCache in interface MemberSourcecache - The MemberCache which the caller would like
this MemberSource to write to.MemberSource supports cache-writeback.public List<RolapMember> getMembers()
MemberSourceIf this object supports cache-writeaback, also
writes these members to the cache.
getMembers in interface MemberSourcepublic List<RolapMember> getRootMembers()
MemberSourceIf this object supports cache-writeback, also
writes these members to the cache.
getRootMembers in interface MemberSourceList of RolapMemberspublic void getMemberChildren(RolapMember parentMember, List<RolapMember> children)
MemberSourceparentMember to children.
If this object supports cache-writeback, also
writes these members to the cache.
getMemberChildren in interface MemberSourcepublic Map<? extends Member,Access> getMemberChildren(RolapMember parentMember, List<RolapMember> children, MemberChildrenConstraint constraint)
MemberReadergetMemberChildren in interface MemberReaderparentMember - Members whose children to findchildren - List to populate with membersconstraint - Constraintnull values.public void getMemberChildren(List<RolapMember> parentMembers, List<RolapMember> children)
MemberSourceparentMembers, sorted by ordinal.
If this object supports cache-writeaback, also
writes these members to the cache.
getMemberChildren in interface MemberSourcepublic Map<? extends Member,Access> getMemberChildren(List<RolapMember> parentMembers, List<RolapMember> children, MemberChildrenConstraint constraint)
MemberReadergetMemberChildren in interface MemberReaderparentMembers - List of members whose children to findchildren - List to populate with membersconstraint - Constraintnull values.public int getMemberCount()
MemberSourcegetMemberCount in interface MemberSourcepublic RolapMember lookupMember(List<Id.Segment> uniqueNameParts, boolean failIfNotFound)
MemberSourcelookupMember in interface MemberSourcepublic List<RolapMember> getMembersInLevel(RolapLevel level, TupleConstraint constraint)
MemberReadergetMembersInLevel in interface MemberReaderlevel - Levelconstraint - Constraintpublic int getLevelMemberCount(RolapLevel level)
MemberReadergetLevelMemberCount in interface MemberReaderlevel - Levelpublic TupleReader.MemberBuilder getMemberBuilder()
getMemberBuilder in interface MemberReaderpublic RolapMember getDefaultMember()
getDefaultMember in interface MemberReaderpublic RolapMember getMemberParent(RolapMember member)
getMemberParent in interface MemberReader