common-util

local.tomas.expr.compiler
Class ExpressionDecompiler

java.lang.Object
  extended by local.tomas.expr.compiler.ExpressionDecompiler
All Implemented Interfaces:
ExpressionWalker<StringBuffer,ExpressionDecompilerContext>

public class ExpressionDecompiler
extends Object
implements ExpressionWalker<StringBuffer,ExpressionDecompilerContext>

The ExpressionDecompiler is used to create string representations from expressions.

Author:
tomas.teubner

Field Summary
protected  Locale locale
          Locale used for decompilation.
protected  int options
          Decompilation options.
protected  StringBuffer sb
          Buffer used to create the string.
 
Constructor Summary
ExpressionDecompiler(Locale locale, int options)
          Constructor.
 
Method Summary
 StringBuffer visitAbsFunction(AbsFunctionTerm t, ExpressionDecompilerContext arg)
          Visit an abs function term.
 StringBuffer visitAddition(AdditionTerm t, ExpressionDecompilerContext arg)
          Visit an addition term.
 StringBuffer visitAndTerm(AndTerm t, ExpressionDecompilerContext arg)
          Visit an and term.
 StringBuffer visitBooleanConstant(Boolean b, ExpressionDecompilerContext arg)
          Visit a boolean constant.
 StringBuffer visitConcatenationTerm(ConcatenationTerm t, ExpressionDecompilerContext arg)
          Visit a concatenation term.
 StringBuffer visitCurrentDateFunction(CurrentDateFunctionTerm t, ExpressionDecompilerContext arg)
          Visit a current date function term.
 StringBuffer visitDateConstant(Date d, ExpressionDecompilerContext arg)
          Visit a date constant
 StringBuffer visitDivision(DivisionTerm t, ExpressionDecompilerContext arg)
          Visit a division term.
 StringBuffer visitEquality(EqualityTerm t, ExpressionDecompilerContext arg)
          Visit an equality term.
 StringBuffer visitGreaterEqual(GreaterEqualTerm t, ExpressionDecompilerContext arg)
          Visit a greater equal term.
 StringBuffer visitGreaterThan(GreaterTerm t, ExpressionDecompilerContext arg)
          Visit a greater than term.
 StringBuffer visitInequality(InequalityTerm t, ExpressionDecompilerContext arg)
          Visit an inequality term.
 StringBuffer visitInTerm(InTerm t, ExpressionDecompilerContext arg)
          Visit an in term.
 StringBuffer visitIsNotNull(IsNotNullTerm t, ExpressionDecompilerContext arg)
          Visit a not is null term.
 StringBuffer visitIsNull(IsNullTerm t, ExpressionDecompilerContext arg)
          Visit an is null term.
 StringBuffer visitLengthFunction(LengthFunctionTerm t, ExpressionDecompilerContext arg)
          Visit a length function term.
 StringBuffer visitLessEqual(LessEqualTerm t, ExpressionDecompilerContext arg)
          Visit a less equal term.
 StringBuffer visitLessThan(LessTerm t, ExpressionDecompilerContext arg)
          Visit a less than term.
 StringBuffer visitLikeTerm(LikeTerm t, ExpressionDecompilerContext arg)
          Visit a like term.
 StringBuffer visitLowerFunction(LowerFunctionTerm t, ExpressionDecompilerContext arg)
          Visit a lower function term.
 StringBuffer visitMatchTerm(MatchTerm t, ExpressionDecompilerContext arg)
          Visit a regular expression match term.
 StringBuffer visitMultiplication(MultiplicationTerm t, ExpressionDecompilerContext arg)
          Visit a multiplication term.
 StringBuffer visitNegation(NegationTerm t, ExpressionDecompilerContext arg)
          Visit a concatenation term.
 StringBuffer visitNotInTerm(NotInTerm t, ExpressionDecompilerContext arg)
          Visit a not in term.
 StringBuffer visitNotLikeTerm(NotLikeTerm t, ExpressionDecompilerContext arg)
          Visit a not like term.
 StringBuffer visitNumberConstant(Number n, ExpressionDecompilerContext arg)
          Visit a numeric constant
 StringBuffer visitOrTerm(OrTerm t, ExpressionDecompilerContext arg)
          Visit an or term.
 StringBuffer visitReplaceFunction(ReplaceFunctionTerm t, ExpressionDecompilerContext arg)
          Visit a replace function term.
 StringBuffer visitSignChange(SignChangeTerm t, ExpressionDecompilerContext arg)
          Visit a sign change term.
 StringBuffer visitStringConstant(String s, ExpressionDecompilerContext arg)
          Visit a string constant.
 StringBuffer visitSubstrFunction(SubstrFunctionTerm t, ExpressionDecompilerContext arg)
          Visit a substring function term.
 StringBuffer visitSubtraction(SubtractionTerm t, ExpressionDecompilerContext arg)
          Visit a subtraction term.
 StringBuffer visitTrimFunction(TrimFunctionTerm t, ExpressionDecompilerContext arg)
          Visit a trim function term.
 StringBuffer visitUpperFunction(UpperFunctionTerm t, ExpressionDecompilerContext arg)
          Visit an upper function term.
 StringBuffer visitVariable(Variable variable, ExpressionDecompilerContext arg)
          Visit a variable.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sb

