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
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 makeRolapCubeMemberan 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
Fields Modifier and Type Field Description RolapMembermember-
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
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected booleancomputeCalculated(Member.MemberType memberType)Computes the value to be returned byMemberBase.isCalculated(), so it can be cached in a variable.booleancontainsAggregateFunction()Returns whether this calculation contains an aggregate function.booleanequals(Object o)CalcgetCompiledExpression(mondrian.rolap.RolapEvaluatorRoot root)Returns the compiled expression to evaluate the scalar value of the current cell.ExpgetExpression()Returns the expression by which this member is calculated.intgetHierarchyOrdinal()Returns the ordinal of this calculation; to resolve ties.intgetSolveOrder()Returns the solve order of this calculation.inthashCode()booleanisCalculated()Returns whether this member is computed using either awith memberclause in an mdx query or a calculated member defined in cube.booleanisCalculatedInQuery()Returns whether this calculation is a member is computed from aWITH MEMBERclause in an MDX query.booleanisEvaluated()Returns whether this member should be evaluated within the Evaluator.voidsetContextIn(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 Detail
-
member
public final RolapMember member
-
-
Method Detail
-
equals
public boolean equals(Object o)
- Overrides:
equalsin classRolapCubeMember
-
hashCode
public int hashCode()
- Overrides:
hashCodein classRolapCubeMember
-
getExpression
public Exp getExpression()
Description copied from class:MemberBaseReturns the expression by which this member is calculated. The expression is not null if and only if the member is not calculated.- Specified by:
getExpressionin interfaceMember- Overrides:
getExpressionin classRolapCubeMember
-
computeCalculated
protected boolean computeCalculated(Member.MemberType memberType)
Description copied from class:MemberBaseComputes the value to be returned byMemberBase.isCalculated(), so it can be cached in a variable.- Overrides:
computeCalculatedin classMemberBase- Parameters:
memberType- Member type- Returns:
- Whether this member is calculated
-
isCalculated
public boolean isCalculated()
Description copied from interface:MemberReturns whether this member is computed using either awith memberclause in an mdx query or a calculated member defined in cube.- Specified by:
isCalculatedin interfaceMember- Overrides:
isCalculatedin classDelegatingRolapMember
-
isEvaluated
public boolean isEvaluated()
Description copied from interface:MemberReturns 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:
isEvaluatedin interfaceMember- Overrides:
isEvaluatedin classDelegatingRolapMember- Returns:
- true if evaluated
-
setContextIn
public abstract 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.- Parameters:
evaluator- Evaluator
-
getSolveOrder
public abstract int getSolveOrder()
Returns the solve order of this calculation. Identifies which order calculations are expanded.- Returns:
- Solve order
-
getHierarchyOrdinal
public abstract int getHierarchyOrdinal()
Returns the ordinal of this calculation; to resolve ties.- Returns:
- Ordinal or calculation
-
isCalculatedInQuery
public abstract boolean isCalculatedInQuery()
Returns whether this calculation is a member is computed from aWITH MEMBERclause in an MDX query.- Returns:
- whether this calculation is computed in an MDX query
-
getCompiledExpression
public abstract Calc getCompiledExpression(mondrian.rolap.RolapEvaluatorRoot root)
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
public abstract boolean containsAggregateFunction()
Returns whether this calculation contains an aggregate function.- Returns:
- Whether this calculation contains an aggregate function.
-
-