com.smartgwt.client.data

## Class Criterion

- java.lang.Object
- - com.smartgwt.client.core.JsObject
  - - com.smartgwt.client.core.DataClass
    - - com.smartgwt.client.data.Criteria
      - - com.smartgwt.client.data.Criterion

- All Implemented Interfaces:
    com.google.gwt.event.shared.HasHandlers
  Direct Known Subclasses:
    AdvancedCriteria

      public class Criterion
      extends Criteria

  An object representing a criterion to apply to a record.

  A criterion is part of the definition of an `AdvancedCriteria` object, which is used to filter records according to search criteria.

  A criterion consists of an `operator` and typically a `fieldName` from a `Record` and a `value` to compare to. However some operators either don't require a value (eg, isNull) or act on other criteria rather than directly on a `Record`'s fields (eg, the "and" and "or" logical operators).

  A shortcut form is also allowed where only `fieldName` and `value` values are provided. In this case the `operator` is assumed to be "equals".

- - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.core.DataClass

      `factoryCreated, factoryProperties`

    - ### Fields inherited from class com.smartgwt.client.core.JsObject

      `jsObj`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Criterion()`
    `Criterion(Criterion c)`
    `Criterion(Criterion[] criterias)`
    `Criterion(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `Criterion(OperatorId operator)`
    `Criterion(OperatorId operator, Criterion[] criterias)`
    `Criterion(java.lang.String fieldName)`
    `Criterion(java.lang.String fieldName, OperatorId operator)`
    `Criterion(java.lang.String fieldName, OperatorId operator, java.lang.Boolean value)` Constructor for Criterion with fieldName, operator and value.
    `Criterion(java.lang.String fieldName, OperatorId operator, java.lang.Boolean[] value)`
    `Criterion(java.lang.String fieldName, OperatorId operator, java.util.Date value)` Constructor for Criterion with fieldName, operator and value.
    `Criterion(java.lang.String fieldName, OperatorId operator, java.util.Date[] value)`
    `Criterion(java.lang.String fieldName, OperatorId operator, java.util.Date start, java.util.Date end)` Constructor for Criterion with fieldName, operator, start and end values.
    `Criterion(java.lang.String fieldName, OperatorId operator, java.lang.Float value)` Constructor for Criterion with fieldName, operator and value.
    `Criterion(java.lang.String fieldName, OperatorId operator, java.lang.Float[] value)`
    `Criterion(java.lang.String fieldName, OperatorId operator, java.lang.Float start, java.lang.Float end)` Constructor for Criterion with fieldName, operator, start and end values.
    `Criterion(java.lang.String fieldName, OperatorId operator, java.lang.Integer value)` Constructor for Criterion with fieldName, operator and value.
    `Criterion(java.lang.String fieldName, OperatorId operator, java.lang.Integer[] value)`
    `Criterion(java.lang.String fieldName, OperatorId operator, java.lang.Integer start, java.lang.Integer end)` Constructor for Criterion with fieldName, operator, start and end values.
    `Criterion(java.lang.String fieldName, OperatorId operator, java.lang.Long value)` Constructor for Criterion with fieldName, operator and value.
    `Criterion(java.lang.String fieldName, OperatorId operator, java.lang.Long[] value)`
    `Criterion(java.lang.String fieldName, OperatorId operator, java.lang.Long start, java.lang.Long end)` Constructor for Criterion with fieldName, operator, start and end values.
    `Criterion(java.lang.String fieldName, OperatorId operator, RelativeDate value)` Constructor for Criterion with fieldName, operator and RelativeDate value.
    `Criterion(java.lang.String fieldName, OperatorId operator, RelativeDate start, RelativeDate end)` Constructor for Criterion with fieldName, operator, start and end RelativeDate values.
    `Criterion(java.lang.String fieldName, OperatorId operator, java.lang.String value)` Constructor for Criterion with fieldName, operator and value.
    `Criterion(java.lang.String fieldName, OperatorId operator, java.lang.String[] value)`
    `Criterion(java.lang.String fieldName, OperatorId operator, java.lang.String start, java.lang.String end)` Constructor for Criterion with fieldName, operator, start and end values.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addCriteria(Criteria c)` Adds a new criteria.
    `void` | `addCriteria(Criterion c)` Adds a new criteria.
    `void` | `addCriteria(java.lang.String field)` This method calls `#addCriteria(String, OperatorId, value)`, passing "EQUALS" as the OperatorId and Boolean.TRUE as value.
    `void` | `addCriteria(java.lang.String field, java.lang.Boolean value)` This method is similar to `addCriteria(String, String)`.
    `void` | `addCriteria(java.lang.String field, java.lang.Boolean[] value)` This method is similar to `addCriteria(String, String)`.
    `void` | `addCriteria(java.lang.String field, java.util.Date value)` This method is similar to `addCriteria(String, String)`.
    `void` | `addCriteria(java.lang.String field, java.util.Date[] value)` This method is similar to `addCriteria(String, String)`.
    `void` | `addCriteria(java.lang.String field, java.lang.Float value)` This method is similar to `addCriteria(String, String)`.
    `void` | `addCriteria(java.lang.String field, java.lang.Float[] value)` This method is similar to `addCriteria(String, String)`.
    `void` | `addCriteria(java.lang.String field, java.lang.Integer value)` This method is similar to `addCriteria(String, String)`.
    `void` | `addCriteria(java.lang.String field, java.lang.Integer[] value)` This method is similar to `addCriteria(String, String)`.
    `void` | `addCriteria(java.lang.String field, OperatorId op, java.lang.Boolean value)` This method is similar to `addCriteria(String, OperatorId, String)`.
    `void` | `addCriteria(java.lang.String field, OperatorId op, java.lang.Boolean[] value)` This method is similar to `addCriteria(String, OperatorId, String)`.
    `void` | `addCriteria(java.lang.String field, OperatorId op, java.util.Date value)` This method is similar to `addCriteria(String, OperatorId, String)`.
    `void` | `addCriteria(java.lang.String field, OperatorId op, java.util.Date[] value)` This method is similar to `addCriteria(String, OperatorId, String)`.
    `void` | `addCriteria(java.lang.String field, OperatorId op, java.lang.Float value)` This method is similar to `addCriteria(String, OperatorId, String)`.
    `void` | `addCriteria(java.lang.String field, OperatorId op, java.lang.Float[] value)` This method is similar to `addCriteria(String, OperatorId, String)`.
    `void` | `addCriteria(java.lang.String field, OperatorId op, java.lang.Integer value)` This method is similar to `addCriteria(String, OperatorId, String)`.
    `void` | `addCriteria(java.lang.String field, OperatorId op, java.lang.Integer[] value)` This method is similar to `addCriteria(String, OperatorId, String)`.
    `void` | `addCriteria(java.lang.String field, OperatorId op, java.lang.String value)` Creates a Criterion and calls `addCriteria(Criterion)`.
    `void` | `addCriteria(java.lang.String field, OperatorId op, java.lang.String[] value)` This method is similar to `addCriteria(String, OperatorId, String)`.
    `void` | `addCriteria(java.lang.String field, java.lang.String value)` This method calls `addCriteria(String, OperatorId, String)`, passing "EQUALS" as the OperatorId.
    `void` | `addCriteria(java.lang.String field, java.lang.String[] value)` This method is similar to `addCriteria(String, String)`.
    `void` | `appendToCriterionList(Criterion c)` For a Criterion that uses `OperatorId.AND` or `OperatorId.OR`, add an additional Criterion to the list of subcriteria to be evaluated.
    `AdvancedCriteria` | `asAdvancedCriteria()` Returns an AdvancedCriteria derived from this Criteria object.
    `void` | `buildCriterionFromList(OperatorId operator, Criterion[] criterias)`
    `Criterion[]` | `getCriteria()` For a criterion with an operator that acts on other criteria (eg "and", "or"), a list of sub-criteria that are grouped together by the operator.
    `java.lang.String` | `getFieldName()` Name of the field in each `Record` that this criterion applies to.
    `OperatorId` | `getOperator()` Operator this criterion applies.
    `static Criterion` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `java.lang.Boolean` | `getValueAsBoolean()` Retrieves the specified value for this criterion.
    `java.util.Date` | `getValueAsDate()` Retrieves the specified value for this criterion.
    `java.lang.Float` | `getValueAsFloat()` Retrieves the specified value for this criterion.
    `java.lang.Integer` | `getValueAsInt()` Synonym of `getValueAsInteger()`.
    `int[]` | `getValueAsIntArray()` Retrieves the specified value for this criterion.
    `java.lang.Integer` | `getValueAsInteger()` Retrieves the specified value for this criterion.
    `java.lang.String` | `getValueAsString()` Retrieves the specified value for this criterion.
    `java.lang.String[]` | `getValueAsStringArray()` Retrieves the specified value for this criterion.
    `java.lang.String` | `getValuePath()` Wherever `DynamicCriteria` are supported, `valuePath` can be specified as a path in the current `Canvas.ruleScope` as an alternative to setting a fixed `value`.
    `static boolean` | `instanceOf(java.lang.Object object)`
    `void` | `markAdvancedCriteria()`
    `Criterion` | `setCriteria(Criterion... criteria)` For a criterion with an operator that acts on other criteria (eg "and", "or"), a list of sub-criteria that are grouped together by the operator.
    `void` | `setCustomOperator(java.lang.String operator)` Specifies a "custom" operator to this criterion.
    `Criterion` | `setFieldName(java.lang.String fieldName)` Name of the field in each `Record` that this criterion applies to.
    `Criterion` | `setOperator(OperatorId operator)` Operator this criterion applies.
    `Criterion` | `setValuePath(java.lang.String valuePath)` Wherever `DynamicCriteria` are supported, `valuePath` can be specified as a path in the current `Canvas.ruleScope` as an alternative to setting a fixed `value`.
    `void` | `unmarkAdvancedCriteria()`

    - ### Methods inherited from class com.smartgwt.client.data.Criteria

      `addCriteria, addCriteria, addCriteria, addCriteria, addCriteria, convertToCriteriaArray, getValues, isAdvanced`

    - ### Methods inherited from class com.smartgwt.client.core.DataClass

      `applyFactoryProperties, doAddHandler, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsDoubleArray, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getAttributes, getHandlerCount, isFactoryCreated, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreated`

    - ### Methods inherited from class com.smartgwt.client.core.JsObject

      `equals, getJsObj, hashCode, isCreated, setJavaScriptObject, setJsObj`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Criterion

          public Criterion()

    - #### Criterion

          public Criterion(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### Criterion

          public Criterion(Criterion c)

    - #### Criterion

          public Criterion(Criterion[] criterias)

    - #### Criterion

          public Criterion(OperatorId operator,
                           Criterion[] criterias)

    - #### Criterion

          public Criterion(OperatorId operator)

    - #### Criterion

          public Criterion(java.lang.String fieldName)

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator)

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.lang.Integer value)

      Constructor for Criterion with fieldName, operator and value.
      Parameters:
        `fieldName` - the field name
        `operator` - the operator
        `value` - the value

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.lang.Integer start,
                           java.lang.Integer end)

      Constructor for Criterion with fieldName, operator, start and end values. This constructor is only valid when the operator is `OperatorId.BETWEEN` or `OperatorId.BETWEEN_INCLUSIVE`
      Parameters:
        `fieldName` - the field name
        `operator` - the operator
        `start` - the start value
        `end` - the end value

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.lang.String value)

      Constructor for Criterion with fieldName, operator and value.
      Parameters:
        `fieldName` - the field name
        `operator` - the operator
        `value` - the value

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.lang.String start,
                           java.lang.String end)

      Constructor for Criterion with fieldName, operator, start and end values. This constructor is only valid when the operator is `OperatorId.BETWEEN` or `OperatorId.BETWEEN_INCLUSIVE`
      Parameters:
        `fieldName` - the field name
        `operator` - the operator
        `start` - the start value
        `end` - the end value

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.lang.Float value)

      Constructor for Criterion with fieldName, operator and value.
      Parameters:
        `fieldName` - the field name
        `operator` - the operator
        `value` - the value

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.lang.Float start,
                           java.lang.Float end)

      Constructor for Criterion with fieldName, operator, start and end values. This constructor is only valid when the operator is `OperatorId.BETWEEN` or `OperatorId.BETWEEN_INCLUSIVE`
      Parameters:
        `fieldName` - the field name
        `operator` - the operator
        `start` - the start value
        `end` - the end value

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.util.Date value)

      Constructor for Criterion with fieldName, operator and value.
      Parameters:
        `fieldName` - the field name
        `operator` - the operator
        `value` - the value

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.util.Date start,
                           java.util.Date end)

      Constructor for Criterion with fieldName, operator, start and end values. This constructor is only valid when the operator is `OperatorId.BETWEEN` or `OperatorId.BETWEEN_INCLUSIVE`
      Parameters:
        `fieldName` - the field name
        `operator` - the operator
        `start` - the start value
        `end` - the end value

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           RelativeDate value)

      Constructor for Criterion with fieldName, operator and RelativeDate value.
      Parameters:
        `fieldName` - the field name
        `operator` - the operator
        `value` - the RelativeDate value

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           RelativeDate start,
                           RelativeDate end)

      Constructor for Criterion with fieldName, operator, start and end RelativeDate values. This constructor is only valid when the operator is `OperatorId.BETWEEN` or `OperatorId.BETWEEN_INCLUSIVE`
      Parameters:
        `fieldName` - the field name
        `operator` - the operator
        `start` - the start value
        `end` - the end value

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.lang.Boolean value)

      Constructor for Criterion with fieldName, operator and value.
      Parameters:
        `fieldName` - the field name
        `operator` - the operator
        `value` - the value

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.lang.Long value)

      Constructor for Criterion with fieldName, operator and value. Note that JavaScript does not natively have an equivalent format to Java long (fixed point 64 bit). As such the value passed in will be converted to a double value for storage.
      Parameters:
        `fieldName` - the field name
        `operator` - the operator
        `value` - the value

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.lang.Long start,
                           java.lang.Long end)

      Constructor for Criterion with fieldName, operator, start and end values. This constructor is only valid when the operator is `OperatorId.BETWEEN` or `OperatorId.BETWEEN_INCLUSIVE`
      Parameters:
        `fieldName` - the field name
        `operator` - the operator
        `start` - the start value
        `end` - the end value

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.lang.Integer[] value)

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.lang.String[] value)

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.lang.Float[] value)

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.lang.Long[] value)

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.util.Date[] value)

    - #### Criterion

          public Criterion(java.lang.String fieldName,
                           OperatorId operator,
                           java.lang.Boolean[] value)

  - ### Method Detail

    - #### getOrCreateRef

          public static Criterion getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### setCriteria

          public Criterion setCriteria(Criterion... criteria)

      For a criterion with an operator that acts on other criteria (eg "and", "or"), a list of sub-criteria that are grouped together by the operator.
      Parameters:
        `criteria` - New criteria value. Default value is null
      Returns:
        `Criterion` instance, for chaining setter calls
      See Also:
        `AdvancedFilter overview and related methods`

    - #### getCriteria

          public Criterion[] getCriteria()

      For a criterion with an operator that acts on other criteria (eg "and", "or"), a list of sub-criteria that are grouped together by the operator.
      Returns:
        Current criteria value. Default value is null
      See Also:
        `AdvancedFilter overview and related methods`

    - #### setFieldName

          public Criterion setFieldName(java.lang.String fieldName)

      Name of the field in each `Record` that this criterion applies to. Not applicable for a criterion with `sub-criteria`. Can be specified as a dataPath to allow matching nested objects. Use '/' as delimiters for dataPath. See `dataPath` for more information.
      Parameters:
        `fieldName` - New fieldName value. Default value is null
      Returns:
        `Criterion` instance, for chaining setter calls
      See Also:
        `AdvancedFilter overview and related methods`

    - #### getFieldName

          public java.lang.String getFieldName()

      Name of the field in each `Record` that this criterion applies to. Not applicable for a criterion with `sub-criteria`. Can be specified as a dataPath to allow matching nested objects. Use '/' as delimiters for dataPath. See `dataPath` for more information.
      Returns:
        Current fieldName value. Default value is null
      See Also:
        `AdvancedFilter overview and related methods`

    - #### setOperator

          public Criterion setOperator(OperatorId operator)

      Operator this criterion applies.
      Parameters:
        `operator` - New operator value. Default value is null
      Returns:
        `Criterion` instance, for chaining setter calls
      See Also:
        `AdvancedFilter overview and related methods`

    - #### getOperator

          public OperatorId getOperator()

      Operator this criterion applies.
      Returns:
        Current operator value. Default value is null
      See Also:
        `AdvancedFilter overview and related methods`

    - #### setValuePath

          public Criterion setValuePath(java.lang.String valuePath)

      Wherever `DynamicCriteria` are supported, `valuePath` can be specified as a path in the current `Canvas.ruleScope` as an alternative to setting a fixed `value`.

      Note: `valuePath` vs setting a path for `fieldName`:

      - use a path for `criterion.fieldName` when criteria will be matched against a nested data structure.
      - use `criterion.valuePath` when the values used in filtering should be dynamically derived based on the `Canvas.ruleScope`. This does not imply that the criteria will be matched against a nested structure.
      Parameters:
        `valuePath` - New valuePath value. Default value is null
      Returns:
        `Criterion` instance, for chaining setter calls

    - #### getValuePath

          public java.lang.String getValuePath()

      Wherever `DynamicCriteria` are supported, `valuePath` can be specified as a path in the current `Canvas.ruleScope` as an alternative to setting a fixed `value`.

      Note: `valuePath` vs setting a path for `fieldName`:

      - use a path for `criterion.fieldName` when criteria will be matched against a nested data structure.
      - use `criterion.valuePath` when the values used in filtering should be dynamically derived based on the `Canvas.ruleScope`. This does not imply that the criteria will be matched against a nested structure.
      Returns:
        Current valuePath value. Default value is null

    - #### instanceOf

          public static final boolean instanceOf(java.lang.Object object)

    - #### addCriteria

          public void addCriteria(Criterion c)

      Adds a new criteria.

      If the present criteria operation is "and", the new criteria is appended to the criteria list.

      Otherwise, the existing criteria is replaced with an "and" criteria, with two sub-criteria: the existing criteria, and the passed criteria.

      Note that if the existing criteria was empty (as would happen if new AdvancedCriteria() were called with no arguments), an "and" operator will still be introduced, but the passed criteria will be the only sub-criteria.

      To add an additional Criterion when using the "or" operator, use `appendToCriterionList(com.smartgwt.client.data.Criterion)`.

      Parameters:
        `c` - the passed criteria object

    - #### addCriteria

          public void addCriteria(Criteria c)

      Adds a new criteria. If the passed criteria is a simple Criteria or Criterion, it will turn into AdvancedCriteria, and will be added to the existent criteria.
      Overrides:
        `addCriteria` in class `Criteria`
      Parameters:
        `c` - the passed criteria object

    - #### addCriteria

          public void addCriteria(java.lang.String field)

      This method calls `#addCriteria(String, OperatorId, value)`, passing "EQUALS" as the OperatorId and Boolean.TRUE as value.
      See Also:
        `addCriteria(Criterion)`

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  java.lang.String value)

      This method calls `addCriteria(String, OperatorId, String)`, passing "EQUALS" as the OperatorId.
      Overrides:
        `addCriteria` in class `Criteria`
      See Also:
        `addCriteria(Criterion)`

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  java.lang.Integer value)

      This method is similar to `addCriteria(String, String)`.
      Overrides:
        `addCriteria` in class `Criteria`

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  java.lang.Float value)

      This method is similar to `addCriteria(String, String)`.
      Overrides:
        `addCriteria` in class `Criteria`

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  java.util.Date value)

      This method is similar to `addCriteria(String, String)`.
      Overrides:
        `addCriteria` in class `Criteria`

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  java.lang.Boolean value)

      This method is similar to `addCriteria(String, String)`.
      Overrides:
        `addCriteria` in class `Criteria`

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  java.lang.String[] value)

      This method is similar to `addCriteria(String, String)`.
      Overrides:
        `addCriteria` in class `Criteria`

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  java.lang.Integer[] value)

      This method is similar to `addCriteria(String, String)`.
      Overrides:
        `addCriteria` in class `Criteria`

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  java.lang.Float[] value)

      This method is similar to `addCriteria(String, String)`.
      Overrides:
        `addCriteria` in class `Criteria`

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  java.util.Date[] value)

      This method is similar to `addCriteria(String, String)`.

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  java.lang.Boolean[] value)

      This method is similar to `addCriteria(String, String)`.
      Overrides:
        `addCriteria` in class `Criteria`

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  OperatorId op,
                                  java.lang.String value)

      Creates a Criterion and calls `addCriteria(Criterion)`.

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  OperatorId op,
                                  java.lang.Integer value)

      This method is similar to `addCriteria(String, OperatorId, String)`.

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  OperatorId op,
                                  java.lang.Float value)

      This method is similar to `addCriteria(String, OperatorId, String)`.

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  OperatorId op,
                                  java.util.Date value)

      This method is similar to `addCriteria(String, OperatorId, String)`.

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  OperatorId op,
                                  java.lang.Boolean value)

      This method is similar to `addCriteria(String, OperatorId, String)`.

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  OperatorId op,
                                  java.lang.String[] value)

      This method is similar to `addCriteria(String, OperatorId, String)`.

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  OperatorId op,
                                  java.lang.Integer[] value)

      This method is similar to `addCriteria(String, OperatorId, String)`.

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  OperatorId op,
                                  java.lang.Float[] value)

      This method is similar to `addCriteria(String, OperatorId, String)`.

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  OperatorId op,
                                  java.util.Date[] value)

      This method is similar to `addCriteria(String, OperatorId, String)`.

    - #### addCriteria

          public void addCriteria(java.lang.String field,
                                  OperatorId op,
                                  java.lang.Boolean[] value)

      This method is similar to `addCriteria(String, OperatorId, String)`.

    - #### buildCriterionFromList

          public void buildCriterionFromList(OperatorId operator,
                                             Criterion[] criterias)

    - #### appendToCriterionList

          public void appendToCriterionList(Criterion c)

      For a Criterion that uses `OperatorId.AND` or `OperatorId.OR`, add an additional Criterion to the list of subcriteria to be evaluated.

    - #### setCustomOperator

          public void setCustomOperator(java.lang.String operator)

      Specifies a "custom" operator to this criterion.
      Parameters:
        `operator` - the operator

    - #### markAdvancedCriteria

          public void markAdvancedCriteria()

    - #### unmarkAdvancedCriteria

          public void unmarkAdvancedCriteria()

    - #### getValueAsString

          public java.lang.String getValueAsString()

      Retrieves the specified value for this criterion. Only applies to criterion where operator and value have been specified - will not apply to criterion containing `#getCriteria(),sub criteria`.
      Returns:

    - #### getValueAsInt

          public final java.lang.Integer getValueAsInt()

      Synonym of `getValueAsInteger()`.

    - #### getValueAsInteger

          public java.lang.Integer getValueAsInteger()

      Retrieves the specified value for this criterion. Only applies to criterion where operator and value have been specified - will not apply to criterion containing `#getCriteria(),sub criteria`.
      Returns:

    - #### getValueAsFloat

          public java.lang.Float getValueAsFloat()

      Retrieves the specified value for this criterion. Only applies to criterion where operator and value have been specified - will not apply to criterion containing `#getCriteria(),sub criteria`.
      Returns:

    - #### getValueAsDate

          public java.util.Date getValueAsDate()

      Retrieves the specified value for this criterion. Only applies to criterion where operator and value have been specified - will not apply to criterion containing `#getCriteria(),sub criteria`.
      Returns:

    - #### getValueAsBoolean

          public java.lang.Boolean getValueAsBoolean()

      Retrieves the specified value for this criterion. Only applies to criterion where operator and value have been specified - will not apply to criterion containing `#getCriteria(),sub criteria`.
      Returns:

    - #### getValueAsStringArray

          public java.lang.String[] getValueAsStringArray()

      Retrieves the specified value for this criterion. Only applies to criterion where operator and value have been specified - will not apply to criterion containing `#getCriteria(),sub criteria`.
      Returns:

    - #### getValueAsIntArray

          public int[] getValueAsIntArray()

      Retrieves the specified value for this criterion. Only applies to criterion where operator and value have been specified - will not apply to criterion containing `#getCriteria(),sub criteria`.
      Returns:

    - #### asAdvancedCriteria

          public AdvancedCriteria asAdvancedCriteria()

      Returns an AdvancedCriteria derived from this Criteria object.
      Overrides:
        `asAdvancedCriteria` in class `Criteria`
      Returns: