abstract class ArrayMemberSource extends Object implements MemberSource
ArrayMemberSource
implements a flat, static hierarchy. There is
no root member, and all members are siblings.Modifier and Type | Field and Description |
---|---|
protected RolapHierarchy |
hierarchy |
protected List<RolapMember> |
members |
Constructor and Description |
---|
ArrayMemberSource(RolapHierarchy hierarchy,
List<RolapMember> members) |
Modifier and Type | Method and Description |
---|---|
RolapHierarchy |
getHierarchy()
Returns the hierarchy that this source is reading for.
|
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. |
void |
getMemberChildren(RolapMember parentMember,
List<RolapMember> children)
Writes all children
parentMember to children . |
int |
getMemberCount()
Returns an estimate of number of members in this hierarchy.
|
List<RolapMember> |
getMembers()
Returns all members of this hierarchy, sorted by ordinal.
|
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. |
protected final RolapHierarchy hierarchy
protected final List<RolapMember> members
ArrayMemberSource(RolapHierarchy hierarchy, List<RolapMember> members)
public RolapHierarchy getHierarchy()
MemberSource
getHierarchy
in interface MemberSource
public boolean setCache(MemberCache cache)
MemberSource
MemberSource
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 MemberSource
cache
- The MemberCache
which the caller would like
this MemberSource
to write to.MemberSource
supports cache-writeback.public List<RolapMember> getMembers()
MemberSource
If this object supports cache-writeaback
, also
writes these members to the cache.
getMembers
in interface MemberSource
public int getMemberCount()
MemberSource
getMemberCount
in interface MemberSource
public List<RolapMember> getRootMembers()
MemberSource
If this object supports cache-writeback
, also
writes these members to the cache.
getRootMembers
in interface MemberSource
List
of RolapMember
spublic void getMemberChildren(RolapMember parentMember, List<RolapMember> children)
MemberSource
parentMember
to children
.
If this object supports cache-writeback
, also
writes these members to the cache.
getMemberChildren
in interface MemberSource
public void getMemberChildren(List<RolapMember> parentMembers, List<RolapMember> children)
MemberSource
parentMembers
, sorted by ordinal.
If this object supports cache-writeaback
, also
writes these members to the cache.
getMemberChildren
in interface MemberSource
public RolapMember lookupMember(List<Id.Segment> uniqueNameParts, boolean failIfNotFound)
MemberSource
lookupMember
in interface MemberSource