Package mondrian.rolap
Class RolapCalculatedMember
- java.lang.Object
-
- mondrian.olap.OlapElementBase
-
- mondrian.olap.MemberBase
-
- mondrian.rolap.RolapMemberBase
-
- mondrian.rolap.RolapCalculatedMember
-
- All Implemented Interfaces:
Comparable
,Annotated
,Member
,OlapElement
,RolapCalculation
,RolapMember
- Direct Known Subclasses:
RolapHierarchy.RolapCalculatedMeasure
public class RolapCalculatedMember extends RolapMemberBase
ARolapCalculatedMember
is a member based upon aFormula
.It is created before the formula has been resolved; the formula is responsible for setting the "format_string" property.
- Since:
- 26 August, 2001
- Author:
- jhyde
-
-
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.olap.MemberBase
flags, level, parentMember, uniqueName
-
Fields inherited from class mondrian.olap.OlapElementBase
caption, visible
-
-
Constructor Summary
Constructors Constructor Description RolapCalculatedMember(RolapMember parentMember, RolapLevel level, String name, Formula formula)
Creates a RolapCalculatedMember.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
computeCalculated(Member.MemberType memberType)
Computes the value to be returned byMemberBase.isCalculated()
, so it can be cached in a variable.Map<String,Annotation>
getAnnotationMap()
Returns a list of annotations.Exp
getExpression()
Returns the expression by which this member is calculated.Formula
getFormula()
Object
getPropertyValue(String propertyName, boolean matchCase)
Returns the value of the property namedpropertyName
, matching according to the required case-sensitivity.int
getSolveOrder()
Returns the solve order of this calculation.boolean
isCalculatedInQuery()
Returns whether this member is computed from aWITH MEMBER
clause in an MDX query.(package private) void
setAnnotationMap(Map<String,Annotation> annotationMap)
-
Methods inherited from class mondrian.rolap.RolapMemberBase
childLevelHasApproxRowCount, compareTo, containsAggregateFunction, equals, equals, getAllMembers, getCompiledExpression, getDepth, getHierarchy, getHierarchyCardinality, getHierarchyOrdinal, getKey, getLevel, getLogger, getName, getOrderKey, getOrdinal, getParentMember, getProperties, getPropertyFormattedValue, getPropertyFromMap, getPropertyValue, hashCode, isAllMember, isHidden, isParentChildLeaf, keyToString, makeUniqueName, setContextIn, setName, setOrderKey, setOrdinal, setOrdinals, setParentMember, setProperty, setUniqueName
-
Methods inherited from class mondrian.olap.MemberBase
getAncestorMembers, getCaption, getDataMember, getDescription, getDimension, getMemberType, getParentUniqueName, getQualifiedName, getUniqueName, isAll, isCalculated, isChildOrEqualTo, isChildOrEqualTo, isEvaluated, isMeasure, isNull, isParentChildPhysicalMember, lookupChild
-
Methods inherited from class mondrian.olap.OlapElementBase
clone, computeHashCode, getLocalized, isVisible, setCaption, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface mondrian.olap.Member
getAncestorMembers, getDataMember, getMemberType, getParentUniqueName, isAll, isCalculated, isChildOrEqualTo, isEvaluated, isMeasure, isNull, isParentChildPhysicalMember
-
Methods inherited from interface mondrian.olap.OlapElement
getCaption, getDescription, getDimension, getLocalized, getQualifiedName, getUniqueName, isVisible, lookupChild
-
-
-
-
Constructor Detail
-
RolapCalculatedMember
RolapCalculatedMember(RolapMember parentMember, RolapLevel level, String name, Formula formula)
Creates a RolapCalculatedMember.- Parameters:
parentMember
- Parent memberlevel
- Levelname
- Nameformula
- Formula
-
-
Method Detail
-
getSolveOrder
public int getSolveOrder()
Description copied from interface:RolapCalculation
Returns the solve order of this calculation. Identifies which order calculations are expanded.- Specified by:
getSolveOrder
in interfaceMember
- Specified by:
getSolveOrder
in interfaceRolapCalculation
- Overrides:
getSolveOrder
in classMemberBase
- Returns:
- Solve order
-
getPropertyValue
public Object getPropertyValue(String propertyName, boolean matchCase)
Description copied from interface:Member
Returns the value of the property namedpropertyName
, matching according to the required case-sensitivity.- Specified by:
getPropertyValue
in interfaceMember
- Overrides:
getPropertyValue
in classRolapMemberBase
-
computeCalculated
protected boolean computeCalculated(Member.MemberType memberType)
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
-
isCalculatedInQuery
public boolean isCalculatedInQuery()
Description copied from interface:Member
Returns whether this member is computed from aWITH MEMBER
clause in an MDX query.- Specified by:
isCalculatedInQuery
in interfaceMember
- Specified by:
isCalculatedInQuery
in interfaceRolapCalculation
- Overrides:
isCalculatedInQuery
in classRolapMemberBase
- Returns:
- whether this calculation is computed in an MDX query
-
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 interfaceMember
- Overrides:
getExpression
in classMemberBase
-
getFormula
public Formula getFormula()
-
getAnnotationMap
public Map<String,Annotation> getAnnotationMap()
Description copied from interface:Annotated
Returns a list of annotations.The map may be empty, never null.
- Specified by:
getAnnotationMap
in interfaceAnnotated
- Overrides:
getAnnotationMap
in classRolapMemberBase
- Returns:
- Map from annotation name to annotations.
-
setAnnotationMap
void setAnnotationMap(Map<String,Annotation> annotationMap)
-
-