Klasse Criteria

java.lang.Object
org.apache.torque.criteria.Criteria
Alle implementierten Schnittstellen:
Serializable, Cloneable

public class Criteria extends Object implements Serializable, Cloneable
Encapsulates conditions to access rows in database tables.
Version:
$Id: Criteria.java 1912421 2023-09-20 07:49:04Z gk $
Autor:
Frank Y. Kim, John D. McNally, Brett McLaughlin, Eric Dobbs, Henning P. Schmiedehausen, Sam Joseph, Martin Poeschl, Thomas Fischer, Scott Eade, Thomas Vandahl
Siehe auch:
  • Felddetails

    • EQUAL

      public static final SqlEnum EQUAL
      Comparison type.
    • NOT_EQUAL

      public static final SqlEnum NOT_EQUAL
      Comparison type.
    • ALT_NOT_EQUAL

      public static final SqlEnum ALT_NOT_EQUAL
      Comparison type.
    • GREATER_THAN

      public static final SqlEnum GREATER_THAN
      Comparison type.
    • LESS_THAN

      public static final SqlEnum LESS_THAN
      Comparison type.
    • GREATER_EQUAL

      public static final SqlEnum GREATER_EQUAL
      Comparison type.
    • LESS_EQUAL

      public static final SqlEnum LESS_EQUAL
      Comparison type.
    • LIKE

      public static final SqlEnum LIKE
      Comparison type.
    • NOT_LIKE

      public static final SqlEnum NOT_LIKE
      Comparison type.
    • ILIKE

      public static final SqlEnum ILIKE
      Comparison type.
    • NOT_ILIKE

      public static final SqlEnum NOT_ILIKE
      Comparison type.
    • DISTINCT

      public static final SqlEnum DISTINCT
      Comparison type.
    • IN

      public static final SqlEnum IN
      Comparison type.
    • NOT_IN

      public static final SqlEnum NOT_IN
      Comparison type.
    • ALL

      public static final SqlEnum ALL
      Comparison type.
    • JOIN

      public static final SqlEnum JOIN
      Comparison type.
    • ISNULL

      public static final SqlEnum ISNULL
      "IS NULL" null comparison
    • ISNOTNULL

      public static final SqlEnum ISNOTNULL
      "IS NOT NULL" null comparison
    • CURRENT_DATE

      public static final SqlEnum CURRENT_DATE
      "CURRENT_DATE" ANSI SQL function
    • CURRENT_TIME

      public static final SqlEnum CURRENT_TIME
      "CURRENT_TIME" ANSI SQL function
    • CURRENT_TIMESTAMP

      public static final SqlEnum CURRENT_TIMESTAMP
      "CURRENT_TIMESTAMP" ANSI SQL function
    • LEFT_JOIN

      public static final JoinType LEFT_JOIN
      "LEFT JOIN" SQL statement
    • RIGHT_JOIN

      public static final JoinType RIGHT_JOIN
      "RIGHT JOIN" SQL statement
    • INNER_JOIN

      public static final JoinType INNER_JOIN
      "INNER JOIN" SQL statement
  • Konstruktordetails

    • Criteria

      public Criteria()
      Constructor.
    • Criteria

      public Criteria(String dbName)
      Constructor with the database name as parameter..
      Parameter:
      dbName - The database name.
    • Criteria

      public Criteria(Criteria toCopy)
      Copy-constructor. The copy is deep insofar as all contained lists are copied, however the elements contained in the list are not copied.
      Parameter:
      toCopy - the criteria to copy.
  • Methodendetails

    • clear

      protected void clear()
      Resets this Criteria to its original state.
    • addAsColumn

      public Criteria addAsColumn(String name, Column clause)
      Add an AS clause to the select columns. Usage:

      Criteria myCrit = new Criteria(); myCrit.addAsColumn( "alias", "ALIAS("+MyPeer.ID+")"); If the name already exists, it is replaced by the new clause.

      Parameter:
      name - wanted Name of the column
      clause - SQL clause to select from the table
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • getAsColumns

      public Map<String,Column> getAsColumns()
      Get the column aliases.
      Gibt zurück:
      A Map which map the column alias names to the alias clauses.
    • getAliases

      public Map<String,Object> getAliases()
      Get the table aliases.
      Gibt zurück:
      A Map which maps the table alias names to either the actual table names (String) or to a subselect (Criteria).
    • addAlias

      public Criteria addAlias(String alias, String table)
      Allows one to specify an alias for a table.
      Parameter:
      alias - the alias for the table name.
      table - the table name as known in the database.
      Gibt zurück:
      the Criteria object
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • addAlias

      public Criteria addAlias(String alias, Criteria subselect)
      Allows one to specify an alias for a subselect.
      Parameter:
      alias - the alias for the subselect.
      subselect - the Criteria for the subselect.
      Gibt zurück:
      the Criteria object
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • getTableForAlias

      public String getTableForAlias(String alias)
      Returns the database table name associated with an alias.
      Parameter:
      alias - a String value.
      Gibt zurück:
      a String value, or null if the alias is not defined.
      Löst aus:
      IllegalArgumentException - if the alias with the name alias is defined but is no alias for a table name (e.g. it is an alias for a subselect).
    • getSubselectForAlias

      public Criteria getSubselectForAlias(String alias)
      Returns the subselect associated with an alias.
      Parameter:
      alias - a String value.
      Gibt zurück:
      a String value, or null if the alias is not defined.
      Löst aus:
      IllegalArgumentException - if the alias with the name alias is defined but is not an alias for a subselect (e.g. it is an alias for a table).
    • getTopLevelCriterion

      public Criterion getTopLevelCriterion()
      Returns the top level Criterion.
      Gibt zurück:
      the top level Criterion, or null if no Criterion is contained.
    • getDbName

      public String getDbName()
      Get the Database name to be used for this criterion.
      Gibt zurück:
      The database name, may be null.
    • setDbName

      public Criteria setDbName(String dbName)
      Set the Database name. The value null denotes the database name provided by Torque.getDefaultDB() (but this is not resolved here).
      Parameter:
      dbName - The Database(Map) name.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • addHaving

      public Criteria addHaving(Criterion having)
      This method adds a prepared Criterion object to the Criteria as a having clause. Usage:

      Criteria crit = new Criteria(); Criterion c =new Criterion(MyPeer.ID, 5, Criteria.LESS_THAN); crit.addHaving(c);

      Parameter:
      having - A Criterion object
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • getHaving

      public Criterion getHaving()
      Get Having Criterion.
      Gibt zurück:
      A Criterion that is the having clause.
    • forUpdate

      public Criteria forUpdate()
      Sets that FOR UPDATE clause should be added to the query.
      Gibt zurück:
      this object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • setForUpdate

      public Criteria setForUpdate(boolean forUpdate)
      Sets whether FOR UPDATE clause should be added to the query.
      Parameter:
      forUpdate - true if a FOR UPDATE clause should be added, false if not.
      Gibt zurück:
      this object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • isForUpdate

      public boolean isForUpdate()
      Returns whether a FOR UPDATE clause is added.
      Gibt zurück:
      true if a FOR UPDATE clause is added, false otherwise.
    • addJoin

      public Criteria addJoin(Column left, Column right)
      Adds a join to the criteria, E.g. to create the condition

      AND PROJECT.PROJECT_ID=FOO.PROJECT_ID

      use

      criteria.addJoin(ProjectPeer.PROJECT_ID, FooPeer.PROJECT_ID)

      Parameter:
      left - A String with the left side of the join.
      right - A String with the right side of the join.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • addJoin

      public Criteria addJoin(Column left, Column right, JoinType joinType)
      Adds a join to the criteria, E.g. to create the condition

      PROJECT LEFT JOIN FOO ON PROJECT.PROJECT_ID=FOO.PROJECT_ID

      use

      criteria.addJoin(ProjectPeer.PROJECT_ID, FooPeer.PROJECT_ID, Criteria.LEFT_JOIN);

      Parameter:
      left - A String with the left side of the join.
      right - A String with the right side of the join.
      joinType - The operator used for the join: must be one of null, Criteria.LEFT_JOIN, Criteria.RIGHT_JOIN, Criteria.INNER_JOIN
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • addJoin

      public Criteria addJoin(Column left, Column right, SqlEnum comparison, JoinType joinType)
      Adds a join to the criteria, E.g. to create the condition

      PROJECT LEFT JOIN FOO ON PROJECT.PROJECT_ID <> FOO.PROJECT_ID

      use

      criteria.addJoin( ProjectPeer.PROJECT_ID, Criteria.NOT_EQUAL, FooPeer.PROJECT_ID, Criteria.LEFT_JOIN);

      Parameter:
      left - A String with the left side of the join condition.
      right - A String with the right side of the join condition.
      comparison - the comparison operator, not null. The operator CUSTOM is not supported.
      joinType - The operator used for the join. Must be one of null, Criteria.LEFT_JOIN, Criteria.RIGHT_JOIN, Criteria.INNER_JOIN
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • addJoin

      public Criteria addJoin(String leftTable, String rightTable, Criterion joinCondition, JoinType joinType)
      Adds a join to the criteria. For creating standard joins, please use addJoin(Column, Column, (SqlEnum, ) JoinType)

      PROJECT LEFT JOIN FOO ON (PROJECT.PROJECT_ID=FOO.PROJECT_ID OR PROJECT.PROJECT_ID==FOO.PROJECT2_ID)

      use

      criteria.addJoin( ProjectPeer.TABLE_NAME, FooPeer.TABLE_NAME, new Criterion(ProjectPeer.PROJECT_ID, FooPeer.PROJECT_ID) .or(Criterion(ProjectPeer.PROJECT_ID, FooPeer.PROJECT"_ID)) Criteria.LEFT_JOIN); If a default schema name is set for the used database and leftTable or rightTable are a simple unqualified table names, the default schema name is prepended to the table name. For more complicated "table names", no schema resolution is done.

      Parameter:
      leftTable - the left table of the join, or null to determine the left table from the join condition.
      rightTable - the left table of the join, or null to determine the left table from the join condition.
      joinCondition - the join condition, not null.
      joinType - The operator used for the join. Must be one of null, Criteria.LEFT_JOIN, Criteria.RIGHT_JOIN, Criteria.INNER_JOIN
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • addJoin

      public Criteria addJoin(PreparedStatementPart leftTable, PreparedStatementPart rightTable, Criterion joinCondition, JoinType joinType)
      Adds a join to the criteria, E.g. to create the condition

      PROJECT LEFT JOIN FOO ON PROJECT.PROJECT_ID=FOO.PROJECT_ID

      use

      criteria.addJoin( new PreparedStatementPart(ProjectPeer.TABLE_NAME), new PreparedStatementPart(FooPeer.TABLE_NAME), new Criterion(ProjectPeer.PROJECT_ID, FooPeer.PROJECT_ID, Criteria.NOT_EQUAL) Criteria.LEFT_JOIN); . If a default schema name is set for the used database and leftTable or rightTable are a simple unqualified table names, the default schema name is prepended to the table name. For more complicated "table names", no schema resolution is done.

      Parameter:
      leftTable - the left table of the join, might contain an alias name, or null to be determined from the join clause.
      rightTable - the right table of the join, might contain an alias name, or null to be determined from the join clause.
      joinCondition - the join condition, not null.
      joinType - The operator used for the join. Must be one of null, Criteria.LEFT_JOIN, Criteria.RIGHT_JOIN, Criteria.INNER_JOIN
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • getJoins

      public List<Join> getJoins()
      Get the List of Joins.
      Gibt zurück:
      a List which contains objects of type Join, not null.
    • setAll

      public Criteria setAll()
      Adds "ALL " to the SQL statement.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • setDistinct

      public Criteria setDistinct()
      Adds "DISTINCT " to the SQL statement.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • setIgnoreCase

      public Criteria setIgnoreCase(boolean ignoreCase)
      Sets whether case should be ignored in where clauses and order by whenever String columns are encountered.
      Parameter:
      ignoreCase - True if case should be ignored.
      Gibt zurück:
      A modified Criteria object.
    • isIgnoreCase

      public boolean isIgnoreCase()
      Returns whether case should be ignored in where clauses and order by whenever String columns are encountered.
      Gibt zurück:
      True if case is ignored.
    • setSingleRecord

      public Criteria setSingleRecord(boolean b)
      Switch the check on or off that a query returns exactly one record. Set this to true if you want a TorqueException to be thrown if none or multiple records are returned when the query is executed. This should be used in situations where returning multiple rows would indicate an error of some sort. If your query might return multiple records but you are only interested in the first one then you should be using setLimit(1).
      Parameter:
      b - set to true if you expect the query to select exactly one record.
      Gibt zurück:
      A modified Criteria object.
    • isSingleRecord

      public boolean isSingleRecord()
      Returns whether the check that a query returns exactly one record is active.
      Gibt zurück:
      True if the check for exactly one record is active.
    • setLimit

      public Criteria setLimit(int limit)
      Set a limit for the query
      Parameter:
      limit - The upper limit for the number of records returned by a query.
      Gibt zurück:
      A modified Criteria object.
    • getLimit

      public int getLimit()
      Get the upper limit for the number of records returned by a query.
      Gibt zurück:
      The value for limit.
    • setOffset

      public Criteria setOffset(long offset)
      Set the offset.
      Parameter:
      offset - how many records should be skipped at the start of the result.
      Gibt zurück:
      A modified Criteria object.
    • getOffset

      public long getOffset()
      Get how many records should be skipped at the start of the result.
      Gibt zurück:
      The value for offset.
    • getFetchSize

      public Integer getFetchSize()
      Returns the JDBC statement fetch size to use for queries.
      Gibt zurück:
      the fetch size, or null if none is set.
    • setFetchSize

      public Criteria setFetchSize(Integer fetchSize)
      Sets the JDBC statement fetch size to use for queries.
      Parameter:
      fetchSize - the fetch size, or null for not set.
      Gibt zurück:
      A modified Criteria object.
    • addSelectColumn

      public Criteria addSelectColumn(Column column)
      Adds a select column to the Criteria.
      Parameter:
      column - The select column to add.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • getSelectColumns

      public UniqueColumnList getSelectColumns()
      Return all select columns.
      Gibt zurück:
      An List with the names of the select columns, not null
    • getSelectModifiers

      public UniqueList<String> getSelectModifiers()
      Return all select modifiers.
      Gibt zurück:
      An UniqueList with the select modifiers.
    • addGroupByColumn

      public Criteria addGroupByColumn(Column groupBy)
      Add a group by clause.
      Parameter:
      groupBy - The column to group by.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • getGroupByColumns

      public UniqueColumnList getGroupByColumns()
      Get all group by columns.
      Gibt zurück:
      An UniqueList with the name of the groupBy clause, not null.
    • addAscendingOrderByColumn

      public Criteria addAscendingOrderByColumn(Column column)
      Adds an order by clause, explicitly specifying ascending.
      Parameter:
      column - The column to order by.
      Gibt zurück:
      A modified Criteria object.
    • addAscendingOrderByColumn

      public Criteria addAscendingOrderByColumn(Column column, boolean ignoreCase)
      Add an order by clause, explicitly specifying ascending.
      Parameter:
      column - The column to order by.
      ignoreCase - whether to ignore case on String columns.
      Gibt zurück:
      A modified Criteria object.
    • addDescendingOrderByColumn

      public Criteria addDescendingOrderByColumn(Column column)
      Add order by column name, explicitly specifying descending.
      Parameter:
      column - The column to order by.
      Gibt zurück:
      A modified Criteria object.
    • addDescendingOrderByColumn

      public Criteria addDescendingOrderByColumn(Column column, boolean ignoreCase)
      Add order by column name, explicitly specifying descending.
      Parameter:
      column - The column to order by.
      ignoreCase - whether to ignore case on String columns.
      Gibt zurück:
      A modified Criteria object.
    • getOrderByColumns

      public UniqueList<OrderBy> getOrderByColumns()
      Get all order by columns.
      Gibt zurück:
      An UniqueList with the name of the order columns, not null.
    • getFromElements

      public UniqueList<FromElement> getFromElements()
      Get all elements in the from clause of the query.
      Gibt zurück:
      An UniqueList with all from elements, not null. Empty if the from elements should be computed automatically.
    • addFrom

      public Criteria addFrom(String tableName)
      Adds a table to the from clause, not using a joinType or joinCondition.
      Parameter:
      tableName - the table name
      Gibt zurück:
      the modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • addFrom

      public Criteria addFrom(FromElement fromElement)
      Adds a new Element to the from clause.
      Parameter:
      fromElement - the element to add from
      Gibt zurück:
      the modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • toString

      public String toString()
      Build a string representation of the Criteria for debugging purposes.
      Setzt außer Kraft:
      toString in Klasse Object
      Gibt zurück:
      A String with the representation of the Criteria.
    • equals

      public boolean equals(Object object)
      Checks whether an object is equal to this Criteria. This is the case if the other object is also a Criteria and has the same attributes and criterions.
      Setzt außer Kraft:
      equals in Klasse Object
      Parameter:
      object - the other object to check, can be null.
      Gibt zurück:
      true if the object is equal to this Criteria, false otherwise.
    • hashCode

      public int hashCode()
      Returns the hash code value for this Criteria.
      Setzt außer Kraft:
      hashCode in Klasse Object
      Gibt zurück:
      a hash code value for this object.
    • clone

      public Object clone()
      Returns a shallow copy of this object.
      Setzt außer Kraft:
      clone in Klasse Object
      Gibt zurück:
      the cloned criteria.
    • and

      public Criteria and(Criterion criterion)
      "AND"s Criterion object with the conditions in this Criteria. This is used as follows:

      Criteria crit = new Criteria(); Criterion c = new Criterion(XXXPeer.ID, Integer.valueOf(5), Criteria.LESS_THAN); crit.and(c);

      Parameter:
      criterion - A Criterion object.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • and

      public Criteria and(Object lValue, Object rValue)
      "AND"s a new condition with the conditions in this Criteria. Depending on rValue, the condition is constructed differently: Either rValue is a unary comparison operator (i.e. is a SqlEnum and getNumberOfCompareOperands() == 1) (e.g. Criteria.ISNULL), then lValue is taken as single operand of the operator ant the passed operator is used for comparison. Otherwise, an EQUAL comparison is used for comparing rValue and lValue.
      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.g. string object), it is interpreted as literal value.
      rValue - The right hand side of the comparison, may be null. If this object is a unary comparison operator, it is taken as comparison operator of the condition to add. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.g. string object), it is interpreted as literal value.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • and

      public Criteria and(Object lValue, Object rValue, SqlEnum comparison)
      "AND"s a new condition with the conditions in this Criteria.
      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      rValue - The right hand side of the comparison, may be null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      comparison - the comparison, or Criteria.CUSTOM to specify the expression manually in the rValue parameter.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • andDate

      public Criteria andDate(Object lValue, int year, int month, int day)
      Convenience method to AND a new date comparison with the conditions in this Criteria. Equal to

      and(column, new GregorianCalendar(year, month,date), EQUAL);

      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      year - The year to compare to.
      month - The month to compare to.
      day - The day to compare to.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • andDate

      public Criteria andDate(Object lValue, int year, int month, int day, SqlEnum comparison)
      Convenience method to AND a new date comparison with the conditions in this Criteria. Equal to

      and(column, new GregorianCalendar(year, month,date), comparison);

      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      year - The year to compare to.
      month - The month to compare to.
      day - The day to compare to.
      comparison - The comparison operator.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • andIn

      public Criteria andIn(Object lValue, Object[] rValues)
      Convenience method to AND a "in" comparison with the conditions in this Criteria. Creates the condition

      FOO.NAME IN (${values})

      where ${values} contains the values to compare against.

      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      rValues - The values to compare against.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • andIn

      public Criteria andIn(Object lValue, Collection<?> rValues)
      Convenience method to AND a "in" comparison with the conditions in this Criteria. Creates the condition

      FOO.NAME IN (${values})

      where ${values} contains the values to compare against.

      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      rValues - The values to compare against.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • andNotIn

      public Criteria andNotIn(Object lValue, Object[] rValues)
      Convenience method to AND a "not in" comparison with the conditions in this Criteria. Creates the condition

      FOO.NAME NOT IN (${values})

      where ${values} contains the values to compare against.

      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      rValues - The values to compare against.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • andNotIn

      public Criteria andNotIn(Object lValue, Collection<?> rValues)
      Convenience method to AND a "not in" comparison with the conditions in this Criteria. Creates the condition

      FOO.NAME NOT IN (${values})

      where ${values} contains the values to compare against.

      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      rValues - The values to compare against.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • andVerbatimSql

      public Criteria andVerbatimSql(String sql, Object[] replacements)
      Ands a verbatim sql condition to this Criteria. This is used as follows:

      Criteria criteria = ...; criteria.andVerbatimSql("count(foo.x) = ?", new Object[] {0});

      Parameter:
      sql - the verbatim SQL to use.
      replacements - the replacements for the "?" placeholders in SQL.
      Gibt zurück:
      the modified Criteria.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • andVerbatimSql

      public Criteria andVerbatimSql(String sql, Object[] replacements, Column toAddToFromClause1, Column toAddToFromClause2)
      ANDs a verbatim sql condition to this Criteria. This is used as follows:

      Criteria criteria = new Criteria(); criteria.andVerbatimSql( "count(foo.x) = ?", new Object[] {0}, FooPeer.X, null);

      Parameter:
      sql - the verbatim SQL to use.
      replacements - the replacements for the "?" placeholders in SQL.
      toAddToFromClause1 - a column to add to from clause, may be null.
      toAddToFromClause2 - a column to add to from clause, may be null.
      Gibt zurück:
      the modified Criteria.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • or

      public Criteria or(Criterion criterion)
      "OR"s a Criterion object with the conditions in this Criteria. This is used as follows:

      Criteria crit = new Criteria(); Criterion c = new Criterion(XXXPeer.ID, Integer.valueOf(5), Criteria.LESS_THAN); crit.or(c);

      Parameter:
      criterion - A Criterion object.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • or

      public Criteria or(Object lValue, Object rValue)
      "OR"s a new condition with the conditions in this Criteria. Depending on rValue, the condition is constructed differently: Either rValue is a unary comparison operator (i.e. is a SqlEnum and getNumberOfCompareOperands() == 1) (e.g. Criteria.ISNULL), then lValue is taken as single operand of the operator ant the passed operator is used for comparison. Otherwise, an EQUAL comparison is used for comparing rValue and lValue.
      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.g. string object), it is interpreted as literal value.
      rValue - The right hand side of the comparison, may be null. If this object is a unary comparison operator, it is taken as comparison operator of the condition to add. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.g. string object), it is interpreted as literal value.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • or

      public Criteria or(Object lValue, Object rValue, SqlEnum comparison)
      "OR"s a new condition with the conditions in this Criteria.
      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      rValue - The right hand side of the comparison, may be null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      comparison - the comparison, or Criteria.CUSTOM to specify the expression manually in the value parameter.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • orDate

      public Criteria orDate(Object lValue, int year, int month, int day)
      Convenience method to OR a new date comparison with the conditions in this Criteria. Equal to

      or(column, new GregorianCalendar(year, month,date), EQUAL);

      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      year - The year to compare to.
      month - The month to compare to.
      day - The day to compare to.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • orDate

      public Criteria orDate(Object lValue, int year, int month, int day, SqlEnum comparison)
      Convenience method to OR a new date comparison with the conditions in this Criteria. Equal to

      or(column, new GregorianCalendar(year, month,date), comparison);

      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      year - The year to compare to.
      month - The month to compare to.
      day - The day to compare to.
      comparison - The comparison operator.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • orIn

      public Criteria orIn(Object lValue, Object[] rValues)
      Convenience method to OR a "in" comparison with the conditions in this Criteria. Creates the condition

      FOO.NAME IN (${values})

      where ${values} contains the values to compare against.

      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      rValues - The values to compare against.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • orIn

      public Criteria orIn(Object lValue, Collection<?> rValues)
      Convenience method to OR a "in" comparison with the conditions in this Criteria. Creates the condition

      FOO.NAME IN (${values})

      where ${values} contains the values to compare against.

      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      rValues - The values to compare against.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • orNotIn

      public Criteria orNotIn(Object lValue, Object[] rValues)
      Convenience method to OR a "not in" comparison with the conditions in this Criteria. Creates the condition

      FOO.NAME NOT IN (${values})

      where ${values} contains the values to compare against.

      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      rValues - The values to compare against.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • orNotIn

      public Criteria orNotIn(Object lValue, Collection<?> rValues)
      Convenience method to OR a "not in" comparison with the conditions in this Criteria. Creates the condition

      FOO.NAME NOT IN (${values})

      where ${values} contains the values to compare against.

      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      rValues - The values to compare against.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • orVerbatimSql

      public Criteria orVerbatimSql(String sql, Object[] replacements)
      ORs a verbatim sql condition to this Criteria. This is used as follows:

      Criteria criteria = ...; criteria.orVerbatimSql("count(foo.x) = ?", new Object[] {0});

      Parameter:
      sql - the verbatim SQL to use.
      replacements - the replacements for the "?" placeholders in SQL.
      Gibt zurück:
      the modified Criteria.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • orVerbatimSql

      public Criteria orVerbatimSql(String sql, Object[] replacements, Column toAddToFromClause1, Column toAddToFromClause2)
      ORs a verbatim sql condition to this Criteria. This is used as follows:

      Criteria criteria = new Criteria(); criteria.orVerbatimSql( "count(foo.x) = ?", new Object[] {0}, FooPeer.X, null);

      Parameter:
      sql - the verbatim SQL to use.
      replacements - the replacements for the "?" placeholders in SQL.
      toAddToFromClause1 - a column to add to from clause, may be null.
      toAddToFromClause2 - a column to add to from clause, may be null.
      Gibt zurück:
      the modified Criteria.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • where

      public Criteria where(Criterion criterion)
      "AND"s Criterion object with the conditions in this Criteria. Equivalent to #and(Criterion) but better to read if this is the first condition to be added to the Criteria.
      Parameter:
      criterion - A Criterion object.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • where

      public Criteria where(Object lValue, Object rValue)
      "AND"s a new condition with the conditions in this Criteria. Equivalent to #and(Object, Object) but better to read if this is the first condition to be added to the Criteria. Depending on rValue, the condition is constructed differently: Either rValue is a unary comparison operator (i.e. is a SqlEnum and getNumberOfCompareOperands() == 1) (e.g. Criteria.ISNULL), then lValue is taken as single operand of the operator ant the passed operator is used for comparison. Otherwise, an EQUAL comparison is used for comparing rValue and lValue.
      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this value should be a value from the database, the object must implement the org.apache.torque.Column interface. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.g. string object), it is interpreted as literal value.
      rValue - The right hand side of the comparison, may be null. If this object is a unary comparison operator, it is taken as comparison operator of the condition to add. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this value should be a value from the database, the object must implement the org.apache.torque.Column interface. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.g. string object), it is interpreted as literal value.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • where

      public Criteria where(Object lValue, Object rValue, SqlEnum comparison)
      "AND"s a new condition with the conditions in this Criteria. Equivalent to #and(Column, Object, SqlEnum) but better to read if this is the first condition to be added to the Criteria.
      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this value should be a value from the database, the object must implement the org.apache.torque.Column interface. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      rValue - The right hand side of the comparison, may be null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this value should be a value from the database, the object must implement the org.apache.torque.Column interface. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      comparison - the comparison, or Criteria.CUSTOM to specify the expression manually in the value parameter.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • whereDate

      public Criteria whereDate(Object lValue, int year, int month, int day)
      Convenience method to AND a new date comparison with the conditions in this Criteria. Equivalent to #andDate(Column, int, int, int) but better to read if this is the first condition to be added to the Criteria.
      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this value should be a value from the database, the object must implement the org.apache.torque.Column interface. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      year - The year to compare to.
      month - The month to compare to.
      day - The day to compare to.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • whereDate

      public Criteria whereDate(Object lValue, int year, int month, int day, SqlEnum comparison)
      Convenience method to AND a new date comparison with the conditions in this Criteria. Equivalent to #andDate(Column, int, int, int, SqlEnum) but better to read if this is the first condition to be added to the Criteria.
      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this value should be a value from the database, the object must implement the org.apache.torque.Column interface. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      year - The year to compare to.
      month - The month to compare to.
      day - The day to compare to.
      comparison - The comparison operator.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • whereIn

      public Criteria whereIn(Object lValue, Object[] rValues)
      Convenience method to AND a "in" comparison with the conditions in this Criteria. Equivalent to #andIn(Column, Object[]) but better to read if this is the first condition to be added to the Criteria.
      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this value should be a value from the database, the object must implement the org.apache.torque.Column interface. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      rValues - The values to compare against.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • whereIn

      public Criteria whereIn(Object lValue, Collection<?> rValues)
      Convenience method to AND a "in" comparison with the conditions in this Criteria. Equivalent to #andIn(Column, Collection) but better to read if this is the first condition to be added to the Criteria.
      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      rValues - The values to compare against.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • whereNotIn

      public Criteria whereNotIn(Object lValue, Object[] rValues)
      Convenience method to AND a "not in" comparison with the conditions in this Criteria. Equivalent to #andNotIn(Column, Object[]) but better to read if this is the first condition to be added to the Criteria.
      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this value should be a value from the database, the object must implement the org.apache.torque.Column interface. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      rValues - The values to compare against.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • whereNotIn

      public Criteria whereNotIn(Object lValue, Collection<?> rValues)
      Convenience method to AND a "not in" comparison with the conditions in this Criteria. Equivalent to #andNotIn(Column, Collection) but better to read if this is the first condition to be added to the Criteria.
      Parameter:
      lValue - The left hand side of the comparison, not null. If this object implements the Column interface, it is interpreted as a (pseudo)column. If this value should be a value from the database, the object must implement the org.apache.torque.Column interface. If this object is a Criteria, it is interpreted as a subselect. In all other cases, (e.G. string object), it is interpreted as literal value.
      rValues - The values to compare against.
      Gibt zurück:
      A modified Criteria object.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • whereVerbatimSql

      public Criteria whereVerbatimSql(String sql, Object[] replacements)
      Convenience method to AND a verbatim sql condition to this Criteria. Equivalent to #andNotIn(String, String[]) but better to read if this is the first condition to be added to the Criteria. This is used as follows:

      Criteria criteria = new Criteria(); criteria.whereVerbatimSql("count(foo.x) = ?", new Object[] {0});

      Parameter:
      sql - the verbatim SQL to use.
      replacements - the replacements for the "?" placeholders in SQL.
      Gibt zurück:
      the modified Criteria.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • whereVerbatimSql

      public Criteria whereVerbatimSql(String sql, Object[] replacements, Column toAddToFromClause1, Column toAddToFromClause2)
      Convenience method to AND a verbatim sql condition to this Criteria. Equivalent to #andNotIn(String, String[], Column, Column) but better to read if this is the first condition to be added to the Criteria. This is used as follows:

      Criteria criteria = new Criteria(); criteria.whereVerbatimSql( "count(foo.x) = ?", new Object[] {0}, FooPeer.X, null);

      Parameter:
      sql - the verbatim SQL to use.
      replacements - the replacements for the "?" placeholders in SQL.
      toAddToFromClause1 - a column to add to from clause, may be null.
      toAddToFromClause2 - a column to add to from clause, may be null.
      Gibt zurück:
      the modified Criteria.
      Löst aus:
      TorqueRuntimeException - if this operation is performed on a Criteria composed of set parts (e.g. union, intersect, except).
    • union

      public Criteria union(Criteria other)
      Creates a SQL UNION between this Criteria and the passed other criteria.
      Parameter:
      other - the other part of the union.
      Gibt zurück:
      the modified Criteria.
    • unionAll

      public Criteria unionAll(Criteria other)
      Creates a SQL UNION ALL between this Criteria and the passed other criteria.
      Parameter:
      other - the other part of the union.
      Gibt zurück:
      the modified Criteria.
    • intersect

      public Criteria intersect(Criteria other)
      Creates a SQL INTERSECT between this Criteria and the passed other criteria.
      Parameter:
      other - the other part of the union.
      Gibt zurück:
      the modified Criteria.
    • intersectAll

      public Criteria intersectAll(Criteria other)
      Creates a SQL INTERSECT ALL between this Criteria and the passed other criteria.
      Parameter:
      other - the other part of the union.
      Gibt zurück:
      the modified Criteria.
    • except

      public Criteria except(Criteria other)
      Creates a SQL EXCEPT between this Criteria and the passed other criteria.
      Parameter:
      other - the other part of the union.
      Gibt zurück:
      the modified Criteria.
    • exceptAll

      public Criteria exceptAll(Criteria other)
      Creates a SQL EXCEPT between this Criteria and the passed other criteria.
      Parameter:
      other - the other part of the union.
      Gibt zurück:
      the modified Criteria.
    • appendSetOperation

      protected void appendSetOperation(Criteria other, SqlEnum setOperator)
      Appends a set operation (union, except, intersect) to this Criteria. If not already done, this criteria is converted to a composite criteria.
      Parameter:
      other - the other criteria, not null.
      setOperator - the set operator, not null.
      Löst aus:
      NullPointerException - if other or setOperator are null.
    • getSetCriteriaParts

      public List<Criteria> getSetCriteriaParts()
      Return the parts of the criteria which compose a query using set operations (union, except, intersect).
      Gibt zurück:
      the parts, not null, empty if this query does not contain set operations
    • getSetOperator

      public SqlEnum getSetOperator()
      Returns the operator between the set operations.
      Gibt zurück:
      the operator, or null if this is not a composite criteria.
    • isComposite

      public boolean isComposite()
      Returns whether this Criteria is a composite criteria, i.e. is composed from more than one Criteria related by set operations (e.g. union, except, intersect)..
      Gibt zurück:
      true if the criteria consists of several parts connected by set operations, false otherwise.
    • assertNoComposite

      protected void assertNoComposite()
      Checks that this Criteria is no composite Criteria, and throws a TorqueRuntimeException otherwise.
      Löst aus:
      TorqueRuntimeException - if this Criteria is a composite Criteria.