mondrian.rolap
Class RolapCalculatedMember

java.lang.Object
  extended by mondrian.olap.OlapElementBase
      extended by mondrian.olap.MemberBase
          extended by mondrian.rolap.RolapMemberBase
              extended by mondrian.rolap.RolapCalculatedMember
All Implemented Interfaces:
Comparable, Annotated, Member, OlapElement, RolapCalculation, RolapMember
Direct Known Subclasses:
RolapHierarchy.RolapCalculatedMeasure

public class RolapCalculatedMember
extends RolapMemberBase

A RolapCalculatedMember is a member based upon a Formula.

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
RolapCalculatedMember(RolapMember parentMember, RolapLevel level, String name, Formula formula)
          Creates a RolapCalculatedMember.
 
Method Summary
protected  boolean computeCalculated(Member.MemberType memberType)
          Computes the value to be returned by MemberBase.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 named propertyName, 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 a WITH 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, 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
 
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 member
level - Level
name - Name
formula - 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 interface Member
Specified by:
getSolveOrder in interface RolapCalculation
Overrides:
getSolveOrder in class MemberBase
Returns:
Solve order

getPropertyValue

public Object getPropertyValue(String propertyName,
                               boolean matchCase)
Description copied from interface: Member
Returns the value of the property named propertyName, matching according to the required case-sensitivity.

Specified by:
getPropertyValue in interface Member
Overrides:
getPropertyValue in class RolapMemberBase

computeCalculated

protected boolean computeCalculated(Member.MemberType memberType)
Description copied from class: MemberBase
Computes the value to be returned by MemberBase.isCalculated(), so it can be cached in a variable.

Overrides:
computeCalculated in class MemberBase
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 a WITH MEMBER clause in an MDX query.

Specified by:
isCalculatedInQuery in interface Member
Specified by:
isCalculatedInQuery in interface RolapCalculation
Overrides:
isCalculatedInQuery in class RolapMemberBase
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 interface Member
Overrides:
getExpression in class MemberBase

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 interface Annotated
Overrides:
getAnnotationMap in class RolapMemberBase
Returns:
Map from annotation name to annotations.

setAnnotationMap

void setAnnotationMap(Map<String,Annotation> annotationMap)

Get Mondrian at SourceForge.net. Fast, secure and free Open Source software downloads