Package wt.query

Class SearchCondition

java.lang.Object
wt.query.SearchCondition
All Implemented Interfaces:
Externalizable, Serializable, Cloneable, WhereExpression

public class SearchCondition extends Object implements WhereExpression, Externalizable
This class represents a search condition on a query. When appended to a QuerySpec, the values will be used in the SQL WHERE clause.

Supported API: true

Extendable: false
See Also:
  • Field Details

    • NO_OUTER_JOIN

      public static final int NO_OUTER_JOIN
      Indicates that no outer join column is specified.

      Supported API: true
      See Also:
    • LEFT_OUTER_JOIN

      public static final int LEFT_OUTER_JOIN
      Indicates that the left hand side column is an outer join.

      Supported API: true
      See Also:
    • RIGHT_OUTER_JOIN

      public static final int RIGHT_OUTER_JOIN
      Indicates that the right hand side column is an outer join.

      Supported API: true
      See Also:
    • EQUAL

      public static final String EQUAL
      Specifies the SearchCondition equality operator, '='.

      Supported API: true
      See Also:
    • NOT_EQUAL

      public static final String NOT_EQUAL
      Specifies the SearchCondition inequality operator, '<>'.

      Supported API: true
      See Also:
    • LIKE

      public static final String LIKE
      Specifies the SearchCondition pattern matching operator.

      Supported API: true
      See Also:
    • NOT_LIKE

      public static final String NOT_LIKE
      Specifies the SearchCondition negated pattern matching operator.

      Supported API: true
      See Also:
    • GREATER_THAN

      public static final String GREATER_THAN
      Specifies the SearchCondition comparison operator, '>'.

      Supported API: true
      See Also:
    • GREATER_THAN_OR_EQUAL

      public static final String GREATER_THAN_OR_EQUAL
      Specifies the SearchCondition comparison operator, '>='.

      Supported API: true
      See Also:
    • LESS_THAN

      public static final String LESS_THAN
      Specifies the SearchCondition comparison operator, '<'.

      Supported API: true
      See Also:
    • LESS_THAN_OR_EQUAL

      public static final String LESS_THAN_OR_EQUAL
      Specifies the SearchCondition comparison operator, '<='.

      Supported API: true
      See Also:
    • IS_TRUE

      public static final String IS_TRUE
      Specifies the SearchCondition boolean operator, 'true'.

      Supported API: true
      See Also:
    • IS_FALSE

      public static final String IS_FALSE
      Specifies the SearchCondition boolean operator, 'false'.

      Supported API: true
      See Also:
    • IS_NULL

      public static final String IS_NULL
      Specifies the SearchCondition operator to check for null value.

      Supported API: true
      See Also:
    • NOT_NULL

      public static final String NOT_NULL
      Specifies the SearchCondition operator to check for non-null value.

      Supported API: true
      See Also:
    • IN

      public static final String IN
      Specifies the SearchCondition list operator.

      Supported API: true
      See Also:
    • BETWEEN

      public static final String BETWEEN
      Specifies the SearchCondition between operator.

      Supported API: true
      See Also:
    • NOT_IN

      public static final String NOT_IN
      Specifies the SearchCondition negated list operator.

      Supported API: true
      See Also:
    • NOT_BETWEEN

      public static final String NOT_BETWEEN
      Specifies the SearchCondition negated between operator.

      Supported API: true
      See Also:
  • Constructor Details

    • SearchCondition

      public SearchCondition(RelationalExpression a_leftHandSide, String a_operator, RelationalExpression a_rightHandSide) throws QueryException
      Constructs a SearchCondition.

      Supported API: true
      Parameters:
      a_leftHandSide - Left hand side operand.
      a_operator - SQL operator
      a_rightHandSide - Right hand side operand.
      Throws:
      QueryException
    • SearchCondition

      public SearchCondition(RelationalExpression a_leftHandSide, String a_operator) throws QueryException
      Constructs a SearchCondition.

      Supported API: true
      Parameters:
      a_leftHandSide - Left hand side operand.
      a_operator - SQL operator
      Throws:
      QueryException
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, ObjectIdentifier value) throws QueryException
      Create a search condition for the query based on a value of an ObjectIdentifier type. The attribute should specify an ObjectIdentifer property of the target class. Only the ID portion of the ObjectIdentifer is used in the where clause. The ID attribute of the ObjectIdentifier should not be included in the attribute name.

      Supported API: true
      Parameters:
      attribute - The string attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The ObjectIdentifier instance for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not a string type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, String value) throws QueryException
      Specify a search condition for the query based on a value of a string attribute. The condition is of the form: string attribute, operator, value and the search is case sensitive.

      Supported API: true
      Parameters:
      attribute - The string attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The string value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not a string type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, String value, boolean caseSensitive) throws QueryException
      Specify a search condition for the query based on a value of a string attribute. The condition is of the form: string attribute, operator, value.

      Supported API: true
      Parameters:
      attribute - The string attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The string value for the search condition.
      caseSensitive - true | false specify whether to ignore case in comparison
      Throws:
      QueryException - Occurs if the given attribute is not a string type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, Character value) throws QueryException
      Specify a search condition for the query based on a value of a Character attribute. The condition is of the form: Character attribute, operator, value and the search is case sensitive.

      Supported API: true
      Parameters:
      attribute - The string attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The Character value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not a string type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, char value) throws QueryException
      Specify a search condition for the query based on a value of a Character attribute. The condition is of the form: Character attribute, operator, value and the search is case sensitive.

      Supported API: true
      Parameters:
      attribute - The string attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The char value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not a char type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String[] value, boolean caseSensitive) throws QueryException
      Specify a search condition for the query based on an array of values of a String attribute. The condition is of the form: String attribute, array of values.

      Supported API: true
      Parameters:
      anAttribute - The long attribute name.
      value - The array of String values for the search condition.
      caseSensitive - true | false specify whether to ignore case in comparison
      Throws:
      QueryException - Occurs if the given attribute is not an long type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String[] value, boolean caseSensitive, boolean negate) throws QueryException
      Specify a search condition for the query based on an array of values of a String attribute. The condition is of the form: String attribute, array of values.

      Supported API: true
      Parameters:
      anAttribute - The long attribute name.
      value - The array of String values for the search condition.
      caseSensitive - true | false specify whether to ignore case in comparison
      negate - sets search condition to NOT IN
      Throws:
      QueryException - Occurs if the given attribute is not an long type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator) throws QueryException
      Specify a search condition for the query based on a value of a boolean attribute. The condition is of the form: integer attribute, operator.

      Supported API: true
      Parameters:
      anAttribute - The boolean attribute name.
      operator - The operators for the search condition: values may be IS_TRUE, IS_FALSE.
      Throws:
      QueryException - Occurs if the given attribute is not a boolean type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, BigDecimal value) throws QueryException
      Specify a search condition for the query based on a value of a BIGDECIMAL attribute. The condition is of the form: BigDecimal attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The BigDecimal attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The BigDecimal value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an BigDecimal type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, Byte value) throws QueryException
      Specify a search condition for the query based on a value of a byte attribute. The condition is of the form: byte attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The byte attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The integer value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an Byte type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, byte value) throws QueryException
      Specify a search condition for the query based on a value of a byte attribute. The condition is of the form: byte attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The byte attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The integer value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an byte type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, Double value) throws QueryException
      Specify a search condition for the query based on a value of a double attribute. The condition is of the form: double attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The double attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The double value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an Double type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, double value) throws QueryException
      Specify a search condition for the query based on a value of a double attribute. The condition is of the form: double attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The double attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The double value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an double type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, Float value) throws QueryException
      Specify a search condition for the query based on a value of a float attribute. The condition is of the form: float attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The float attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The Float value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an Float type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, float value) throws QueryException
      Specify a search condition for the query based on a value of a float attribute. The condition is of the form: float attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The float attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The Float value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an Float type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, Integer value) throws QueryException
      Specify a search condition for the query based on a value of a integer attribute. The condition is of the form: integer attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The integer attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The integer value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an integer type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, int value) throws QueryException
      Specify a search condition for the query based on a value of a integer attribute. The condition is of the form: integer attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The integer attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The integer value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an int type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, Long value) throws QueryException
      Specify a search condition for the query based on a value of a long attribute. The condition is of the form: long attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The long attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The Long value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an Long type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, long value) throws QueryException
      Specify a search condition for the query based on a value of a long attribute. The condition is of the form: long attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The long attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The long value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an long type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, long[] value) throws QueryException
      Specify a search condition for the query based on an array of values of a long attribute. The condition is of the form: long attribute, array of values.

      Supported API: true
      Parameters:
      anAttribute - The long attribute name.
      value - The long value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an long type.
    • SearchCondition

      public SearchCondition(Class targetClass, String attribute, Integer[] value, boolean negate) throws QueryException
      Specify a search condition for the query based on an array of values of a Integer attribute. The condition is of the form: int attribute, array of values.

      Supported API: true
      Parameters:
      anAttribute - The long attribute name.
      value - The Integer values for the search condition.
      negate - sets search condition to NOT IN
      Throws:
      QueryException - Occurs if the given attribute is not an int type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, long[] value, boolean negate) throws QueryException
      Specify a search condition for the query based on an array of values of a long attribute. The condition is of the form: long attribute, array of values.

      Supported API: true
      Parameters:
      anAttribute - The long attribute name.
      value - The long values for the search condition.
      negate - sets search condition to NOT IN
      Throws:
      QueryException - Occurs if the given attribute is not an long type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, Short value) throws QueryException
      Specify a search condition for the query based on a value of a Short attribute. The condition is of the form: short attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The short attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The Short value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an Short type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, short value) throws QueryException
      Specify a search condition for the query based on a value of a short attribute. The condition is of the form: short attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The short attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The short value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an short type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, Date value) throws QueryException
      Specify a search condition for the query based on a value of a date attribute. The condition is of the form: date attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The date attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The date value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an date type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, Time value) throws QueryException
      Specify a search condition for the query based on a value of a time attribute. The condition is of the form: time attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The time attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The time value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an time type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, Timestamp value) throws QueryException
      Specify a search condition for the query based on a value of a timestamp attribute. The condition is of the form: timestamp attribute, operator, value.

      Supported API: true
      Parameters:
      anAttribute - The timestamp attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The timestamp value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an timestamp type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, boolean isBetween, AttributeRange value) throws QueryException
      Specify a search condition for the query based on a range of a timestamp, long, float, or integer. The condition is of the form: targetClass, attribute, boolean isBetween, AttributeRange value.

      Supported API: true
      Parameters:
      anAttribute - The timestamp attribute name.
      isBetween - Specifies whether to query for timestamps between the dates or not
      value - The AttributeRange value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an timestamp type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, EnumeratedType value) throws QueryException
      Specify a search condition for the query based on an EnumeratedType. The condition is of the form: targetClass, attribute name, operator, EnumeratedType value.

      Supported API: true
      Parameters:
      anAttribute - The EnumeratedType attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The EnumeratedType value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an EnumeratedType type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, Enum value) throws QueryException
      Specify a search condition for the query based on a Java enum. The condition is of the form: targetClass, attribute name, operator, enum value.

      Supported API: true
      Parameters:
      anAttribute - The enum attribute name.
      operator - The operators for the search condition with a value from the Operator_Constant List i.e. EQUAL, LESS_THAN, etc.
      value - The enum value for the search condition.
      Throws:
      QueryException - Occurs if the given attribute is not an enum type.
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, boolean isNull) throws QueryException
      Specify a criteria for the query to test an attribute for NULL/NOT NULL.

      Supported API: true
      Parameters:
      anAttribute - The attribute name.
      Throws:
      QueryException
    • SearchCondition

      public SearchCondition(Class targetClass, String targetAttribute, Class linkClass, String linkAttribute) throws QueryException
      Specify a criteria for the query to join a target and a link.

      Supported API: true
      Parameters:
      targetClass - The class of one side of the join
      targetAttribute - The attribute to use on the join.
      linkClass - The class Link or subclass of Link to be used with the join
      linkAttribute - The attribute belonging to link to use on the join
      Throws:
      QueryException
    • SearchCondition

      public SearchCondition(Class targetClass, String anAttribute, String operator, boolean placeholder) throws QueryException
      Specify a criteria for the query to add a placeholder. This constructor should NOT be used to specify a SearchCondition for a boolean attribute.

      Supported API: true
      Parameters:
      targetClass - The class of anAttribute
      anAttribute - The attribute to use on the left side of the equation
      operator - Which operation, such as EQUAL
      placeholder - boolean showing a placeholder should be inserted
      Throws:
      QueryException
  • Method Details

    • getOption

      public String getOption()
      Deprecated.
      as of R7.0, use the "UseEscape" attribute of wt.query.ConstantExpression.
      Gets the value of the attribute: option; String representation of the option (for example, ESCAPE option for LIKE).

      Supported API: true
      Returns:
      String
    • setOption

      public void setOption(String a_Option) throws WTPropertyVetoException
      Deprecated.
      as of R7.0, use the "UseEscape" attribute of wt.query.ConstantExpression.
      Sets the value of the attribute: option; String representation of the option (for example, ESCAPE option for LIKE).

      Supported API: true
      Parameters:
      a_Option -
      Throws:
      WTPropertyVetoException
    • getOuterJoin

      public int getOuterJoin()
      Gets the value of the attribute: outerJoin; Indicates the outer join column, if applicable.

      Supported API: true
      Returns:
      int
    • setOuterJoin

      public void setOuterJoin(int a_OuterJoin) throws WTPropertyVetoException
      Sets the value of the attribute: outerJoin; Indicates the outer join column, if applicable.

      Supported API: true
      Parameters:
      a_OuterJoin -
      Throws:
      WTPropertyVetoException