mondrian.rolap
Class RolapHierarchy.LimitedRollupMember

java.lang.Object
  extended by mondrian.olap.OlapElementBase
      extended by mondrian.olap.MemberBase
          extended by mondrian.rolap.RolapMemberBase
              extended by mondrian.rolap.DelegatingRolapMember
                  extended by mondrian.rolap.RolapCubeMember
                      extended by mondrian.rolap.RolapHierarchy.LimitedRollupMember
All Implemented Interfaces:
Comparable, Annotated, Member, OlapElement, RolapCalculation, RolapMember, RolapMemberInCube
Enclosing class:
RolapHierarchy

public static class RolapHierarchy.LimitedRollupMember
extends RolapCubeMember

Substitute for a member in a hierarchy whose rollup policy is 'partial' or 'hidden'. The member is calculated using an expression which aggregates only visible descendants.

Note that this class extends RolapCubeMember only because other code expects that all members in a RolapCubeHierarchy are RolapCubeMembers. As part of Bug.BugSegregateRolapCubeMemberFixed, maybe make RolapCubeMember an interface.

See Also:
Role.RollupPolicy

Nested Class Summary
 
Nested classes/interfaces inherited from class mondrian.rolap.RolapMemberBase
RolapMemberBase.DefaultPropertyValueMapFactory, RolapMemberBase.PropertyValueMapFactory, RolapMemberBase.PropertyValueMapFactoryFactory
 
Nested classes/interfaces inherited from interface mondrian.olap.Member
Member.MemberType
 
Nested classes/interfaces inherited from interface mondrian.olap.OlapElement
OlapElement.LocalizedProperty
 
Field Summary
 RolapMember member
           
 
Fields inherited from class mondrian.rolap.RolapCubeMember
cubeLevel, parentCubeMember
 
Fields inherited from class mondrian.olap.MemberBase
flags, level, parentMember, uniqueName
 
Fields inherited from class mondrian.olap.OlapElementBase
caption, visible
 
Constructor Summary
RolapHierarchy.LimitedRollupMember(RolapCubeMember member, Exp exp)
           
 
Method Summary
protected  boolean computeCalculated(Member.MemberType memberType)
          Computes the value to be returned by MemberBase.isCalculated(), so it can be cached in a variable.
 boolean equals(Object o)
           
 Exp getExpression()
          Returns the expression by which this member is calculated.
 boolean isCalculated()
          Returns whether this member is computed using either a with member clause in an mdx query or a calculated member defined in cube.
 boolean isEvaluated()
          Returns whether this member should be evaluated within the Evaluator.
 
Methods inherited from class mondrian.rolap.RolapCubeMember
compareTo, equals, getCube, getDataMember, getDimension, getHierarchy, getLevel, getParentMember, getPropertyValue, getRolapMember, getUniqueName, hashCode, lookupChild, setProperty, toString
 
Methods inherited from class mondrian.rolap.DelegatingRolapMember
getAncestorMembers, getAnnotationMap, getCaption, getDepth, getDescription, getKey, getMemberType, getName, getOrderKey, getOrdinal, getParentUniqueName, getProperties, getPropertyFormattedValue, getPropertyValue, getQualifiedName, getSolveOrder, isAll, isAllMember, isCalculatedInQuery, isChildOrEqualTo, isHidden, isMeasure, isNull, isParentChildLeaf, setName
 
Methods inherited from class mondrian.rolap.RolapMemberBase
childLevelHasApproxRowCount, containsAggregateFunction, getAllMembers, getCompiledExpression, getHierarchyCardinality, getHierarchyOrdinal, getLogger, getPropertyFromMap, keyToString, makeUniqueName, setContextIn, setOrderKey, setOrdinal, setOrdinals, setParentMember, setUniqueName
 
Methods inherited from class mondrian.olap.MemberBase
isChildOrEqualTo
 
Methods inherited from class mondrian.olap.OlapElementBase
clone, computeHashCode, getLocalized, isVisible, setCaption
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface mondrian.rolap.RolapMember
getKey, isAllMember
 
Methods inherited from interface mondrian.olap.Member
getAncestorMembers, getDepth, getMemberType, getOrderKey, getOrdinal, getParentUniqueName, getProperties, getPropertyFormattedValue, getPropertyValue, getSolveOrder, isAll, isCalculatedInQuery, isChildOrEqualTo, isHidden, isMeasure, isNull, isParentChildLeaf, setName
 
Methods inherited from interface mondrian.olap.OlapElement
getCaption, getDescription, getLocalized, getName, getQualifiedName, isVisible
 
Methods inherited from interface mondrian.olap.Annotated
getAnnotationMap
 
Methods inherited from interface mondrian.rolap.RolapCalculation
containsAggregateFunction, getCompiledExpression, getHierarchyOrdinal, getSolveOrder, isCalculatedInQuery, setContextIn
 

Field Detail

member

public final RolapMember member
Constructor Detail

RolapHierarchy.LimitedRollupMember

RolapHierarchy.LimitedRollupMember(RolapCubeMember member,
                                   Exp exp)
Method Detail

equals

public boolean equals(Object o)
Overrides:
equals in class RolapCubeMember

getExpression

public Exp getExpression()
Description copied from class: MemberBase
Returns the expression by which this member is calculated. The expression is not null if and only if the member is not calculated.

Specified by:
getExpression in interface Member
Overrides:
getExpression in class RolapCubeMember

computeCalculated

protected boolean computeCalculated(Member.MemberType memberType)
Description copied from class: MemberBase
Computes the value to be returned by MemberBase.isCalculated(), so it can be cached in a variable.

Overrides:
computeCalculated in class MemberBase
Parameters:
memberType - Member type
Returns:
Whether this member is calculated

isCalculated

public boolean isCalculated()
Description copied from interface: Member
Returns whether this member is computed using either a with member clause in an mdx query or a calculated member defined in cube.

Specified by:
isCalculated in interface Member
Overrides:
isCalculated in class DelegatingRolapMember

isEvaluated

public boolean isEvaluated()
Description copied from interface: Member
Returns whether this member should be evaluated within the Evaluator.

Normally Member.isCalculated() and Member.isEvaluated() should return the same value, but in situations where mondrian would like to treat the two concepts separately such in role based security, these values may differ.

Specified by:
isEvaluated in interface Member
Overrides:
isEvaluated in class DelegatingRolapMember
Returns:
true if evaluated

Get Mondrian at SourceForge.net. Fast, secure and free Open Source software downloads