Package mondrian.rolap
Class RolapHierarchy.LimitedRollupMember
java.lang.Object
mondrian.olap.OlapElementBase
mondrian.olap.MemberBase
mondrian.rolap.RolapMemberBase
mondrian.rolap.DelegatingRolapMember
mondrian.rolap.RolapCubeMember
mondrian.rolap.RolapHierarchy.LimitedRollupMember
- All Implemented Interfaces:
Comparable
,Annotated
,Member
,OlapElement
,RolapMember
,RolapMemberInCube
- Enclosing class:
- RolapHierarchy
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:
-
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
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
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
computeCalculated
(Member.MemberType memberType) Computes the value to be returned byMemberBase.isCalculated()
, so it can be cached in a variable.boolean
Returns whether this calculation contains an aggregate function.boolean
getCompiledExpression
(mondrian.rolap.RolapEvaluatorRoot root) Returns the compiled expression to evaluate the scalar value of the current cell.Returns the expression by which this member is calculated.int
Returns the ordinal of this calculation; to resolve ties.int
Returns the solve order of this calculation.int
hashCode()
boolean
Returns whether this member is computed using either awith member
clause in an mdx query or a calculated member defined in cube.boolean
Returns whether this calculation is a member is computed from aWITH MEMBER
clause in an MDX query.boolean
Returns whether this member should be evaluated within the Evaluator.void
setContextIn
(RolapEvaluator evaluator) Pushes this calculated member or tuple onto the stack of evaluation contexts, and sets the context to the default member of the hierarchy.Methods inherited from class mondrian.rolap.RolapCubeMember
compareTo, equals, getCube, getDataMember, getDimension, getHierarchy, getLevel, getParentMember, getPropertyValue, getPropertyValue, getRolapMember, getUniqueName, lookupChild, setProperty, toString
Methods inherited from class mondrian.rolap.DelegatingRolapMember
getAncestorMembers, getAnnotationMap, getCaption, getDepth, getDescription, getKey, getMemberType, getName, getOrderKey, getOrdinal, getParentUniqueName, getProperties, getPropertyFormattedValue, getQualifiedName, getSolveOrder, isAll, isAllMember, isCalculatedInQuery, isChildOrEqualTo, isHidden, isMeasure, isNull, isParentChildLeaf, isParentChildPhysicalMember, setName
Methods inherited from class mondrian.rolap.RolapMemberBase
childLevelHasApproxRowCount, containsAggregateFunction, getAllMembers, getCaptionValue, getCompiledExpression, getHierarchyCardinality, getHierarchyOrdinal, getLogger, getPropertyFromMap, keyToString, setCaptionValue, setContextIn, setOrdinal, setOrdinals, setUniqueName
Methods inherited from class mondrian.olap.MemberBase
isChildOrEqualTo, isOnSameHierarchyChain, isOnSameHierarchyChainInternal
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.olap.Annotated
getAnnotationMap
Methods inherited from interface mondrian.olap.Member
getAncestorMembers, getDepth, getMemberType, getOrderKey, getOrdinal, getParentUniqueName, getProperties, getPropertyFormattedValue, getSolveOrder, isAll, isCalculatedInQuery, isChildOrEqualTo, isHidden, isMeasure, isNull, isOnSameHierarchyChain, isParentChildLeaf, isParentChildPhysicalMember, setName
Methods inherited from interface mondrian.olap.OlapElement
getCaption, getDescription, getLocalized, getName, getQualifiedName, isVisible
Methods inherited from interface mondrian.rolap.RolapMember
getKey, isAllMember
-
Field Details
-
member
-
-
Method Details
-
equals
- Overrides:
equals
in classRolapCubeMember
-
hashCode
public int hashCode()- Overrides:
hashCode
in classRolapCubeMember
-
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 interfaceMember
- Overrides:
getExpression
in classRolapCubeMember
-
computeCalculated
Description copied from class:MemberBase
Computes the value to be returned byMemberBase.isCalculated()
, so it can be cached in a variable.- Overrides:
computeCalculated
in classMemberBase
- 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 awith member
clause in an mdx query or a calculated member defined in cube.- Specified by:
isCalculated
in interfaceMember
- Overrides:
isCalculated
in classDelegatingRolapMember
-
isEvaluated
public boolean isEvaluated()Description copied from interface:Member
Returns whether this member should be evaluated within the Evaluator.Normally
Member.isCalculated()
andMember.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 interfaceMember
- Overrides:
isEvaluated
in classDelegatingRolapMember
- Returns:
- true if evaluated
-
setContextIn
Pushes this calculated member or tuple onto the stack of evaluation contexts, and sets the context to the default member of the hierarchy.- Parameters:
evaluator
- Evaluator
-
getSolveOrder
int getSolveOrder()Returns the solve order of this calculation. Identifies which order calculations are expanded.- Returns:
- Solve order
-
getHierarchyOrdinal
int getHierarchyOrdinal()Returns the ordinal of this calculation; to resolve ties.- Returns:
- Ordinal or calculation
-
isCalculatedInQuery
boolean isCalculatedInQuery()Returns whether this calculation is a member is computed from aWITH MEMBER
clause in an MDX query.- Returns:
- whether this calculation is computed in an MDX query
-
getCompiledExpression
Returns the compiled expression to evaluate the scalar value of the current cell. This method will be called frequently, so the implementation should probably compile once and cache the result.- Parameters:
root
- Root evaluation context- Returns:
- Compiled scalar expression
-
containsAggregateFunction
boolean containsAggregateFunction()Returns whether this calculation contains an aggregate function.- Returns:
- Whether this calculation contains an aggregate function.
-