public class RolapCubeMember extends DelegatingRolapMember implements RolapMemberInCube
RolapMemberBase.DefaultPropertyValueMapFactory, RolapMemberBase.PropertyValueMapFactory, RolapMemberBase.PropertyValueMapFactoryFactory
Member.MemberType
OlapElement.LocalizedProperty
Modifier and Type | Field and Description |
---|---|
protected RolapCubeLevel |
cubeLevel |
protected RolapCubeMember |
parentCubeMember |
member
flags, level, parentMember, uniqueName
caption, visible
Constructor and Description |
---|
RolapCubeMember(RolapCubeMember parent,
RolapMember member,
RolapCubeLevel cubeLevel)
Creates a RolapCubeMember.
|
Modifier and Type | Method and Description |
---|---|
int |
compareTo(Object o)
Compares this member to another
RolapMemberBase . |
boolean |
containsAggregateFunction()
Returns whether this calculation contains an aggregate function.
|
boolean |
equals(Object o) |
boolean |
equals(OlapElement o) |
Calc |
getCompiledExpression(mondrian.rolap.RolapEvaluatorRoot root)
Returns the compiled expression to evaluate the scalar value of the
current cell.
|
RolapCube |
getCube()
Returns the cube this cube member belongs to.
|
RolapCubeMember |
getDataMember()
Returns the system-generated data member that is associated with a
nonleaf member of a dimension.
|
RolapCubeDimension |
getDimension()
Returns the dimension of a this expression, or null if no dimension is
defined.
|
Exp |
getExpression()
Returns the expression by which this member is calculated.
|
RolapCubeHierarchy |
getHierarchy() |
int |
getHierarchyOrdinal()
Returns the ordinal of this calculation; to resolve ties.
|
RolapCubeLevel |
getLevel() |
RolapCubeMember |
getParentMember()
Returns this member's parent, or null (not the 'null member', as
returned by
Hierarchy.getNullMember() ) if it has no parent. |
Object |
getPropertyValue(String propertyName)
Returns the value of the property named
propertyName . |
Object |
getPropertyValue(String propertyName,
boolean matchCase)
Returns the value of the property named
propertyName ,
matching according to the required case-sensitivity. |
RolapMember |
getRolapMember()
Returns the underlying member.
|
int |
getSolveOrder()
Returns the solve order of this calculation.
|
String |
getUniqueName() |
int |
hashCode() |
boolean |
isCalculatedInQuery()
Returns whether this calculation is a member is computed from a
WITH MEMBER clause in an MDX query. |
OlapElement |
lookupChild(SchemaReader schemaReader,
Id.Segment childName,
MatchType matchType)
Looks up a child element, returning null if it does not exist.
|
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.
|
void |
setProperty(String name,
Object value)
Sets a property of this member to a given value.
|
String |
toString() |
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, setName
childLevelHasApproxRowCount, containsAggregateFunction, getAllMembers, getCaptionValue, getCompiledExpression, getHierarchyCardinality, getHierarchyOrdinal, getLogger, getPropertyFromMap, keyToString, setCaptionValue, setContextIn, setOrdinal, setOrdinals, setUniqueName
computeCalculated, isChildOrEqualTo
clone, computeHashCode, getLocalized, isVisible, setCaption
finalize, getClass, notify, notifyAll, wait, wait, wait
getKey, isAllMember
getAncestorMembers, getDepth, getMemberType, getOrderKey, getOrdinal, getParentUniqueName, getProperties, getPropertyFormattedValue, getSolveOrder, isAll, isCalculated, isCalculatedInQuery, isChildOrEqualTo, isEvaluated, isHidden, isMeasure, isNull, isParentChildLeaf, isParentChildPhysicalMember, setName
getCaption, getDescription, getLocalized, getName, getQualifiedName, isVisible
getAnnotationMap
protected final RolapCubeLevel cubeLevel
protected final RolapCubeMember parentCubeMember
public RolapCubeMember(RolapCubeMember parent, RolapMember member, RolapCubeLevel cubeLevel)
parent
- Parent membermember
- Member of underlying (non-cube) hierarchycubeLevel
- Levelpublic String getUniqueName()
getUniqueName
in interface OlapElement
getUniqueName
in class DelegatingRolapMember
public final RolapMember getRolapMember()
public final RolapCube getCube()
RolapMemberInCube
This method is not in the RolapMember
interface, because
regular members may be shared, and therefore do not belong to a specific
cube.
getCube
in interface RolapMemberInCube
public final RolapCubeMember getDataMember()
Member
Returns this member if this member is a leaf member, or if the nonleaf member does not have an associated data member.
getDataMember
in interface Member
getDataMember
in class DelegatingRolapMember
public int compareTo(Object o)
RolapMemberBase
RolapMemberBase
.
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.ordinal
field, because
ordinal is only unique within a parent. If you want to compare
members which may be at any position in the hierarchy, use
FunUtil.compareHierarchically(mondrian.olap.Member, mondrian.olap.Member, boolean)
.
compareTo
in interface Comparable
compareTo
in class DelegatingRolapMember
public String toString()
toString
in class OlapElementBase
public int hashCode()
hashCode
in class RolapMemberBase
public boolean equals(Object o)
equals
in class RolapMemberBase
public boolean equals(OlapElement o)
equals
in class RolapMemberBase
public final RolapCubeHierarchy getHierarchy()
getHierarchy
in interface Member
getHierarchy
in interface OlapElement
getHierarchy
in interface RolapMember
getHierarchy
in class DelegatingRolapMember
public final RolapCubeDimension getDimension()
OlapElement
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)
getDimension
in interface OlapElement
getDimension
in class DelegatingRolapMember
public final RolapCubeLevel 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.
getLevel
in interface Member
getLevel
in interface RolapMember
getLevel
in class DelegatingRolapMember
public void setProperty(String name, Object value)
RolapMemberBase
WARNING: Setting system properties such as "$name" may have nasty side-effects.
setProperty
in interface Member
setProperty
in class DelegatingRolapMember
public Object getPropertyValue(String propertyName, boolean matchCase)
Member
propertyName
,
matching according to the required case-sensitivity.getPropertyValue
in interface Member
getPropertyValue
in class DelegatingRolapMember
public Object getPropertyValue(String propertyName)
Member
propertyName
.
Name match is case-sensitive.getPropertyValue
in interface Member
getPropertyValue
in class DelegatingRolapMember
public final RolapCubeMember getParentMember()
Member
Hierarchy.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)
.
getParentMember
in interface Member
getParentMember
in interface RolapMember
getParentMember
in class DelegatingRolapMember
public Exp getExpression()
MemberBase
getExpression
in interface Member
getExpression
in class DelegatingRolapMember
public OlapElement lookupChild(SchemaReader schemaReader, Id.Segment childName, MatchType matchType)
OlapElement
lookupChild
in interface OlapElement
lookupChild
in class DelegatingRolapMember
public void setContextIn(RolapEvaluator evaluator)
evaluator
- Evaluatorpublic int getSolveOrder()
public int getHierarchyOrdinal()
public boolean isCalculatedInQuery()
WITH MEMBER
clause in an MDX query.public Calc getCompiledExpression(mondrian.rolap.RolapEvaluatorRoot root)
root
- Root evaluation contextpublic boolean containsAggregateFunction()
Copyright © 2020 Hitachi Vantara. All rights reserved.