Class CollectionLiteral
- java.lang.Object
-
- org.datanucleus.store.rdbms.sql.expression.SQLExpression
-
- org.datanucleus.store.rdbms.sql.expression.CollectionExpression
-
- 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
lowestOperator, mapping, parameterName, st, stmt, subExprs, table
-
-
Constructor Summary
Constructors Constructor Description CollectionLiteral(SQLStatement stmt, JavaTypeMapping mapping, Object value, String parameterName)Constructor for a collection literal with a value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<SQLExpression>getElementExpressions()ObjectgetValue()Accessor to the literal valueSQLExpressioninvoke(String methodName, List args)Invocation of a method on this expression.voidsetNotParameter()Method to set this literal as not being a parameter.protected voidsetStatement()-
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, bitAnd, bitOr, 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, unDistinct
-
-
-
-
Constructor Detail
-
CollectionLiteral
public CollectionLiteral(SQLStatement stmt, JavaTypeMapping mapping, Object value, String parameterName)
Constructor for a collection literal with a value.- Parameters:
stmt- SQL statementmapping- The mapping to the Collectionvalue- 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:SQLLiteralAccessor to the literal value- Specified by:
getValuein interfaceSQLLiteral- Returns:
- the value of the literal
-
getElementExpressions
public List<SQLExpression> getElementExpressions()
-
setNotParameter
public void setNotParameter()
Description copied from interface:SQLLiteralMethod 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:
setNotParameterin interfaceSQLLiteral
-
setStatement
protected void setStatement()
-
invoke
public SQLExpression invoke(String methodName, List args)
Description copied from class:SQLExpressionInvocation of a method on this expression.- Overrides:
invokein classCollectionExpression- Parameters:
methodName- name of the method to invokeargs- Args to this method (if any)- Returns:
- the converted value
-
-