Package com.documentum.fc.client.search

# Interface IDfExpression

All Known Subinterfaces:
  `IDfAttrExpression`, `IDfExpressionSet`, `IDfFullTextExpression`, `IDfMltExpression`, `IDfRelativeDateExpression`, `IDfSimpleAttrExpression`, `IDfValueListAttrExpression`, `IDfValueRangeAttrExpression`

public interface IDfExpression
Defines a search expression.
A search expression may have different type (for example: set of search expression, full-text, simple value, range value...). It is used in `IDfQueryBuilder` to construct a search query.

See Also:
  - `IDfQueryBuilder.getRootExpressionSet()`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `DATE_FORMAT_DEFAULT`
  Default date format pattern (such as: mm/dd/yyyy hh:mi:ss).
  `static final int`
  `EXPR_TYPE_FULLTEXT`
  Expression type: full-text expression.
  `static final int`
  `EXPR_TYPE_MLT`
  Expression type: more-like-this expression.
  `static final int`
  `EXPR_TYPE_RELATIVE_DATE`
  Expression type: relative date expression.
  `static final int`
  `EXPR_TYPE_SET`
  Expression type: expression set.
  `static final int`
  `EXPR_TYPE_SIMPLE_ATTR`
  Expression type: simple (single value) attribute expression.
  `static final int`
  `EXPR_TYPE_UNDEFINED`
  Expression type: undefined.
  `static final int`
  `EXPR_TYPE_VALUE_LIST_ATTR`
  Expression type: attribute expression with a list of values (that is, typically for IN operator).
  `static final int`
  `EXPR_TYPE_VALUE_RANGE_ATTR`
  Expression type: attribute expression with a range of values.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `acceptVisitor(DfExpressionVisitor visitor)`
  Visits this expression.
  `String`
  `getDateFormat()`
  Gets the date format associated with this expression.
  `int`
  `getExpressionType()`
  Gets the expression type.
  `void`
  `setDateFormat(String dateFormat)`
  Sets the date format associated with this expression.

- ## Field Details

  - ### EXPR_TYPE_UNDEFINED

    static final int EXPR_TYPE_UNDEFINED
    Expression type: undefined.
    See Also:
      - Constant Field Values

  - ### EXPR_TYPE_SET

    static final int EXPR_TYPE_SET
    Expression type: expression set.
    See Also:
      - Constant Field Values

  - ### EXPR_TYPE_FULLTEXT

    static final int EXPR_TYPE_FULLTEXT
    Expression type: full-text expression.
    See Also:
      - Constant Field Values

  - ### EXPR_TYPE_SIMPLE_ATTR

    static final int EXPR_TYPE_SIMPLE_ATTR
    Expression type: simple (single value) attribute expression.
    See Also:
      - Constant Field Values

  - ### EXPR_TYPE_VALUE_RANGE_ATTR

    static final int EXPR_TYPE_VALUE_RANGE_ATTR
    Expression type: attribute expression with a range of values.
    See Also:
      - Constant Field Values

  - ### EXPR_TYPE_VALUE_LIST_ATTR

    static final int EXPR_TYPE_VALUE_LIST_ATTR
    Expression type: attribute expression with a list of values (that is, typically for IN operator).
    See Also:
      - Constant Field Values

  - ### EXPR_TYPE_RELATIVE_DATE

    static final int EXPR_TYPE_RELATIVE_DATE
    Expression type: relative date expression.
    See Also:
      - Constant Field Values

  - ### EXPR_TYPE_MLT

    static final int EXPR_TYPE_MLT
    Expression type: more-like-this expression.
    See Also:
      - Constant Field Values

  - ### DATE_FORMAT_DEFAULT

    static final String DATE_FORMAT_DEFAULT
    Default date format pattern (such as: mm/dd/yyyy hh:mi:ss).
    See Also:
      - `IDfTime`

- ## Method Details

  - ### getExpressionType

    int getExpressionType()
    Gets the expression type.
    Returns:
      The expression type (constant defined in `IDfExpression`).
    See Also:
      - `EXPR_TYPE_SET`
      - `EXPR_TYPE_FULLTEXT`
      - `EXPR_TYPE_SIMPLE_ATTR`
      - `EXPR_TYPE_VALUE_RANGE_ATTR`
      - `EXPR_TYPE_VALUE_LIST_ATTR`
      - `EXPR_TYPE_MLT`

  - ### getDateFormat

    String getDateFormat()
    Gets the date format associated with this expression. If the date format is not specifically set, the date format used is the date format of the parent. If this expression is the root of the expression, `DATE_FORMAT_DEFAULT` is returned.
    Returns:
      The date format for this expression
    See Also:
      - `IDfTime`

  - ### setDateFormat

    void setDateFormat(String dateFormat)
    Sets the date format associated with this expression. If the date format is not specifically set, then the default one is used.

    Time zone consideration:

    It is important to note that the date must be expressed using the DFC time zone. When the query is sent to a Documentum repository, the date is translated into a universal time zone format (GMT+00), assuming that the date provided is expressed in the DFC time zone.

    You should not use a date format with only 'day' precision (such as: "mm/dd/yyyy"). If the DFC time zone is not a universal time zone, the date in the query could be one day before or after the expected date. For example, using the GMT+1 time zone, 01/26/1973 will be transformed into 01/25/1973 in a query sent to the repository ('01/26/1973 00:00:00' minus 1 hour)

    Parameters:
      `dateFormat` - The specific date format to use for this expression. It must follow the date format pattern supported by the Content Server and described in `com.documentum.fc.common.IDfTime`.

      The corresponding SimpleDateFormat format are also supported (such as: "MM/dd/yyyy hh:mm:ss" is equivalent to "mm/dd/yyyy hh:mi:ss").

    See Also:
      - `IDfTime`

  - ### acceptVisitor

    void acceptVisitor(DfExpressionVisitor visitor) throws DfException
    Visits this expression.
    Parameters:
      `visitor` - The visitor to call on each sub-`Expression` of the expression.
    Throws:
      `DfSearchException` - The exception thrown by the visitor.
      `DfException`