Package com.isomorphic.criteria

# Class DefaultOperators

java.lang.Object
com.isomorphic.criteria.DefaultOperators

public class DefaultOperators extends Object
Helper class for accessing operators that needs for working with Criteria. Also it contains set of methods for values check.

You can use any operator directly like DefaultOperators.Equals or you can get all of them using `getDefaultOperatorMap()` method.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static OperatorBase`
  `And`
  All subcriteria (criterion.criteria) are true.
  `static OperatorBase`
  `Between`
  Shortcut for greaterThan + lessThan + and.
  `static OperatorBase`
  `BetweenInclusive`
  Shortcut for greaterOrEqual + lessOrEqual + and.
  `static OperatorBase`
  `Contains`
  Contains as sub-string (match case).
  `static OperatorBase`
  `ContainsField`
  Contains as sub-string (match case) another field value (specify fieldName as criterion.value).
  `static OperatorBase`
  `ContainsPattern`
  Glob expression match.
  `static OperatorBase`
  `EndsWith`
  Ends with (match case).
  `static OperatorBase`
  `EndsWithField`
  Ends with (match case) another field value (specify fieldName as criterion.value).
  `static OperatorBase`
  `EndsWithPattern`
  Glob expression ends match.
  `static OperatorBase`
  `Equals`
  Exactly equal to.
  `static OperatorBase`
  `EqualsField`
  Matches another field (specify fieldName as criterion.value).
  `static OperatorBase`
  `GreaterOrEqual`
  Greater than or equal to.
  `static OperatorBase`
  `GreaterOrEqualField`
  Greater than or equal to another field (specify fieldName as criterion.value).
  `static OperatorBase`
  `GreaterThan`
  Greater than.
  `static OperatorBase`
  `GreaterThanField`
  Greater than another field (specify fieldName as criterion.value).
  `static OperatorBase`
  `IBetween`
  Shortcut for greaterThan + lessThan + and (case insensitive)
  `static OperatorBase`
  `IBetweenInclusive`
  Shortcut for greaterOrEqual + lessOrEqual + and (case insensitive)
  `static OperatorBase`
  `IContains`
  Contains as sub-string (case insensitive).
  `static OperatorBase`
  `IContainsField`
  Contains as sub-string another field value (specify fieldName as criterion.value).
  `static OperatorBase`
  `IContainsPattern`
  Glob expression match (case insensitive).
  `static OperatorBase`
  `IEndsWith`
  Ends with (case insensitive).
  `static OperatorBase`
  `IEndsWithField`
  Ends with another field value (specify fieldName as criterion.value).
  `static OperatorBase`
  `IEndsWithPattern`
  Glob expression ends match.
  `static OperatorBase`
  `IEquals`
  exactly equal to, if case is disregarded.
  `static OperatorBase`
  `IEqualsField`
  Matches another field ignoring case (specify fieldName as criterion.value).
  `static OperatorBase`
  `IMatchesPattern`
  Glob expression match (case insensitive).
  `static OperatorBase`
  `INotContains`
  Does not contain as sub-string (case insensitive).
  `static OperatorBase`
  `INotContainsField`
  Does not contain a sub-string of another field value (specify fieldName as criterion.value).
  `static OperatorBase`
  `INotEndsWith`
  Does not end with (case insensitive).
  `static OperatorBase`
  `INotEndsWithField`
  Does not end with another field value (specify fieldName as criterion.value).
  `static OperatorBase`
  `INotEqual`
  Not equal to, if case is disregarded.
  `static OperatorBase`
  `INotEqualField`
  Does not match another field ignoring case (specify fieldName as criterion.value).
  `static OperatorBase`
  `INotStartsWith`
  Does not start with (case insensitive).
  `static OperatorBase`
  `INotStartsWithField`
  Does not start with another field value (specify fieldName as criterion.value)
  `static OperatorBase`
  `InSet`
  Value is in a set of values.
  `static OperatorBase`
  `Iregexp`
  Regular expression match (case insensitive).
  `static OperatorBase`
  `IsBlank`
  Value is blank.
  `static OperatorBase`
  `IsNull`
  Value is null.
  `static OperatorBase`
  `IStartsWith`
  Starts with (case insensitive).
  `static OperatorBase`
  `IStartsWithField`
  Starts with another field value (specify fieldName as criterion.value)
  `static OperatorBase`
  `IStartsWithPattern`
  Glob expression start match.
  `static OperatorBase`
  `LessOrEqual`
  Less than or equal to.
  `static OperatorBase`
  `LessOrEqualField`
  Less than or equal to another field (specify fieldName as criterion.value).
  `static OperatorBase`
  `LessThan`
  Less than.
  `static OperatorBase`
  `LessThanField`
  Less than another field (specify fieldName as criterion.value).
  `static OperatorBase`
  `MatchesPattern`
  Glob expression match.
  `static OperatorBase`
  `Not`
  All subcriteria (criterion.criteria) are false.
  `static OperatorBase`
  `NotBlank`
  Value is non-blank.
  `static OperatorBase`
  `NotContains`
  Does not contain as sub-string (match case).
  `static OperatorBase`
  `NotContainsField`
  Does not contain a sub-string (match case) of another field value (specify fieldName as criterion.value).
  `static OperatorBase`
  `NotEndsWith`
  Does not end with (match case).
  `static OperatorBase`
  `NotEndsWithField`
  Does not end with (match case) another field value (specify fieldName as criterion.value).
  `static OperatorBase`
  `NotEqual`
  Not equal to.
  `static OperatorBase`
  `NotEqualField`
  Does not match another field (specify fieldName as criterion.value).
  `static OperatorBase`
  `NotInSet`
  Value is not in a set of values.
  `static OperatorBase`
  `NotNull`
  Value is non-null.
  `static OperatorBase`
  `NotStartsWith`
  Does not start with (match case).
  `static OperatorBase`
  `NotStartsWithField`
  Does not start with (match case) another field value (specify fieldName as criterion.value)
  `static OperatorBase`
  `Or`
  At least one subcriteria (criterion.criteria) is true.
  `static OperatorBase`
  `Regexp`
  Regular expression match.
  `static OperatorBase`
  `StartsWith`
  Starts with (match case).
  `static OperatorBase`
  `StartsWithField`
  Starts with (match case) another field value (specify fieldName as criterion.value)
  `static OperatorBase`
  `StartsWithPattern`
  Glob expression start match.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static Map<String,Operator>`
  `getDefaultOperatorMap()`
  Retrieving the Map containing all default operators.
  `static boolean`
  `isEndsWithPattern(String value, String matchesPattern, boolean ignoreCase)`
  Checks to see if the value ends with the pattern described allowing for multi wildcard character '*' and single wildcard characters '%' and '?'
  `static boolean`
  `isEqual(Object value, Object operand)`
  Compare two objects in a style suitable for Advanced Criteria operators.
  `static boolean`
  `isEqualToConfiguredValue(Object value, String operand)`
  Returns true if argument "value" (presumed to come from a DataSource) is equal to the value represented by argument "operand" (a String, presumed to come from a .ds.xml file).
  `static boolean`
  `isMatchingPattern(String value, String matchesPattern, boolean ignoreCase)`
  Checks to see if the value matches the pattern described allowing for multi wildcard character '*' and single wildcard characters '%' and '?'
  `static boolean`
  `isStartsWithPattern(String value, String matchesPattern, boolean ignoreCase)`
  Checks to see if the value starts with the pattern described allowing for multi wildcard character '*' and single wildcard characters '%' and '?'
  `static boolean`
  `rangeCheck(Object value, Object lower, Object upper, boolean inclusive, boolean caseInsensitive)`
  Evaluates: "lower (< <=) value (< <=) upper", where lower, value, and upper are presumed to be objects of (nearly) the same type.
  `static boolean`
  `rangeCheckToConfiguredValues(Object value, String lower, String upper, boolean inclusive, boolean caseInsensitive)`
  Evaluates: "lower (< <=) value (< <=) upper", where value is an object (presumably from a record), and lower and upper are Strings, presumably parsed from a .ds.xml file, which are converted to the type of value prior to comparison.

