class SmartRestrictedMemberReader extends RestrictedMemberReader
SmartRestrictedMemberReader
is a subclass of
RestrictedMemberReader
which caches the access rights
per children's list. We place them in this throw-away object
to speed up partial rollup calculations.
The speed improvement is noticeable when dealing with very big dimensions with a lot of branches (like a parent-child hierarchy) because the 'partial' rollup policy forces us to navigate the tree and find the lowest level to rollup to and then figure out all of the children on which to constraint the SQL query.
RestrictedMemberReader.MultiCardinalityDefaultMember
Modifier and Type | Field and Description |
---|---|
(package private) ReadWriteLock |
lock |
(package private) Map<RolapMember,mondrian.rolap.SmartRestrictedMemberReader.AccessAwareMemberList> |
memberToChildren |
role
memberReader
Constructor and Description |
---|
SmartRestrictedMemberReader(MemberReader memberReader,
Role role) |
Modifier and Type | Method and Description |
---|---|
Map<? extends Member,Access> |
getMemberChildren(RolapMember member,
List<RolapMember> children,
MemberChildrenConstraint constraint)
Populates a list of the children of a Member, optionally applying a
constraint.
|
getDefaultMember, getLeadMember, getMemberChildren, getMemberChildren, getMemberChildren, getMemberParent, getMembersInLevel, getMembersInLevel, getRootMembers, setCache
compare, desubstitute, getHierarchy, getLevelMemberCount, getMemberBuilder, getMemberByKey, getMemberCount, getMemberRange, getMembers, lookupMember, substitute
final Map<RolapMember,mondrian.rolap.SmartRestrictedMemberReader.AccessAwareMemberList> memberToChildren
final ReadWriteLock lock
SmartRestrictedMemberReader(MemberReader memberReader, Role role)
public Map<? extends Member,Access> getMemberChildren(RolapMember member, List<RolapMember> children, MemberChildrenConstraint constraint)
MemberReader
getMemberChildren
in interface MemberReader
getMemberChildren
in class RestrictedMemberReader
member
- Members whose children to findchildren
- List to populate with membersconstraint
- Constraintnull
values.