protected StringBuffer sb
Buffer used to create the string.


locale

protected Locale locale
Locale used for decompilation.


options

protected int options
Decompilation options.

See Also:
ExpressionCompiler
Constructor Detail

ExpressionDecompiler

public ExpressionDecompiler(Locale locale,
                            int options)
Constructor.

Parameters:
locale - locale used for decompilation
options - decompilation options
Method Detail

visitBooleanConstant

public StringBuffer visitBooleanConstant(Boolean b,
                                         ExpressionDecompilerContext arg)
                                  throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a boolean constant.

Specified by:
visitBooleanConstant in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
b - boolean constant
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitStringConstant

public StringBuffer visitStringConstant(String s,
                                        ExpressionDecompilerContext arg)
                                 throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a string constant.

Specified by:
visitStringConstant in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
s - string constant
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitNumberConstant

public StringBuffer visitNumberConstant(Number n,
                                        ExpressionDecompilerContext arg)
                                 throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a numeric constant

Specified by:
visitNumberConstant in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
n - numeric constant
arg - implementation dependent argument
Returns:
implementation dependent value
Throws:
ExpressionException

visitDateConstant

public StringBuffer visitDateConstant(Date d,
                                      ExpressionDecompilerContext arg)
                               throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a date constant

Specified by:
visitDateConstant in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
d - date constant
arg - implementation dependent argument
Returns:
implementation dependent value
Throws:
ExpressionException

visitVariable

public StringBuffer visitVariable(Variable variable,
                                  ExpressionDecompilerContext arg)
                           throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a variable.

Specified by:
visitVariable in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitAddition

public StringBuffer visitAddition(AdditionTerm t,
                                  ExpressionDecompilerContext arg)
                           throws ExpressionException
Description copied from interface: ExpressionWalker
Visit an addition term.

Specified by:
visitAddition in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - addition term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitSubtraction

public StringBuffer visitSubtraction(SubtractionTerm t,
                                     ExpressionDecompilerContext arg)
                              throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a subtraction term.

Specified by:
visitSubtraction in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - subtraction term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitMultiplication

public StringBuffer visitMultiplication(MultiplicationTerm t,
                                        ExpressionDecompilerContext arg)
                                 throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a multiplication term.

Specified by:
visitMultiplication in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - multiplication term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitDivision

public StringBuffer visitDivision(DivisionTerm t,
                                  ExpressionDecompilerContext arg)
                           throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a division term.

Specified by:
visitDivision in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - division term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitEquality

public StringBuffer visitEquality(EqualityTerm t,
                                  ExpressionDecompilerContext arg)
                           throws ExpressionException
Description copied from interface: ExpressionWalker
Visit an equality term.

Specified by:
visitEquality in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - equality term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitInequality

public StringBuffer visitInequality(InequalityTerm t,
                                    ExpressionDecompilerContext arg)
                             throws ExpressionException
Description copied from interface: ExpressionWalker
Visit an inequality term.

Specified by:
visitInequality in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - inequality term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitLessThan

public StringBuffer visitLessThan(LessTerm t,
                                  ExpressionDecompilerContext arg)
                           throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a less than term.

Specified by:
visitLessThan in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - less than term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitLessEqual

public StringBuffer visitLessEqual(LessEqualTerm t,
                                   ExpressionDecompilerContext arg)
                            throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a less equal term.

Specified by:
visitLessEqual in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - less equal term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitGreaterThan

public StringBuffer visitGreaterThan(GreaterTerm t,
                                     ExpressionDecompilerContext arg)
                              throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a greater than term.

Specified by:
visitGreaterThan in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - greater than term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitGreaterEqual

public StringBuffer visitGreaterEqual(GreaterEqualTerm t,
                                      ExpressionDecompilerContext arg)
                               throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a greater equal term.

Specified by:
visitGreaterEqual in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - greater equal term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitInTerm

public StringBuffer visitInTerm(InTerm t,
                                ExpressionDecompilerContext arg)
                         throws ExpressionException
Description copied from interface: ExpressionWalker
Visit an in term.

Specified by:
visitInTerm in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - an in term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitNotInTerm

public StringBuffer visitNotInTerm(NotInTerm t,
                                   ExpressionDecompilerContext arg)
                            throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a not in term.