- ## Field Details

  - ### Equals

    public static OperatorBase Equals
    Exactly equal to.

  - ### NotEqual

    public static OperatorBase NotEqual
    Not equal to.

  - ### IEquals

    public static OperatorBase IEquals
    exactly equal to, if case is disregarded.

  - ### INotEqual

    public static OperatorBase INotEqual
    Not equal to, if case is disregarded.

  - ### GreaterThan

    public static OperatorBase GreaterThan
    Greater than.

  - ### LessThan

    public static OperatorBase LessThan
    Less than.

  - ### GreaterOrEqual

    public static OperatorBase GreaterOrEqual
    Greater than or equal to.

  - ### LessOrEqual

    public static OperatorBase LessOrEqual
    Less than or equal to.

  - ### Between

    public static OperatorBase Between
    Shortcut for greaterThan + lessThan + and.

  - ### IBetween

    public static OperatorBase IBetween
    Shortcut for greaterThan + lessThan + and (case insensitive)

  - ### BetweenInclusive

    public static OperatorBase BetweenInclusive
    Shortcut for greaterOrEqual + lessOrEqual + and.

  - ### IBetweenInclusive

    public static OperatorBase IBetweenInclusive
    Shortcut for greaterOrEqual + lessOrEqual + and (case insensitive)

  - ### IContains

    public static OperatorBase IContains
    Contains as sub-string (case insensitive).

  - ### IStartsWith

    public static OperatorBase IStartsWith
    Starts with (case insensitive).

  - ### IEndsWith

    public static OperatorBase IEndsWith
    Ends with (case insensitive).

  - ### Contains

    public static OperatorBase Contains
    Contains as sub-string (match case).

  - ### StartsWith

    public static OperatorBase StartsWith
    Starts with (match case).

  - ### EndsWith

    public static OperatorBase EndsWith
    Ends with (match case).

  - ### INotContains

    public static OperatorBase INotContains
    Does not contain as sub-string (case insensitive).

  - ### INotStartsWith

    public static OperatorBase INotStartsWith
    Does not start with (case insensitive).

  - ### INotEndsWith

    public static OperatorBase INotEndsWith
    Does not end with (case insensitive).

  - ### NotContains

    public static OperatorBase NotContains
    Does not contain as sub-string (match case).

  - ### NotStartsWith

    public static OperatorBase NotStartsWith
    Does not start with (match case).

  - ### NotEndsWith

    public static OperatorBase NotEndsWith
    Does not end with (match case).

  - ### IsBlank

    public static OperatorBase IsBlank
    Value is blank.

  - ### NotBlank

    public static OperatorBase NotBlank
    Value is non-blank.

  - ### IsNull

    public static OperatorBase IsNull
    Value is null.

  - ### NotNull

    public static OperatorBase NotNull
    Value is non-null.

  - ### Regexp

    public static OperatorBase Regexp
    Regular expression match.

  - ### Iregexp

    public static OperatorBase Iregexp
    Regular expression match (case insensitive).

  - ### StartsWithPattern

    public static OperatorBase StartsWithPattern
    Glob expression start match. Multi wildcard character allowed is '*' Single wildcard characters allowed are '%' and '?'

  - ### IStartsWithPattern

    public static OperatorBase IStartsWithPattern
    Glob expression start match. Multi wildcard character allowed is '*' Single wildcard characters allowed are '%' and '?'

  - ### EndsWithPattern

    public static OperatorBase EndsWithPattern
    Glob expression ends match. Multi wildcard character allowed is '*' Single wildcard characters allowed are '%' and '?'

  - ### IEndsWithPattern

    public static OperatorBase IEndsWithPattern
    Glob expression ends match. Multi wildcard character allowed is '*' Single wildcard characters allowed are '%' and '?'

  - ### MatchesPattern

    public static OperatorBase MatchesPattern
    Glob expression match. Multi wildcard character allowed is '*' Single wildcard characters allowed are '%' and '?'

  - ### IMatchesPattern

    public static OperatorBase IMatchesPattern
    Glob expression match (case insensitive). Multi wildcard character allowed is '*' Single wildcard characters allowed are '%' and '?'

  - ### ContainsPattern

    public static OperatorBase ContainsPattern
    Glob expression match. Multi wildcard character allowed is '*' Single wildcard characters allowed are '%' and '?'

  - ### IContainsPattern

    public static OperatorBase IContainsPattern
    Glob expression match (case insensitive). Multi wildcard character allowed is '*' Single wildcard characters allowed are '%' and '?'

  - ### InSet

    public static OperatorBase InSet
    Value is in a set of values.

  - ### NotInSet

    public static OperatorBase NotInSet
    Value is not in a set of values.

  - ### EqualsField

    public static OperatorBase EqualsField
    Matches another field (specify fieldName as criterion.value).

  - ### IEqualsField

    public static OperatorBase IEqualsField
    Matches another field ignoring case (specify fieldName as criterion.value). This relies on the field values being strings.

  - ### NotEqualField

    public static OperatorBase NotEqualField
    Does not match another field (specify fieldName as criterion.value).

  - ### INotEqualField

    public static OperatorBase INotEqualField
    Does not match another field ignoring case (specify fieldName as criterion.value). This relies on the field values being strings.

  - ### And

    public static OperatorBase And
    All subcriteria (criterion.criteria) are true.

  - ### Not

    public static OperatorBase Not
    All subcriteria (criterion.criteria) are false.

  - ### Or

    public static OperatorBase Or
    At least one subcriteria (criterion.criteria) is true.

  - ### GreaterThanField

    public static OperatorBase GreaterThanField
    Greater than another field (specify fieldName as criterion.value).

  - ### LessThanField

    public static OperatorBase LessThanField
    Less than another field (specify fieldName as criterion.value).

  - ### GreaterOrEqualField

    public static OperatorBase GreaterOrEqualField
    Greater than or equal to another field (specify fieldName as criterion.value).

  - ### LessOrEqualField

    public static OperatorBase LessOrEqualField
    Less than or equal to another field (specify fieldName as criterion.value).

  - ### ContainsField

    public static OperatorBase ContainsField
    Contains as sub-string (match case) another field value (specify fieldName as criterion.value).

  - ### IContainsField

    public static OperatorBase IContainsField
    Contains as sub-string another field value (specify fieldName as criterion.value).

  - ### NotContainsField

    public static OperatorBase NotContainsField
    Does not contain a sub-string (match case) of another field value (specify fieldName as criterion.value).

  - ### INotContainsField

    public static OperatorBase INotContainsField
    Does not contain a sub-string of another field value (specify fieldName as criterion.value).

  - ### StartsWithField

    public static OperatorBase StartsWithField
    Starts with (match case) another field value (specify fieldName as criterion.value)

  - ### IStartsWithField

    public static OperatorBase IStartsWithField
    Starts with another field value (specify fieldName as criterion.value)

  - ### NotStartsWithField

    public static OperatorBase NotStartsWithField
    Does not start with (match case) another field value (specify fieldName as criterion.value)

  - ### INotStartsWithField

    public static OperatorBase INotStartsWithField
    Does not start with another field value (specify fieldName as criterion.value)

  - ### EndsWithField

    public static OperatorBase EndsWithField
    Ends with (match case) another field value (specify fieldName as criterion.value).

  - ### IEndsWithField

    public static OperatorBase IEndsWithField
    Ends with another field value (specify fieldName as criterion.value).

  - ### NotEndsWithField

    public static OperatorBase NotEndsWithField
    Does not end with (match case) another field value (specify fieldName as criterion.value).

  - ### INotEndsWithField

    public static OperatorBase INotEndsWithField
    Does not end with another field value (specify fieldName as criterion.value).

