csheets.core.formula.util
Class ExpressionBuilder

java.lang.Object
  extended by csheets.core.formula.util.ExpressionBuilder
All Implemented Interfaces:
ExpressionVisitor
Direct Known Subclasses:
ReferenceTransposer, TestCaseBuilder

public class ExpressionBuilder
extends Object
implements ExpressionVisitor

A base-class for classes that rebuild expressions. In this form, it simply copies expressions.

Author:
Einar Pehrson

Constructor Summary
ExpressionBuilder()
          Creates a new expression builder.
 
Method Summary
 Expression getExpression(Expression expression)
          Returns a copy of the given expression.
 Expression visitBinaryOperation(BinaryOperation operation)
          Visits the given binary expression.
 Expression visitFunctionCall(FunctionCall call)
          Visits the given function call.
 Expression visitLiteral(Literal literal)
          Visits the given literal.
 Expression visitReference(Reference reference)
          Visits the given cell reference.
 Expression visitUnaryOperation(UnaryOperation operation)
          Visits the given unary expression.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpressionBuilder

public ExpressionBuilder()
Creates a new expression builder.

Method Detail

getExpression

public Expression getExpression(Expression expression)
Returns a copy of the given expression.

Parameters:
expression - the expression to rebuild
Returns:
the rebuilt expression

visitLiteral

public Expression visitLiteral(Literal literal)
Description copied from interface: ExpressionVisitor
Visits the given literal.

Specified by:
visitLiteral in interface ExpressionVisitor
Parameters:
literal - the literal to visit
Returns:
an arbitrary object

visitUnaryOperation

public Expression visitUnaryOperation(UnaryOperation operation)
Description copied from interface: ExpressionVisitor
Visits the given unary expression.

Specified by:
visitUnaryOperation in interface ExpressionVisitor
Parameters:
operation - the operation to visit
Returns:
an arbitrary object

visitBinaryOperation

public Expression visitBinaryOperation(BinaryOperation operation)
Description copied from interface: ExpressionVisitor
Visits the given binary expression.

Specified by:
visitBinaryOperation in interface ExpressionVisitor
Parameters:
operation - the operation to visit
Returns:
an arbitrary object

visitReference

public Expression visitReference(Reference reference)
Description copied from interface: ExpressionVisitor
Visits the given cell reference.

Specified by:
visitReference in interface ExpressionVisitor
Parameters:
reference - the reference to visit
Returns:
an arbitrary object

visitFunctionCall

public Expression visitFunctionCall(FunctionCall call)
Description copied from interface: ExpressionVisitor
Visits the given function call.

Specified by:
visitFunctionCall in interface ExpressionVisitor
Parameters:
call - the function call to visit
Returns:
an arbitrary object