Specified by:
visitNotInTerm in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - a not in term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitLikeTerm

public StringBuffer visitLikeTerm(LikeTerm t,
                                  ExpressionDecompilerContext arg)
                           throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a like term.

Specified by:
visitLikeTerm in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - a like term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitMatchTerm

public StringBuffer visitMatchTerm(MatchTerm t,
                                   ExpressionDecompilerContext arg)
                            throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a regular expression match term.

Specified by:
visitMatchTerm in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - a regular expression match term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitNotLikeTerm

public StringBuffer visitNotLikeTerm(NotLikeTerm t,
                                     ExpressionDecompilerContext arg)
                              throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a not like term.

Specified by:
visitNotLikeTerm in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - a not like term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitAndTerm

public StringBuffer visitAndTerm(AndTerm t,
                                 ExpressionDecompilerContext arg)
                          throws ExpressionException
Description copied from interface: ExpressionWalker
Visit an and term.

Specified by:
visitAndTerm in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - an and term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitOrTerm

public StringBuffer visitOrTerm(OrTerm t,
                                ExpressionDecompilerContext arg)
                         throws ExpressionException
Description copied from interface: ExpressionWalker
Visit an or term.

Specified by:
visitOrTerm in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - an or term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitConcatenationTerm

public StringBuffer visitConcatenationTerm(ConcatenationTerm t,
                                           ExpressionDecompilerContext arg)
                                    throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a concatenation term.

Specified by:
visitConcatenationTerm in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - a concatenation term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitSignChange

public StringBuffer visitSignChange(SignChangeTerm t,
                                    ExpressionDecompilerContext arg)
                             throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a sign change term.

Specified by:
visitSignChange in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - a sign change term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitNegation

public StringBuffer visitNegation(NegationTerm t,
                                  ExpressionDecompilerContext arg)
                           throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a concatenation term.

Specified by:
visitNegation in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - a concatenation term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitIsNull

public StringBuffer visitIsNull(IsNullTerm t,
                                ExpressionDecompilerContext arg)
                         throws ExpressionException
Description copied from interface: ExpressionWalker
Visit an is null term.

Specified by:
visitIsNull in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - an is null term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitIsNotNull

public StringBuffer visitIsNotNull(IsNotNullTerm t,
                                   ExpressionDecompilerContext arg)
                            throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a not is null term.

Specified by:
visitIsNotNull in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - a not is null term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitAbsFunction

public StringBuffer visitAbsFunction(AbsFunctionTerm t,
                                     ExpressionDecompilerContext arg)
                              throws ExpressionException
Description copied from interface: ExpressionWalker
Visit an abs function term.

Specified by:
visitAbsFunction in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - an abs function term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitLengthFunction

public StringBuffer visitLengthFunction(LengthFunctionTerm t,
                                        ExpressionDecompilerContext arg)
                                 throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a length function term.

Specified by:
visitLengthFunction in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - a length function term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitTrimFunction

public StringBuffer visitTrimFunction(TrimFunctionTerm t,
                                      ExpressionDecompilerContext arg)
                               throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a trim function term.

Specified by:
visitTrimFunction in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - a trim function term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitUpperFunction

public StringBuffer visitUpperFunction(UpperFunctionTerm t,
                                       ExpressionDecompilerContext arg)
                                throws ExpressionException
Description copied from interface: ExpressionWalker
Visit an upper function term.

Specified by:
visitUpperFunction in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - an upper function term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitLowerFunction

public StringBuffer visitLowerFunction(LowerFunctionTerm t,
                                       ExpressionDecompilerContext arg)
                                throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a lower function term.

Specified by:
visitLowerFunction in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - a lower function term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitSubstrFunction

public StringBuffer visitSubstrFunction(SubstrFunctionTerm t,
                                        ExpressionDecompilerContext arg)
                                 throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a substring function term.

Specified by:
visitSubstrFunction in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - a substring function term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitCurrentDateFunction

public StringBuffer visitCurrentDateFunction(CurrentDateFunctionTerm t,
                                             ExpressionDecompilerContext arg)
                                      throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a current date function term.

Specified by:
visitCurrentDateFunction in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - a current date function term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

visitReplaceFunction

public StringBuffer visitReplaceFunction(ReplaceFunctionTerm t,
                                         ExpressionDecompilerContext arg)
                                  throws ExpressionException
Description copied from interface: ExpressionWalker
Visit a replace function term.

Specified by:
visitReplaceFunction in interface ExpressionWalker<StringBuffer,ExpressionDecompilerContext>
Parameters:
t - a replace function term
arg - implementation dependent argument
Returns:
implementation dependent result
Throws:
ExpressionException

common-util

Copyright © 2005-2007 Tomas Teubner. All Rights Reserved.