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

java.lang.Object
  extended by org.apache.openjpa.jdbc.kernel.exps.AbstractVal
      extended by org.apache.openjpa.jdbc.kernel.exps.Const
All Implemented Interfaces:
Serializable, Val, Constant, Value
Direct Known Subclasses:
CollectionParam, ConstGetObjectId, ConstPath, CurrentDate, Lit, Null, Param, TypeLit

abstract class Const
extends AbstractVal
implements Constant

A literal or parameter in the filter.

Author:
Abe White

Nested Class Summary
protected static class Const.ConstExpState
          Constant expression state.
 
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
Const()
           
 
Method Summary
 void appendIsEmpty(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
          Append the SQL testing whether this value is empty to the given buffer.
 void appendIsNotEmpty(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
          Append the SQL testing whether this value is not empty to the given buffer.
 void appendIsNotNull(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
          Append the SQL testing whether this value is not null to the given buffer.
 void appendIsNull(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
          Append the SQL testing whether this value is null to the given buffer.
 void appendSize(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
          Append the SQL checking the size of this value.
 void calculateValue(Select sel, ExpContext ctx, ExpState state, Val other, ExpState otherState)
          Calculate and cache the SQL for this value.
 ClassMetaData getMetaData()
          Return any associated persistent type.
 Object getSQLValue(Select sel, ExpContext ctx, ExpState state)
          Return the SQL value of this constant.
 Object getValue(ExpContext ctx, ExpState state)
          Return the value of this constant.
 void groupBy(Select sel, ExpContext ctx, ExpState state)
          Group by this value.
 ExpState initialize(Select sel, ExpContext ctx, int flags)
          Initialize the value.
 boolean isSQLValueNull(Select sel, ExpContext ctx, ExpState state)
          Return true if this constant's SQL value is equivalent to NULL.
 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 setMetaData(ClassMetaData meta)
          Associate a persistent type with this value.
 
Methods inherited from class org.apache.openjpa.jdbc.kernel.exps.AbstractVal
acceptVisit, appendIndex, appendType, getAlias, getId, 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
 
Methods inherited from interface org.apache.openjpa.kernel.exps.Constant
getValue
 
Methods inherited from interface org.apache.openjpa.jdbc.kernel.exps.Val
appendTo
 
Methods inherited from interface org.apache.openjpa.kernel.exps.Value
getType, setImplicitType
 

Constructor Detail

Const

Const()
Method Detail

getMetaData

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

Specified by:
getMetaData in interface Value

setMetaData

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

Specified by:
setMetaData in interface Value

getSQLValue

public Object getSQLValue(Select sel,
                          ExpContext ctx,
                          ExpState state)
Return the SQL value of this constant.


isSQLValueNull

public boolean isSQLValueNull(Select sel,
                              ExpContext ctx,
                              ExpState state)
Return true if this constant's SQL value is equivalent to NULL.


getValue

public Object getValue(ExpContext ctx,
                       ExpState state)
Return the value of this constant. May be more robust than the parameters-only form.


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.

Specified by:
initialize in interface Val

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.

Specified by:
calculateValue in interface Val
other - the value being compared to, or null if not a comparison

select

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

Specified by:
select in interface Val

selectColumns

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

Specified by:
selectColumns in interface Val

groupBy

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

Specified by:
groupBy in interface Val

orderBy

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

Specified by:
orderBy in interface Val

load

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

Specified by:
load in interface Val
Throws:
SQLException

length

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

Specified by:
length in interface Val

appendIsEmpty

public void appendIsEmpty(Select sel,
                          ExpContext ctx,
                          ExpState state,
                          SQLBuffer sql)
Description copied from interface: Val
Append the SQL testing whether this value is empty to the given buffer.

Specified by:
appendIsEmpty in interface Val
Overrides:
appendIsEmpty in class AbstractVal

appendIsNotEmpty

public void appendIsNotEmpty(Select sel,
                             ExpContext ctx,
                             ExpState state,
                             SQLBuffer sql)
Description copied from interface: Val
Append the SQL testing whether this value is not empty to the given buffer.

Specified by:
appendIsNotEmpty in interface Val
Overrides:
appendIsNotEmpty in class AbstractVal

appendSize

public void appendSize(Select sel,
                       ExpContext ctx,
                       ExpState state,
                       SQLBuffer sql)
Description copied from interface: Val
Append the SQL checking the size of this value.

Specified by:
appendSize in interface Val
Overrides:
appendSize in class AbstractVal

appendIsNull

public void appendIsNull(Select sel,
                         ExpContext ctx,
                         ExpState state,
                         SQLBuffer sql)
Description copied from interface: Val
Append the SQL testing whether this value is null to the given buffer.

Specified by:
appendIsNull in interface Val
Overrides:
appendIsNull in class AbstractVal

appendIsNotNull

public void appendIsNotNull(Select sel,
                            ExpContext ctx,
                            ExpState state,
                            SQLBuffer sql)
Description copied from interface: Val
Append the SQL testing whether this value is not null to the given buffer.

Specified by:
appendIsNotNull in interface Val
Overrides:
appendIsNotNull in class AbstractVal


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