Class GenericCondition

All Implemented Interfaces:
Serializable
Direct Known Subclasses:
FeatureValueCondition, GenericConditionList, GenericFieldCondition, GenericSearchSubQuery

public abstract class GenericCondition extends FlexibleSearchTranslatable
Super class for all Conditions.
See Also:
  • Constructor Details

    • GenericCondition

      public GenericCondition(Operator operator)
      Parameters:
      operator -
  • Method Details

    • checkOperator

      protected abstract void checkOperator()
      Performs a plausablity check on current Operator. Throws a IllegalArgumentException, if check fails.
    • getResettableValues

      public abstract Map getResettableValues()
      Returns all resetable key/value pairs already set in this condition or in one of its subconditions.
      Returns:
      Map A map containing all resettable key/value pairs.
    • setResettableValue

      public abstract void setResettableValue(String key, Object value)
      Resets the value defined by given key.
      Parameters:
      key - original key for value parameter
      value - a new Value
      Throws:
      IllegalArgumentException - , if given value is incompatible to original condition.
    • getOperator

      public Operator getOperator()
      returns Operator for this GenericCondition
      Returns:
      Operator instance
    • setOperator

      public void setOperator(Operator operator)
      sets Operator for this GenericCondition
      Parameters:
      operator -
    • createEqualCondition

      @Deprecated(since="ages", forRemoval=true) public static GenericCondition createEqualCondition(GenericSearchField field, Object value)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates a EQUAL search condition.
    • equals

      public static GenericCondition equals(GenericSearchField field, Object value)
      Creates a EQUAL search condition upon a specified field.
    • equals

      public static GenericCondition equals(String fieldQualifier, Object value)
      Creates a EQUAL search condition upon a default type field.
      Parameters:
      fieldQualifier - the field qualifier within the default type of the enclosing query
    • createUnequalCondition

      @Deprecated(since="ages", forRemoval=true) public static GenericCondition createUnequalCondition(GenericSearchField field, Object value)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates a UNEQUAL search condition.
    • notEquals

      public static GenericCondition notEquals(GenericSearchField field, Object value)
      Creates a UNEQUAL search condition upon a specified field.
    • notEquals

      public static GenericCondition notEquals(String fieldQualifier, Object value)
      Creates a UNEQUAL search condition upon a default type field.
      Parameters:
      fieldQualifier - the field qualifier within the default type of the enclosing query
    • createGreaterCondition

      public static GenericCondition createGreaterCondition(GenericSearchField field, Object value)
      Creates a unlocalized GREATER search condition.
      Parameters:
      field -
      value -
      Returns:
      the new GenericCondition
    • greater

      public static GenericCondition greater(GenericSearchField field, Object value)
    • createGreaterOrEqualCondition

      public static GenericCondition createGreaterOrEqualCondition(GenericSearchField field, Object value)
      Creates a unlocalized GREATER_OR_EQUAL search condition.
      Parameters:
      field -
      value -
      Returns:
      the new GenericCondition
    • greaterOrEqual

      public static GenericCondition greaterOrEqual(GenericSearchField field, Object value)
    • createLessCondition

      public static GenericCondition createLessCondition(GenericSearchField field, Object value)
      Creates a unlocalized LESS search condition.
      Parameters:
      field -
      value -
      Returns:
      the new GenericCondition
    • less

      public static GenericCondition less(GenericSearchField field, Object value)
    • createLessOrEqualCondition

      public static GenericCondition createLessOrEqualCondition(GenericSearchField field, Object value)
      Creates a unlocalized LESS_OR_EQUAL search condition.
      Parameters:
      field -
      value -
      Returns:
      the new GenericCondition
    • lessOrEqual

      public static GenericCondition lessOrEqual(GenericSearchField field, Object value)
    • createLikeCondition

      public static GenericCondition createLikeCondition(GenericSearchField field, Object value)
      Creates a LIKE search condition in case insensitive mode.
      Parameters:
      field -
      value -
      Returns:
      the new GenericCondition
    • like

      public static GenericCondition like(GenericSearchField field, Object value)
    • like

      public static GenericCondition like(String fieldQualifier, Object value)
    • createNotLikeCondition

      public static GenericCondition createNotLikeCondition(GenericSearchField field, Object value)
      Creates a NOT_LIKE search condition in case insensitive mode.
      Parameters:
      field -
      value -
      Returns:
      the new GenericCondition
    • notLike

      public static GenericCondition notLike(GenericSearchField field, Object value)
    • notLike

      public static GenericCondition notLike(String fieldQualifier, Object value)
    • createContainsCondition

      public static GenericCondition createContainsCondition(GenericSearchField field, Object value)
      Creates a CONTAINS search condition in case insensitive mode.
      Parameters:
      field -
      value -
      Returns:
      the new GenericCondition
    • contains

      public static GenericCondition contains(GenericSearchField field, Object value)
    • createStartsWithCondition

      public static GenericCondition createStartsWithCondition(GenericSearchField field, Object value)
      Creates a STARTS_WITH search condition in case insensitive mode.
      Parameters:
      field -
      value -
      Returns:
      the new GenericCondition
    • startsWith

      public static GenericCondition startsWith(GenericSearchField field, Object value)
    • createEndsWithCondition

      public static GenericCondition createEndsWithCondition(GenericSearchField field, Object value)
      Creates a ENDS_WITH search condition in case insensitive mode.
      Parameters:
      field -
      value -
      Returns:
      the new GenericCondition
    • endsWith

      public static GenericCondition endsWith(GenericSearchField field, Object value)
    • createIsNotNullCondition

      public static GenericCondition createIsNotNullCondition(GenericSearchField field)
      Creates a IS_NOT_NULL search condition.
      Parameters:
      field -
      Returns:
      the new GenericCondition
    • getNotNull

      public static GenericCondition getNotNull(GenericSearchField field)
    • createIsNullCondition

      public static GenericCondition createIsNullCondition(GenericSearchField field)
      Creates a IS_NULL search condition.
      Parameters:
      field -
      Returns:
      the new GenericCondition
    • getNull

      public static GenericCondition getNull(GenericSearchField field)
    • createConditionForValueComparison

      public static GenericCondition createConditionForValueComparison(GenericSearchField field, Operator operator, Object value)
      factory method for creating value conditions.

      (e.g. TABLE.FIELD1 = value1)

      Parameters:
      field - - must not be null
      operator - - permitted operators are EQUAL,UNEQUAL,LIKE,NOT_LIKE,STARTS_WITH,CONTAINS,GREATER,LESS,GREATER_OR_EQUAL,LESS_OR_EQUAL
      value - - must not be null or an empty collection
      Returns:
      GenericCondition
    • getComparison

      public static GenericCondition getComparison(GenericSearchField field, Operator operator, Object value)
      Creates a value comparison condition for a specified field.
      Parameters:
      field - the field to compare the value to
      operator - the comparison operator
      value - the value to compare to
      Returns:
      the condition object
    • getComparison

      public static GenericCondition getComparison(String fieldQualifier, Operator operator, Object value)
      Creates a value comparison condition for a field of the initial type of the enclosing query.
      Parameters:
      fieldQualifier - the field qualifier within the initial type of the enclosing query
      operator - the comparison operator
      value - the value to compare to
      Returns:
      the condition object
    • createConditionForValueComparison

      public static GenericCondition createConditionForValueComparison(GenericSearchField field, Operator operator, Object value, String valueQualifier)
      factory method for creating value conditions.

      (e.g. TABLE.FIELD1 = value1)

      Parameters:
      field - - must not be null
      operator - - permitted operators are EQUAL,UNEQUAL,LIKE,NOT_LIKE,STARTS_WITH,CONTAINS,GREATER,LESS,GREATER_OR_EQUAL,LESS_OR_EQUAL
      value - - must not be null or an empty collection
      valueQualifier - if set the corresponding value may be reset later
      Returns:
      GenericCondition
    • getComparison

      public static GenericCondition getComparison(GenericSearchField field, Operator operator, Object value, String valueQualifier)
    • createConditionForValueComparison

      public static GenericCondition createConditionForValueComparison(GenericSearchField field, Operator operator, Object value, boolean caseInsensitive)
      factory method for creating value conditions.

      (e.g. TABLE.FIELD1 = value1)

      Parameters:
      field - must not be null
      operator - permitted operators are EQUAL,UNEQUAL,LIKE,NOT_LIKE,STARTS_WITH,CONTAINS,GREATER,LESS,GREATER_OR_EQUAL,LESS_OR_EQUAL
      value - must not be null or an empty collection
      caseInsensitive - indicates whether field/value will be compared case insensitively
      Returns:
      GenericCondition
    • getComparison

      public static GenericCondition getComparison(GenericSearchField field, Operator operator, Object value, boolean caseInsensitive)
    • createConditionForValueComparison

      public static GenericCondition createConditionForValueComparison(GenericSearchField field, Operator operator, Object value, String valueQualifier, boolean caseInsensitive)
      factory method for creating value conditions.

      (e.g. TABLE.FIELD1 = value1)

      Parameters:
      field - must not be null
      operator - permitted operators are EQUAL,UNEQUAL,LIKE,NOT_LIKE,STARTS_WITH,CONTAINS,GREATER,LESS,GREATER_OR_EQUAL,LESS_OR_EQUAL
      value - must not be null or an empty collection
      valueQualifier - if set the corresponding value may be reset later
      caseInsensitive - indicates whether field/value will be compared ignoring case
      Returns:
      GenericCondition
    • createConditionForLiteralComparison

      public static GenericCondition createConditionForLiteralComparison(GenericSearchField field, Operator operator)
      factory method for creating literal conditions.

      (e.g. TABLE.FIELD1 IS NULL )

      Parameters:
      field - must not be null
      operator - permitted operators are IS_NULL, IS_NOT_NULL, EMPTY
      Returns:
      GenericCondition
    • createConditionForFieldComparison

      public static GenericCondition createConditionForFieldComparison(GenericSearchField field, Operator operator, GenericSearchField comparisonField)
      factory method for creating field conditions.

      (e.g. TABLE.FIELD1 = TABLE2.FIELD4 )

      Parameters:
      field - must not be null
      operator - permitted operators are IS_NULL, IS_NOT_NULL, EMPTY
      comparisonField - must not be null
      Returns:
      GenericCondition
    • getComparison

      public static GenericCondition getComparison(GenericSearchField field, Operator operator, GenericSearchField comparisonField)
    • createConditionForFieldComparison

      public static GenericCondition createConditionForFieldComparison(GenericSearchField field, Operator operator, GenericSearchField comparisonField, boolean caseInsensitive)
      factory method for creating field conditions.

      (e.g. TABLE.FIELD1 = TABLE2.FIELD4 )

      Parameters:
      field - must not be null
      operator - permitted operators are IS_NULL, IS_NOT_NULL, EMPTY
      comparisonField - must not be null
      caseInsensitive - indicates whether field/value will be converted compared ignoring case
      Returns:
      GenericCondition
    • getComparison

      public static GenericCondition getComparison(GenericSearchField field, Operator operator, GenericSearchField comparisonField, boolean caseInsensitive)
    • createJoinCondition

      public static GenericCondition createJoinCondition(GenericSearchField field, GenericSearchField joinedField)
      factory method for creating join conditions (with EQUAL)
      Parameters:
      field - must not be null
      joinedField - must not be null
      Returns:
      GenericCondition
    • createSubQueryCondition

      public static GenericCondition createSubQueryCondition(GenericSearchField field, Operator operator, GenericQuery query)
      factory method for subquery condition
      Parameters:
      field - must not be null
      operator - permitted operators are IN, NOT_IN, EXISTS, NOT_EXISTS
      query - must not be null
      Returns:
      GenericCondition
    • createConditionList

      public static GenericConditionList createConditionList(Collection<GenericCondition> conditions, Operator operator)
      factory method for creating a conditionsList with a list of GenericConditions
      Parameters:
      conditions - members must be instances of GenericCondition
      operator - permitted operators are AND, OR
      Returns:
      GenericCondition
    • createConditionList

      public static GenericConditionList createConditionList(GenericCondition condition)
      Factory method for creating a conditionsList with a single GenericConditions.
      Parameters:
      condition -
      Returns:
      the GenericConditionList
    • createConditionList

      public static GenericConditionList createConditionList(GenericCondition... conditions)
    • createConditionList

      public static GenericConditionList createConditionList(Operator operator, GenericCondition... conditions)
    • or

      public static GenericConditionList or(GenericCondition... conditions)
    • or

      public static GenericConditionList or(Collection<GenericCondition> conditions)
    • and

      public static GenericConditionList and(Collection<GenericCondition> conditions)
    • and

      public static GenericConditionList and(GenericCondition... conditions)
    • caseSensitiveLike

      public static GenericCondition caseSensitiveLike(GenericSearchField field, Object value)
    • caseSensitiveNotLike

      public static GenericCondition caseSensitiveNotLike(GenericSearchField field, Object value)
    • in

      public static GenericCondition in(GenericSearchField genericSearchField, Collection<?> value)
      Creates a IN search condition upon a specified field.
    • notIn

      public static GenericCondition notIn(GenericSearchField genericSearchField, Collection<?> value)
      Creates a NOT IN search condition upon a specified field.
    • isTranslatableToPolyglotDialect

      public boolean isTranslatableToPolyglotDialect()