Class ArrayMemberSource
- java.lang.Object
-
- mondrian.rolap.ArrayMemberSource
-
- All Implemented Interfaces:
MemberSource
- Direct Known Subclasses:
MeasureMemberSource
abstract class ArrayMemberSource extends Object implements MemberSource
ArrayMemberSource
implements a flat, static hierarchy. There is no root member, and all members are siblings.- Since:
- 22 December, 2001
- Author:
- jhyde
-
-
Field Summary
Fields Modifier and Type Field Description protected RolapHierarchy
hierarchy
protected List<RolapMember>
members
-
Constructor Summary
Constructors Constructor Description ArrayMemberSource(RolapHierarchy hierarchy, List<RolapMember> members)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 inparentMembers
, sorted by ordinal.void
getMemberChildren(RolapMember parentMember, List<RolapMember> children)
Writes all childrenparentMember
tochildren
.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 thisMemberSource
will write to.
-
-
-
Field Detail
-
hierarchy
protected final RolapHierarchy hierarchy
-
members
protected final List<RolapMember> members
-
-
Constructor Detail
-
ArrayMemberSource
ArrayMemberSource(RolapHierarchy hierarchy, List<RolapMember> members)
-
-
Method Detail
-
getHierarchy
public RolapHierarchy getHierarchy()
Description copied from interface:MemberSource
Returns the hierarchy that this source is reading for.- Specified by:
getHierarchy
in interfaceMemberSource
-
setCache
public boolean setCache(MemberCache cache)
Description copied from interface:MemberSource
Sets the cache which thisMemberSource
will write to.Cache-writeback is optional (for example,
SqlMemberSource
supports it, andArrayMemberSource
does not), and the return value from this method indicates whether this object supports it.If this method returns
true
, theMemberSource.getMembers()
,MemberSource.getRootMembers()
andMemberSource.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.- Specified by:
setCache
in interfaceMemberSource
- Parameters:
cache
- TheMemberCache
which the caller would like thisMemberSource
to write to.- Returns:
- Whether this
MemberSource
supports cache-writeback.
-
getMembers
public List<RolapMember> getMembers()
Description copied from interface:MemberSource
Returns all members of this hierarchy, sorted by ordinal.If this object
supports cache-writeaback
, also writes these members to the cache.- Specified by:
getMembers
in interfaceMemberSource
-
getMemberCount
public int getMemberCount()
Description copied from interface:MemberSource
Returns an estimate of number of members in this hierarchy.- Specified by:
getMemberCount
in interfaceMemberSource
-
getRootMembers
public List<RolapMember> getRootMembers()
Description copied from interface:MemberSource
Returns all members of this hierarchy which do not have a parent, sorted by ordinal.If this object
supports cache-writeback
, also writes these members to the cache.- Specified by:
getRootMembers
in interfaceMemberSource
- Returns:
List
ofRolapMember
s
-
getMemberChildren
public void getMemberChildren(RolapMember parentMember, List<RolapMember> children)
Description copied from interface:MemberSource
Writes all childrenparentMember
tochildren
.If this object
supports cache-writeback
, also writes these members to the cache.- Specified by:
getMemberChildren
in interfaceMemberSource
-
getMemberChildren
public void getMemberChildren(List<RolapMember> parentMembers, List<RolapMember> children)
Description copied from interface:MemberSource
Returns all members which are a child of one of the members inparentMembers
, sorted by ordinal.If this object
supports cache-writeaback
, also writes these members to the cache.- Specified by:
getMemberChildren
in interfaceMemberSource
-
lookupMember
public RolapMember lookupMember(List<Id.Segment> uniqueNameParts, boolean failIfNotFound)
Description copied from interface:MemberSource
Finds a member based upon its unique name.- Specified by:
lookupMember
in interfaceMemberSource
-
-