mondrian.olap
Interface Exp

All Known Subinterfaces:
FunCall
All Known Implementing Classes:
DimensionExpr, DummyExp, ExpBase, HierarchyExpr, Id, LevelExpr, Literal, MemberExpr, NamedSetExpr, ParameterExpr, ResolvedFunCall, UnresolvedFunCall

public interface Exp

An Exp is an MDX expression.

Since:
1.0
Author:
jhyde
 

Method Summary
 Calc accept(ExpCompiler compiler)
          Converts this expression into an a tree of expressions which can be efficiently evaluated.
 Object accept(MdxVisitor visitor)
          Accepts a visitor to this Exp.
 Exp accept(Validator validator)
          Validates this expression.
 Exp clone()
           
 int getCategory()
          Returns the Category of the expression.
 Type getType()
          Returns the type of this expression.
 void unparse(PrintWriter pw)
          Writes the MDX representation of this expression to a print writer.
 

Method Detail

clone

Exp clone()

getCategory

int getCategory()
Returns the Category of the expression.

Post-condition:
Category.instance().isValid(return)

getType

Type getType()
Returns the type of this expression. Never null.


unparse

void unparse(PrintWriter pw)
Writes the MDX representation of this expression to a print writer. Sub-expressions are invoked recursively.

Parameters:
pw - PrintWriter

accept

Exp accept(Validator validator)
Validates this expression. The validator acts in the role of 'visitor' (see Gang of Four 'visitor pattern'), and an expression in the role of 'visitee'.

Parameters:
validator - Validator contains validation context
Returns:
The validated expression; often but not always the same as this expression

accept

Calc accept(ExpCompiler compiler)
Converts this expression into an a tree of expressions which can be efficiently evaluated.

Parameters:
compiler -
Returns:
A compiled expression

accept

Object accept(MdxVisitor visitor)
Accepts a visitor to this Exp. The implementation should generally dispatches to the MdxVisitor.visit(mondrian.olap.Query) method appropriate to the type of expression.

Parameters:
visitor - Visitor

SourceForge.net_Logo