Package 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, 20 January, 1999
  • Method Details

    • clone

      Exp clone()
    • getCategory

      int getCategory()
      Returns the Category of the expression.
    • 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