org.apache.openjpa.jdbc.kernel.exps
Class GeneralCaseExpression

java.lang.Object
  extended by org.apache.openjpa.jdbc.kernel.exps.AbstractVal
      extended by org.apache.openjpa.jdbc.kernel.exps.GeneralCaseExpression
All Implemented Interfaces:
Serializable, Val, Value

public class GeneralCaseExpression
extends AbstractVal

General case expression.

Author:
Catalina Wei
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.openjpa.jdbc.kernel.exps.AbstractVal
FALSE, TRUE
 
Fields inherited from interface org.apache.openjpa.jdbc.kernel.exps.Val
ABS_VAL, ARGS_VAL, CMP_EQUAL, COALESCE_VAL, CONCAT_VAL, FORCE_OUTER, GENERALCASE_VAL, INDEXOF_VAL, JOIN_REL, LENGTH_VAL, LOCATE_VAL, LOWER_VAL, MATH_VAL, NULL_CMP, NULLIF_VAL, SIMPLECASE_VAL, SQRT_VAL, SUBSTRING_VAL, TRIM_VAL, UPPER_VAL, VAL, WHENCONDITION_VAL, WHENSCALAR_VAL
 
Constructor Summary
GeneralCaseExpression(Exp[] exp, Val val)
          Constructor.
 
Method Summary
 void acceptVisit(ExpressionVisitor visitor)
          Accept a visit from a tree visitor.
 void appendTo(Select sel, ExpContext ctx, ExpState state, SQLBuffer buf, int index)
          Append the indexth SQL element to the given buffer.
 void calculateValue(Select sel, ExpContext ctx, ExpState state, Val other, ExpState otherState)
          Calculate and cache the SQL for this value.
 Exp[] getExp()
           
 int getId()
           
 ClassMetaData getMetaData()
          Return any associated persistent type.
 Value getOtherPath()
           
 ExpState getOtherState()
           
 Class getType()
          Return the expected type for this value, or Object if the type is unknown.
 Val getVal()
           
 void groupBy(Select sel, ExpContext ctx, ExpState state)
          Group by this value.
 ExpState initialize(Select sel, ExpContext ctx, int flags)
          Initialize the value.
 int length(Select sel, ExpContext ctx, ExpState state)
          Return the number of SQL elements in this value.
 Object load(ExpContext ctx, ExpState state, Result res)
          Load the data for this value.
 void orderBy(Select sel, ExpContext ctx, ExpState state, boolean asc)
          Order by this value.
 void select(Select sel, ExpContext ctx, ExpState state, boolean pks)
          Select the data for this value.
 void selectColumns(Select sel, ExpContext ctx, ExpState state, boolean pks)
          Select just the columns for this value.
 void setImplicitType(Class type)
          Set the implicit type of the value, based on how it is used in the filter.
 void setMetaData(ClassMetaData meta)
          Associate a persistent type with this value.
 void setOtherPath(Value other)
           
 void setOtherState(ExpState otherState)
           
 
Methods inherited from class org.apache.openjpa.jdbc.kernel.exps.AbstractVal
appendIndex, appendIsEmpty, appendIsNotEmpty, appendIsNotNull, appendIsNull, appendSize, appendType, getAlias, getName, getPath, getSelectAs, isAggregate, isVariable, isXPath, setAlias, toDataStoreValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GeneralCaseExpression

public GeneralCaseExpression(Exp[] exp,
                             Val val)
Constructor.

Method Detail

getExp

public Exp[] getExp()

getVal

public Val getVal()

getType

public Class getType()
Description copied from interface: Value
Return the expected type for this value, or Object if the type is unknown.


initialize

public ExpState initialize(Select sel,
                           ExpContext ctx,
                           int flags)
Description copied from interface: Val
Initialize the value. This method should recursively initialize any sub-values.


appendTo

public void appendTo(Select sel,
                     ExpContext ctx,
                     ExpState state,
                     SQLBuffer buf,
                     int index)
Description copied from interface: Val
Append the indexth SQL element to the given buffer.


selectColumns

public void selectColumns(Select sel,
                          ExpContext ctx,
                          ExpState state,
                          boolean pks)
Description copied from interface: Val
Select just the columns for this value.


acceptVisit

public void acceptVisit(ExpressionVisitor visitor)
Description copied from interface: Value
Accept a visit from a tree visitor.

Specified by:
acceptVisit in interface Value
Overrides:
acceptVisit in class AbstractVal

getId

public int getId()
Specified by:
getId in interface Val
Overrides:
getId in class AbstractVal

calculateValue

public void calculateValue(Select sel,
                           ExpContext ctx,
                           ExpState state,
                           Val other,
                           ExpState otherState)
Description copied from interface: Val
Calculate and cache the SQL for this value. This method is called before length or any append methods.

other - the value being compared to, or null if not a comparison

groupBy

public void groupBy(Select sel,
                    ExpContext ctx,
                    ExpState state)
Description copied from interface: Val
Group by this value.


length

public int length(Select sel,
                  ExpContext ctx,
                  ExpState state)
Description copied from interface: Val
Return the number of SQL elements in this value.


load

public Object load(ExpContext ctx,
                   ExpState state,
                   Result res)
            throws SQLException
Description copied from interface: Val
Load the data for this value.

Throws:
SQLException

orderBy

public void orderBy(Select sel,
                    ExpContext ctx,
                    ExpState state,
                    boolean asc)
Description copied from interface: Val
Order by this value.


select

public void select(Select sel,
                   ExpContext ctx,
                   ExpState state,
                   boolean pks)
Description copied from interface: Val
Select the data for this value.


getMetaData

public ClassMetaData getMetaData()
Description copied from interface: Value
Return any associated persistent type.


setImplicitType

public void setImplicitType(Class type)
Description copied from interface: Value
Set the implicit type of the value, based on how it is used in the filter. This method is only called on values who return Object from Value.getType().


setMetaData

public void setMetaData(ClassMetaData meta)
Description copied from interface: Value
Associate a persistent type with this value.


setOtherPath

public void setOtherPath(Value other)

getOtherPath

public Value getOtherPath()

setOtherState

public void setOtherState(ExpState otherState)

getOtherState

public ExpState getOtherState()


Copyright © 2006-2010 Apache Software Foundation. All Rights Reserved.