public interface MemberSource
MemberSource
has the basic operations to read the members of a
hierarchy
.
A MemberSource
may optionally support writeback to a
MemberCache
. During the initialization of a
MemberSource
, the consumer calls setCache(mondrian.rolap.MemberCache)
; the return
value indicates whether the MemberSource
supports
cache-writeback.
A custom member reader is a user-defined class which implements
the operations to retrieve members. It either implements the
MemberSource
interface, or the derived interface
MemberReader
, which has more operations. In addition to the interface
methods, the class must have a constructor which takes parameters
(
and
throws no exceptions. To declare a hierarchy based upon the class, use the
RolapHierarchy
, Properties
)memberReaderClass
attribute of the
<Hierarchy>
element in your XML schema file; the
properties
constructor parameter is populated from any
MemberReader
,
MemberCache
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(mondrian.rolap.MemberCache cache)
Sets the cache which this
MemberSource will write to. |
RolapHierarchy getHierarchy()
boolean setCache(mondrian.rolap.MemberCache cache)
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 getMembers()
,
getRootMembers()
and 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.List<RolapMember> getMembers()
If this object supports cache-writeaback
, also
writes these members to the cache.
List<RolapMember> getRootMembers()
If this object supports cache-writeback
, also
writes these members to the cache.
List
of RolapMember
svoid getMemberChildren(RolapMember parentMember, List<RolapMember> children)
parentMember
to children
.
If this object supports cache-writeback
, also
writes these members to the cache.
void getMemberChildren(List<RolapMember> parentMembers, List<RolapMember> children)
parentMembers
, sorted by ordinal.
If this object supports cache-writeaback
, also
writes these members to the cache.
int getMemberCount()
RolapMember lookupMember(List<Id.Segment> uniqueNameParts, boolean failIfNotFound)
Copyright © 2020 Hitachi Vantara. All rights reserved.