org.datanucleus.store.rdbms.sql.expression
Class CollectionLiteral

java.lang.Object
  extended by org.datanucleus.store.rdbms.sql.expression.SQLExpression
      extended by org.datanucleus.store.rdbms.sql.expression.CollectionExpression
          extended by org.datanucleus.store.rdbms.sql.expression.CollectionLiteral
All Implemented Interfaces:
SQLLiteral

public class CollectionLiteral
extends CollectionExpression
implements SQLLiteral

An SQL expression that will test if a column of a table falls within the given Collection of values. This is used for queries where a transient Collection is passed in as a parameter.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.datanucleus.store.rdbms.sql.expression.SQLExpression
SQLExpression.ColumnExpressionList
 
Field Summary
 
Fields inherited from class org.datanucleus.store.rdbms.sql.expression.SQLExpression
LOCALISER, lowestOperator, mapping, parameterName, st, stmt, subExprs, table
 
Constructor Summary
CollectionLiteral(SQLStatement stmt, org.datanucleus.store.mapped.mapping.JavaTypeMapping mapping, Object value, String parameterName)
          Constructor for a collection literal with a value.
 
Method Summary
 List<SQLExpression> getElementExpressions()
           
 Object getValue()
          Accessor to the literal value
 SQLExpression invoke(String methodName, List args)
          Invocation of a method on this expression.
 void setNotParameter()
          Method to set this literal as not being a parameter.
protected  void setStatement()
           
 
Methods inherited from class org.datanucleus.store.rdbms.sql.expression.CollectionExpression
eq, ne
 
Methods inherited from class org.datanucleus.store.rdbms.sql.expression.SQLExpression
add, and, cast, com, distinct, div, encloseInParentheses, eor, ge, getJavaTypeMapping, getLowestOperator, getNumberOfSubExpressions, getParameterName, getSQLStatement, getSQLTable, getSubExpression, gt, in, ior, is, isParameter, le, lt, mod, mul, neg, not, setJavaTypeMapping, sub, toSQLText
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CollectionLiteral

public CollectionLiteral(SQLStatement stmt,
                         org.datanucleus.store.mapped.mapping.JavaTypeMapping mapping,
                         Object value,
                         String parameterName)
Constructor for a collection literal with a value.

Parameters:
stmt - SQL statement
mapping - The mapping to the Collection
value - The transient Collection that is the value.
parameterName - Name of the parameter that this represents if any (as JDBC "?")
Method Detail

getValue

public Object getValue()
Description copied from interface: SQLLiteral
Accessor to the literal value

Specified by:
getValue in interface SQLLiteral
Returns:
the value of the literal

getElementExpressions

public List<SQLExpression> getElementExpressions()

setNotParameter

public void setNotParameter()
Description copied from interface: SQLLiteral
Method to set this literal as not being a parameter. If the literal if not currently a parameter then does nothing. Updates any underlying SQL to have the value.

Specified by:
setNotParameter in interface SQLLiteral

setStatement

protected void setStatement()

invoke

public SQLExpression invoke(String methodName,
                            List args)
Description copied from class: SQLExpression
Invocation of a method on this expression.

Overrides:
invoke in class CollectionExpression
Parameters:
methodName - name of the method to invoke
args - Args to this method (if any)
Returns:
the converted value


Copyright © 2012. All Rights Reserved.