Class Criterion

  • All Implemented Interfaces:
    Serializable

    public class Criterion
    extends Object
    implements Serializable
    Describes one or more where clause parts in the Criteria. Either the parts list is not null and represents this criterion or the column, value, comparison and ignoreStringCase columns are not null and represent this criterion.
    See Also:
    Serialized Form
    • Constructor Detail

      • Criterion

        public Criterion​(Object lValue,
                         Object rValue,
                         SqlEnum comparison,
                         String sql,
                         Object[] preparedStatementReplacements)
        Create a new instance. Either this Criterion represents a comparison without verbatim SQL; in this case the parameters lValue and comparison must be not null, rValue may be not null and sql and preparedStatementReplacements must be null; or it represents a verbatim sql condition, in which case the parameter comparison must be null and the sql must be not null (preparedStatementReplacements may be set to contain sql placeholder replacement values, and lValue and rValue can be set to add columns to the automatically computed from clause of the query).
        Parameters:
        lValue - the left hand side value of the comparison. If this value should be a value from the database, the object must implement the org.apache.torque.Column interface.
        rValue - the right hand side value of the comparison. If this value should be a value from the database, the object must implement the org.apache.torque.Column interface.
        comparison - The comparison operator. Either this parameter or sql must be not null.
        sql - a verbatim sql condition. Either this parameter or comparison must be not null.
        preparedStatementReplacements - Values for the placeholders in the verbatim sql condition.
        Throws:
        NullPointerException - if column is null.
      • Criterion

        public Criterion​(Object lValue,
                         Object rValue)
        Create a new instance without verbatim sql, using equals as comparison operator.
        Parameters:
        lValue - the left hand side value of the comparison, not null. If this value should be a value from the database, the object must implement the org.apache.torque.Column interface.
        rValue - the right hand side value of the comparison. If this value should be a value from the database, the object must implement the org.apache.torque.Column interface.
      • Criterion

        public Criterion​(Object lValue,
                         Object rValue,
                         SqlEnum comparison)
        Create a new instance without verbatim sql.
        Parameters:
        lValue - the left hand side value of the comparison, not null. If this value should be a value from the database, the object must implement the org.apache.torque.Column interface.
        rValue - the right hand side value of the comparison. If this value should be a value from the database, the object must implement the org.apache.torque.Column interface.
        comparison - The comparison operator, not null.
      • Criterion

        public Criterion​(Criterion toCopy)
        Creates a shallow copy of the given Criterion.
        Parameters:
        toCopy - the Criterion to copy from, not null.
    • Method Detail

      • getLValue

        public Object getLValue()
        Get the left hand side value of the comparison.
        Returns:
        the left hand side value of the comparison. If this value is a value computed by the database, the object implements the org.apache.torque.Column interface.
      • setLValue

        public void setLValue​(Object lValue)
        Set the left hand side value of the comparison.
        Parameters:
        lValue - the left hand side value of the comparison. If this value is a value computed by the database, the object must implement the org.apache.torque.Column interface.
      • getComparison

        public SqlEnum getComparison()
        Get the comparison.
        Returns:
        A String with the comparison, or null if this Criterion represents a verbatim sql condition.
      • getRValue

        public Object getRValue()
        Get the right hand side value of the comparison.
        Returns:
        the right hand side value of the comparison. If this value is a value computed by the database, the object implements the org.apache.torque.Column interface.
      • setRValue

        public void setRValue​(Object rValue)
        Set the right hand side value of the comparison.
        Parameters:
        rValue - the right hand side value of the comparison. If this value is a value computed by the database, the object must implement the org.apache.torque.Column interface.
      • getSql

        public String getSql()
        Returns the verbatim sql for this condition.
        Returns:
        the verbatim sql for this condition, or null if this Criterion does not represent a verbatim sql condition.
      • getPreparedStatementReplacements

        public Object[] getPreparedStatementReplacements()
        Returns the prepared statement replacements for a verbatim sql condition.
        Returns:
        the replacement values, or null.
      • isVerbatimSqlCondition

        public boolean isVerbatimSqlCondition()
        Returns whether this Criterion represents a verbatim sql condition.
        Returns:
        true if this Criterion represents a verbatim sql condition, false if the sql is computed from lValue, comparison and rValue.
      • setIgnoreCase

        public Criterion setIgnoreCase​(boolean b)
        Sets ignore case. ignoreCase is ignored for a verbatim sql statement.
        Parameters:
        b - True if case should be ignored.
        Returns:
        A modified Criterion object.
      • isIgnoreCase

        public boolean isIgnoreCase()
        Is ignore case on or off?
        Returns:
        True if case is ignored.
      • getParts

        public List<Criterion> getParts()
        Returns the parts of which this criterion consists.
        Returns:
        an unmodifiable list of the clauses, or null if this criterion is not a composite criterion.
      • getConjunction

        public String getConjunction()
        Returns the conjunction for the parts of this criterion
        Returns:
        the conjunction, or null if this criterion is not a composite criterion.
      • isComposite

        public boolean isComposite()
        Returns whether this criterion is a composite criterion.
        Returns:
        true if this criterion is a composite criterion, false if it represents a single condition.
      • and

        public Criterion and​(Criterion criterion)
        Replaces this criterion's condition with (this criterion's condition AND criterion).
        Parameters:
        criterion - the criterion to and with this criterion, not null.
        Returns:
        the modified Criteria object.
      • or

        public Criterion or​(Criterion criterion)
        Replaces this criterion's condition with (this criterion's condition OR criterion).
        Parameters:
        criterion - the criterion to and with this criterion, not null.
        Returns:
        the modified Criteria object.
      • appendTo

        public void appendTo​(StringBuilder sb)
        Appends a debug String representation of the Criterion onto the String builder.
        Parameters:
        sb - the string representation
      • toString

        public String toString()
        Build a string representation of the Criterion for debug purposes.
        Overrides:
        toString in class Object
        Returns:
        A String with the representation of the Criterion.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object