Class RolapCubeMember
- All Implemented Interfaces:
Comparable,Annotated,Member,OlapElement,RolapMember,RolapMemberInCube
- Direct Known Subclasses:
RolapHierarchy.LimitedRollupMember
- Author:
- Will Gorman, 19 October 2007
-
Nested Class Summary
Nested classes/interfaces inherited from class mondrian.rolap.RolapMemberBase
RolapMemberBase.DefaultPropertyValueMapFactory, RolapMemberBase.PropertyValueMapFactory, RolapMemberBase.PropertyValueMapFactoryFactoryNested classes/interfaces inherited from interface mondrian.olap.Member
Member.MemberTypeNested classes/interfaces inherited from interface mondrian.olap.OlapElement
OlapElement.LocalizedProperty -
Field Summary
FieldsFields inherited from class mondrian.rolap.DelegatingRolapMember
memberFields inherited from class mondrian.olap.MemberBase
flags, level, parentMember, uniqueNameFields inherited from class mondrian.olap.OlapElementBase
caption, visible -
Constructor Summary
ConstructorsConstructorDescriptionRolapCubeMember(RolapCubeMember parent, RolapMember member, RolapCubeLevel cubeLevel) Creates a RolapCubeMember. -
Method Summary
Modifier and TypeMethodDescriptionintCompares this member to anotherRolapMemberBase.booleanReturns whether this calculation contains an aggregate function.booleanbooleangetCompiledExpression(mondrian.rolap.RolapEvaluatorRoot root) Returns the compiled expression to evaluate the scalar value of the current cell.final RolapCubegetCube()Returns the cube this cube member belongs to.final RolapCubeMemberReturns the system-generated data member that is associated with a nonleaf member of a dimension.final RolapCubeDimensionReturns the dimension of a this expression, or null if no dimension is defined.Returns the expression by which this member is calculated.final RolapCubeHierarchyintReturns the ordinal of this calculation; to resolve ties.final RolapCubeLevelgetLevel()final RolapCubeMemberReturns this member's parent, or null (not the 'null member', as returned byHierarchy.getNullMember()) if it has no parent.getPropertyValue(String propertyName) Returns the value of the property namedpropertyName.getPropertyValue(String propertyName, boolean matchCase) Returns the value of the property namedpropertyName, matching according to the required case-sensitivity.final RolapMemberReturns the underlying member.intReturns the solve order of this calculation.inthashCode()booleanReturns whether this calculation is a member is computed from aWITH MEMBERclause in an MDX query.lookupChild(SchemaReader schemaReader, Id.Segment childName, MatchType matchType) Looks up a child element, returning null if it does not exist.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.voidsetProperty(String name, Object value) Sets a property of this member to a given value.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, isCalculated, isCalculatedInQuery, isChildOrEqualTo, isEvaluated, isHidden, isMeasure, isNull, isParentChildLeaf, isParentChildPhysicalMember, setNameMethods inherited from class mondrian.rolap.RolapMemberBase
childLevelHasApproxRowCount, containsAggregateFunction, getAllMembers, getCaptionValue, getCompiledExpression, getHierarchyCardinality, getHierarchyOrdinal, getLogger, getPropertyFromMap, keyToString, setCaptionValue, setContextIn, setOrdinal, setOrdinals, setUniqueNameMethods inherited from class mondrian.olap.MemberBase
computeCalculated, isChildOrEqualTo, isOnSameHierarchyChain, isOnSameHierarchyChainInternalMethods inherited from class mondrian.olap.OlapElementBase
clone, computeHashCode, getLocalized, isVisible, setCaptionMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface mondrian.olap.Annotated
getAnnotationMapMethods inherited from interface mondrian.olap.Member
getAncestorMembers, getDepth, getMemberType, getOrderKey, getOrdinal, getParentUniqueName, getProperties, getPropertyFormattedValue, getSolveOrder, isAll, isCalculated, isCalculatedInQuery, isChildOrEqualTo, isEvaluated, isHidden, isMeasure, isNull, isOnSameHierarchyChain, isParentChildLeaf, isParentChildPhysicalMember, setNameMethods inherited from interface mondrian.olap.OlapElement
getCaption, getDescription, getLocalized, getName, getQualifiedName, isVisibleMethods inherited from interface mondrian.rolap.RolapMember
getKey, isAllMember
-
Field Details
-
cubeLevel
-
parentCubeMember
-
-
Constructor Details
-
RolapCubeMember
Creates a RolapCubeMember.- Parameters:
parent- Parent membermember- Member of underlying (non-cube) hierarchycubeLevel- Level
-
-
Method Details
-
getUniqueName
- Specified by:
getUniqueNamein interfaceOlapElement- Overrides:
getUniqueNamein classDelegatingRolapMember
-
getRolapMember
Returns the underlying member. This is a member of a shared dimension and does not belong to a cube.- Returns:
- Underlying member
-
getCube
Description copied from interface:RolapMemberInCubeReturns the cube this cube member belongs to.This method is not in the
RolapMemberinterface, because regular members may be shared, and therefore do not belong to a specific cube.- Specified by:
getCubein interfaceRolapMemberInCube- Returns:
- Cube this cube member belongs to, never null
-
getDataMember
Description copied from interface:MemberReturns the system-generated data member that is associated with a nonleaf member of a dimension.Returns this member if this member is a leaf member, or if the nonleaf member does not have an associated data member.
- Specified by:
getDataMemberin interfaceMember- Overrides:
getDataMemberin classDelegatingRolapMember
-
compareTo
Description copied from class:RolapMemberBaseCompares this member to anotherRolapMemberBase.The method first compares on keys; null keys always collate last. If the keys are equal, it compares using unique name.
This method does not consider
RolapMemberBase.ordinalfield, because ordinal is only unique within a parent. If you want to compare members which may be at any position in the hierarchy, useFunUtil.compareHierarchically(mondrian.olap.Member, mondrian.olap.Member, boolean).- Specified by:
compareToin interfaceComparable- Overrides:
compareToin classDelegatingRolapMember- Returns:
- -1 if this is less, 0 if this is the same, 1 if this is greater
-
toString
- Overrides:
toStringin classOlapElementBase
-
hashCode
public int hashCode()- Overrides:
hashCodein classRolapMemberBase
-
equals
- Overrides:
equalsin classRolapMemberBase
-
equals
- Overrides:
equalsin classRolapMemberBase
-
getHierarchy
- Specified by:
getHierarchyin interfaceMember- Specified by:
getHierarchyin interfaceOlapElement- Specified by:
getHierarchyin interfaceRolapMember- Overrides:
getHierarchyin classDelegatingRolapMember
-
getDimension
Description copied from interface:OlapElementReturns the dimension of a this expression, or null if no dimension is defined. Applicable only to set expressions.Example 1:
has dimension[Sales].children
[Sales].Example 2:
has dimension [Promotion Media].order(except([Promotion Media].[Media Type].members, {[Promotion Media].[Media Type].[No Media]}), [Measures].[Unit Sales], DESC)Example 3:
has no dimension (well, actually it is [Product] x [Gender], but we can't represent that, so we return null);CrossJoin([Product].[Product Department].members, [Gender].members)- Specified by:
getDimensionin interfaceOlapElement- Overrides:
getDimensionin classDelegatingRolapMember
-
getLevel
This method is central to how RolapCubeMember works. It allows a member from the cache to be used within different usages of the same shared dimension. The cache member is the same, but the RolapCubeMembers wrapping the cache member report that they belong to different levels, and hence different hierarchies, dimensions, and cubes.
- Specified by:
getLevelin interfaceMember- Specified by:
getLevelin interfaceRolapMember- Overrides:
getLevelin classDelegatingRolapMember
-
setProperty
Description copied from class:RolapMemberBaseSets a property of this member to a given value.WARNING: Setting system properties such as "$name" may have nasty side-effects.
- Specified by:
setPropertyin interfaceMember- Overrides:
setPropertyin classDelegatingRolapMember
-
getPropertyValue
Description copied from interface:MemberReturns the value of the property namedpropertyName, matching according to the required case-sensitivity.- Specified by:
getPropertyValuein interfaceMember- Overrides:
getPropertyValuein classDelegatingRolapMember
-
getPropertyValue
Description copied from interface:MemberReturns the value of the property namedpropertyName. Name match is case-sensitive.- Specified by:
getPropertyValuein interfaceMember- Overrides:
getPropertyValuein classDelegatingRolapMember
-
getParentMember
Description copied from interface:MemberReturns this member's parent, or null (not the 'null member', as returned byHierarchy.getNullMember()) if it has no parent.In an access-control context, a member may have no visible parents, so use
SchemaReader.getMemberParent(mondrian.olap.Member).- Specified by:
getParentMemberin interfaceMember- Specified by:
getParentMemberin interfaceRolapMember- Overrides:
getParentMemberin classDelegatingRolapMember
-
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 classDelegatingRolapMember
-
lookupChild
public OlapElement lookupChild(SchemaReader schemaReader, Id.Segment childName, MatchType matchType) Description copied from interface:OlapElementLooks up a child element, returning null if it does not exist.- Specified by:
lookupChildin interfaceOlapElement- Overrides:
lookupChildin classDelegatingRolapMember
-
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 MEMBERclause 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.
-