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

java.lang.Object
  extended by org.datanucleus.store.rdbms.sql.expression.SQLExpression
      extended by org.datanucleus.store.rdbms.sql.expression.CollectionExpression
Direct Known Subclasses:
CollectionLiteral

public class CollectionExpression
extends SQLExpression

An expression that represents some collection field in a query candidate class, or a collection field in an object linked from the candidate class by navigation.

When navigated through using contains(expr), the elements of the collection are relationally joined onto the query statement.

As this is a Collection Expression it works equally for Sets and Lists, and we use CollectionStore as the backing store interface, so that ListStore and SetStore are equally applicable.


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
isParameter, LOCALISER, lowestOperator, mapping, st, stmt, subExprs, table
 
Constructor Summary
CollectionExpression(SQLStatement stmt, SQLTable table, org.datanucleus.store.mapped.mapping.JavaTypeMapping mapping)
          Constructor for an SQL expression for a (field) mapping in a specified table.
 
Method Summary
 BooleanExpression eq(SQLExpression expr)
          Method to return the expression for comparing a collection with a value.
 SQLExpression invoke(java.lang.String methodName, java.util.List args)
          Invocation of a method on this expression.
 BooleanExpression ne(SQLExpression expr)
          Method to return the expression for comparing a collection with a value.
 
Methods inherited from class org.datanucleus.store.rdbms.sql.expression.SQLExpression
add, and, cast, checkForAndCorrectParameterComparison, com, div, encloseInParentheses, eor, ge, getJavaTypeMapping, getNumberOfSubExpressions, getSQLStatement, getSQLTable, gt, in, ior, is, isParameter, le, lt, mod, mul, neg, not, sub, toSQLText
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CollectionExpression

public CollectionExpression(SQLStatement stmt,
                            SQLTable table,
                            org.datanucleus.store.mapped.mapping.JavaTypeMapping mapping)
Constructor for an SQL expression for a (field) mapping in a specified table.

Parameters:
stmt - The statement
table - The table in the statement
mapping - The mapping for the field
Method Detail

invoke

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

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

eq

public BooleanExpression eq(SQLExpression expr)
Method to return the expression for comparing a collection with a value. Only supports comparisons with null currently.

Overrides:
eq in class SQLExpression
Parameters:
expr - The value to compare with.
Returns:
The expression of equality

ne

public BooleanExpression ne(SQLExpression expr)
Method to return the expression for comparing a collection with a value. Only supports comparisons with null currently.

Overrides:
ne in class SQLExpression
Parameters:
expr - The value to compare with.
Returns:
The expression of inequality


Copyright © 2009. All Rights Reserved.