public class NoCacheMemberReader extends Object
NoCacheMemberReader implements MemberReader but
 without doing any kind of caching and avoiding to read all members.| 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. 
 | 
List<RolapMember> | 
getChildrenFromCache(RolapMember member,
                    MemberChildrenConstraint constraint)
Returns the children of  
member if they are currently in the
 cache, otherwise returns null. | 
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. 
 | 
List<RolapMember> | 
getLevelMembersFromCache(RolapLevel level,
                        TupleConstraint constraint)
Returns the members of  
level if they are currently in the
 cache, otherwise returns null. | 
RolapMember | 
getMember(Object key)
Retrieves the  
RolapMember with a given key. | 
RolapMember | 
getMember(Object key,
         boolean mustCheckCacheStatus)
Retrieves the  
RolapMember with a given key. | 
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. 
 | 
boolean | 
isMutable()
Returns whether the cache supports removing selected items. 
 | 
RolapMember | 
lookupMember(List<Id.Segment> uniqueNameParts,
            boolean failIfNotFound)
Finds a member based upon its unique name. 
 | 
Object | 
makeKey(RolapMember parent,
       Object key)
Creates a key with which to  
getMember(Object) or
 putMember(Object, RolapMember) the
 RolapMember with a given parent and key. | 
void | 
putChildren(RolapLevel level,
           TupleConstraint constraint,
           List<RolapMember> children)
 | 
void | 
putChildren(RolapMember member,
           MemberChildrenConstraint constraint,
           List<RolapMember> children)
 | 
Object | 
putMember(Object key,
         RolapMember value)
Replaces the  
RolapMember with a given key and returns the
 previous member if any. | 
protected void | 
readMemberChildren(List<RolapMember> members,
                  List<RolapMember> result,
                  MemberChildrenConstraint constraint)
Reads the children of  
member into result. | 
RolapMember | 
removeMember(Object key)
Removes the  
RolapMember with a given key from the cache. | 
RolapMember | 
removeMemberAndDescendants(Object key)
Removes the designated  
RolapMember and all its descendants. | 
boolean | 
setCache(mondrian.rolap.MemberCache cache)
Sets the cache which this  
MemberSource will write to. | 
RolapMember | 
substitute(RolapMember member)
Substitutes a given member. 
 | 
public boolean isMutable()
removeMember(Object) and
 removeMemberAndDescendants(Object) methods.
 REVIEW: remove isMutable and move removeMember and removeMemberAndDescendants to new interface MutableMemberCache
public RolapMember removeMember(Object key)
RolapMember with a given key from the cache.
 Returns the previous member with that key, or null.
 Optional operation: see isMutable().key - cache key, created by makeKey(mondrian.rolap.RolapMember, java.lang.Object)public RolapMember removeMemberAndDescendants(Object key)
RolapMember and all its descendants.
 Returns the previous member with that key, or null.
 Optional operation: see isMutable().key - cache key, created by makeKey(mondrian.rolap.RolapMember, java.lang.Object)public RolapHierarchy getHierarchy()
MemberSourcepublic boolean setCache(mondrian.rolap.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.
cache - The MemberCache which the caller would like
   this MemberSource to write to.MemberSource supports cache-writeback.public Object makeKey(RolapMember parent, Object key)
getMember(Object) or
 putMember(Object, RolapMember) the
 RolapMember with a given parent and key.parent - Parent memberkey - Key of member within parentpublic RolapMember getMember(Object key)
RolapMember with a given key.key - cache key, created by makeKey(mondrian.rolap.RolapMember, java.lang.Object)public RolapMember getMember(Object key, boolean mustCheckCacheStatus)
RolapMember with a given key.key - cache key, created by makeKey(mondrian.rolap.RolapMember, java.lang.Object)mustCheckCacheStatus - If true, do not check cache statuspublic Object putMember(Object key, RolapMember value)
RolapMember with a given key and returns the
 previous member if any.key - cache key, created by makeKey(mondrian.rolap.RolapMember, java.lang.Object)value - new memberpublic List<RolapMember> getMembers()
MemberSourceIf this object supports cache-writeaback, also
 writes these members to the cache.
public List<RolapMember> getRootMembers()
MemberSourceIf this object supports cache-writeback, also
 writes these members to the cache.
List of RolapMemberspublic 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 RolapMemberpublic List<RolapMember> getMembersInLevel(RolapLevel level, TupleConstraint constraint)
level - Levelconstraint - Constraintpublic RolapMember getMemberByKey(RolapLevel level, List<Comparable> keyValues)
level - LevelkeyValues - Key valuespublic void getMemberChildren(RolapMember parentMember, List<RolapMember> children)
MemberSourceparentMember to children.
 If this object supports cache-writeback, also
 writes these members to the cache.
public Map<? extends Member,Access> getMemberChildren(RolapMember parentMember, List<RolapMember> children, MemberChildrenConstraint constraint)
parentMember - 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.
public 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.public RolapMember lookupMember(List<Id.Segment> uniqueNameParts, boolean failIfNotFound)
MemberSourcepublic List<RolapMember> getChildrenFromCache(RolapMember member, MemberChildrenConstraint constraint)
member if they are currently in the
 cache, otherwise returns null.
 The children may be garbage collected as soon as the returned list may be garbage collected.
member - the parent memberconstraint - the condition that was used when the members were
    fetched. May be null for all members (no constraint)public List<RolapMember> getLevelMembersFromCache(RolapLevel level, TupleConstraint constraint)
level if they are currently in the
 cache, otherwise returns null.
 The members may be garbage collected as soon as the returned list may be garbage collected.
level - the level whose members should be fetchedconstraint - the condition that was used when the members were
   fetched. May be null for all members (no constraint)public void putChildren(RolapMember member, MemberChildrenConstraint constraint, List<RolapMember> children)
member - the parent memberconstraint - the condition that was used when the members were
   fetched. May be null for all members (no constraint)children - list of childrenpublic void putChildren(RolapLevel level, TupleConstraint constraint, List<RolapMember> children)
level - the parent levelconstraint - the condition that was used when the members were
   fetched. May be null for all members (no constraint)children - list of childrenpublic RolapMember 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.public void getMemberRange(RolapLevel level, RolapMember startMember, RolapMember endMember, List<RolapMember> list)
startMember and
 endMember into list.public int getMemberCount()
MemberSourcepublic 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 parentpublic TupleReader.MemberBuilder getMemberBuilder()
public RolapMember getDefaultMember()
public int getLevelMemberCount(RolapLevel level)
level - Levelpublic RolapMember 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 - Memberpublic 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 - Memberpublic RolapMember getMemberParent(RolapMember member)
protected void readMemberChildren(List<RolapMember> members, List<RolapMember> result, MemberChildrenConstraint constraint)
member into result.result - Children are written here, in ordermembers - Members whose children to readconstraint - restricts the returned members if possible (optional
             optimization)Copyright © 2019 Hitachi Vantara. All rights reserved.