- ## Method Details

  - ### isEqualToConfiguredValue

    public static boolean isEqualToConfiguredValue(Object value, String operand) throws Exception
    Returns true if argument "value" (presumed to come from a DataSource) is equal to the value represented by argument "operand" (a String, presumed to come from a .ds.xml file). Otherwise returns false.

    This is meant to be a wrapper class around isEqual(), handling the most common cases of type conversion and data conditioning.

    Throws:
      `Exception`

  - ### isEqual

    public static boolean isEqual(Object value, Object operand) throws Exception
    Compare two objects in a style suitable for Advanced Criteria operators. This should follow the same equality semantics as implemented in DataSource.js. It should also generally follow equality semantics for SQL.
    Throws:
      `Exception`

  - ### rangeCheckToConfiguredValues

    public static boolean rangeCheckToConfiguredValues(Object value, String lower, String upper, boolean inclusive, boolean caseInsensitive) throws Exception
    Evaluates: "lower (< <=) value (< <=) upper", where value is an object (presumably from a record), and lower and upper are Strings, presumably parsed from a .ds.xml file, which are converted to the type of value prior to comparison.
    Throws:
      `Exception`

  - ### rangeCheck

    public static boolean rangeCheck(Object value, Object lower, Object upper, boolean inclusive, boolean caseInsensitive) throws Exception
    Evaluates: "lower (< <=) value (< <=) upper", where lower, value, and upper are presumed to be objects of (nearly) the same type.
    Throws:
      `Exception`

  - ### isMatchingPattern

    public static boolean isMatchingPattern(String value, String matchesPattern, boolean ignoreCase) throws Exception
    Checks to see if the value matches the pattern described allowing for multi wildcard character '*' and single wildcard characters '%' and '?'
    Throws:
      `Exception`

  - ### isStartsWithPattern

    public static boolean isStartsWithPattern(String value, String matchesPattern, boolean ignoreCase) throws Exception
    Checks to see if the value starts with the pattern described allowing for multi wildcard character '*' and single wildcard characters '%' and '?'
    Throws:
      `Exception`

  - ### isEndsWithPattern

    public static boolean isEndsWithPattern(String value, String matchesPattern, boolean ignoreCase) throws Exception
    Checks to see if the value ends with the pattern described allowing for multi wildcard character '*' and single wildcard characters '%' and '?'
    Throws:
      `Exception`

  - ### getDefaultOperatorMap

    public static Map<String,Operator> getDefaultOperatorMap()
    Retrieving the Map containing all default operators.
    Returns:
      all default operators as map(id->operator).