Package mondrian.calc.impl
Class GenericCalc
- java.lang.Object
-
- mondrian.calc.impl.AbstractCalc
-
- mondrian.calc.impl.GenericCalc
-
- All Implemented Interfaces:
BooleanCalc
,Calc
,DateTimeCalc
,DimensionCalc
,DoubleCalc
,HierarchyCalc
,IntegerCalc
,LevelCalc
,MemberCalc
,StringCalc
,TupleCalc
,VoidCalc
- Direct Known Subclasses:
AbstractVoidCalc
,AggregateFunDef.AggregateCalc
,CacheCalc
,ConstantCalc
,MemberArrayValueCalc
,MemberValueCalc
,TupleValueCalc
,ValueCalc
public abstract class GenericCalc extends AbstractCalc implements TupleCalc, StringCalc, IntegerCalc, DoubleCalc, BooleanCalc, DateTimeCalc, VoidCalc, MemberCalc, LevelCalc, HierarchyCalc, DimensionCalc
Adapter which computes a scalar or tuple expression and converts it to any required type.- Since:
- Sep 26, 2005
- Author:
- jhyde
- See Also:
GenericIterCalc
-
-
Field Summary
-
Fields inherited from class mondrian.calc.impl.AbstractCalc
exp, type
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
GenericCalc(Exp exp)
Creates a GenericCalc without specifying child calculated expressions.protected
GenericCalc(Exp exp, Calc[] calcs)
Creates an GenericCalc.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
evaluateBoolean(Evaluator evaluator)
Evaluates this expression to yield aboolean
value.Date
evaluateDateTime(Evaluator evaluator)
Evaluates this expression to yield aDate
value.Dimension
evaluateDimension(Evaluator evaluator)
Evaluates this expression to yield a dimension.double
evaluateDouble(Evaluator evaluator)
Evaluates this expression to yield adouble
value.Hierarchy
evaluateHierarchy(Evaluator evaluator)
Evaluates this expression to yield a hierarchy.int
evaluateInteger(Evaluator evaluator)
Evaluates this expression to yield anint
value.Level
evaluateLevel(Evaluator evaluator)
Evaluates this expression to yield a level.Member
evaluateMember(Evaluator evaluator)
Evaluates this expression to yield a member.String
evaluateString(Evaluator evaluator)
Evaluates this expression to yield aString
value.Member[]
evaluateTuple(Evaluator evaluator)
Evaluates this expression to yield a tuple.void
evaluateVoid(Evaluator evaluator)
static double
numberToDouble(Number number)
-
Methods inherited from class mondrian.calc.impl.AbstractCalc
accept, anyDepends, anyDependsButFirst, butDepends, collectArguments, dependsOn, getArguments, getCalcs, getName, getResultStyle, getType, isWrapperFor, simplifyEvaluator, unwrap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface mondrian.calc.Calc
accept, dependsOn, evaluate, getResultStyle, getType, isWrapperFor, unwrap
-
-
-
-
Constructor Detail
-
GenericCalc
protected GenericCalc(Exp exp)
Creates a GenericCalc without specifying child calculated expressions.Subclass should override
AbstractCalc.getCalcs()
.- Parameters:
exp
- Source expression
-
-
Method Detail
-
evaluateTuple
public Member[] evaluateTuple(Evaluator evaluator)
Description copied from interface:TupleCalc
Evaluates this expression to yield a tuple.A tuple cannot contain any null members. If any of the members is null, this method must return a null.
- Specified by:
evaluateTuple
in interfaceTupleCalc
- Parameters:
evaluator
- Evaluation context- Returns:
- an array of members, or null to represent the null tuple
-
evaluateString
public String evaluateString(Evaluator evaluator)
Description copied from interface:StringCalc
Evaluates this expression to yield aString
value.- Specified by:
evaluateString
in interfaceStringCalc
- Parameters:
evaluator
- Evaluation context- Returns:
- evaluation result
-
evaluateInteger
public int evaluateInteger(Evaluator evaluator)
Description copied from interface:IntegerCalc
Evaluates this expression to yield anint
value. If the result is null, returns the specialFunUtil.IntegerNull
value.- Specified by:
evaluateInteger
in interfaceIntegerCalc
- Parameters:
evaluator
- Evaluation context- Returns:
- evaluation result
-
evaluateDouble
public double evaluateDouble(Evaluator evaluator)
Description copied from interface:DoubleCalc
Evaluates this expression to yield adouble
value. If the result is null, returns the specialFunUtil.DoubleNull
value.- Specified by:
evaluateDouble
in interfaceDoubleCalc
- Parameters:
evaluator
- Evaluation context- Returns:
- evaluation result
-
numberToDouble
public static double numberToDouble(Number number)
-
evaluateBoolean
public boolean evaluateBoolean(Evaluator evaluator)
Description copied from interface:BooleanCalc
Evaluates this expression to yield aboolean
value. If the result is null, returns the specialFunUtil.BooleanNull
value.- Specified by:
evaluateBoolean
in interfaceBooleanCalc
- Parameters:
evaluator
- Evaluation context- Returns:
- evaluation result
-
evaluateDateTime
public Date evaluateDateTime(Evaluator evaluator)
Description copied from interface:DateTimeCalc
Evaluates this expression to yield aDate
value.- Specified by:
evaluateDateTime
in interfaceDateTimeCalc
- Parameters:
evaluator
- Evaluation context- Returns:
- evaluation result
-
evaluateVoid
public void evaluateVoid(Evaluator evaluator)
- Specified by:
evaluateVoid
in interfaceVoidCalc
-
evaluateMember
public Member evaluateMember(Evaluator evaluator)
Description copied from interface:MemberCalc
Evaluates this expression to yield a member.May return the null member (see
Hierarchy.getNullMember()
) but never null.- Specified by:
evaluateMember
in interfaceMemberCalc
- Parameters:
evaluator
- Evaluation context- Returns:
- a member
-
evaluateLevel
public Level evaluateLevel(Evaluator evaluator)
Description copied from interface:LevelCalc
Evaluates this expression to yield a level.Never returns null.
- Specified by:
evaluateLevel
in interfaceLevelCalc
- Parameters:
evaluator
- Evaluation context- Returns:
- a level
-
evaluateHierarchy
public Hierarchy evaluateHierarchy(Evaluator evaluator)
Description copied from interface:HierarchyCalc
Evaluates this expression to yield a hierarchy.Never returns null.
- Specified by:
evaluateHierarchy
in interfaceHierarchyCalc
- Parameters:
evaluator
- Evaluation context- Returns:
- a hierarchy
-
evaluateDimension
public Dimension evaluateDimension(Evaluator evaluator)
Description copied from interface:DimensionCalc
Evaluates this expression to yield a dimension.Never returns null.
- Specified by:
evaluateDimension
in interfaceDimensionCalc
- Parameters:
evaluator
- Evaluation context- Returns:
- a dimension
-
-