Package com.documentum.fc.client.search

# Interface IDfSmartListDefinition

public interface IDfSmartListDefinition
Defines a smart list. A smart list groups a query definition, the attributes to display for this query, and custom properties.
The display attributes generally should match the result attributes specified in the query. Some of the query result attributes may not be displayable (for example, ID). In this case, they should be omitted from the display list.
Use either `IDfSmartList` (TBO), or `IDfQueryMgr` to create, load, save an `IDfSmartListDefinition`.

See Also:
  - `IDfSmartList`
  - `IDfQueryManager`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `VERSION`
  Version of the XML generated to store a search.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addDisplayAttribute(String attributeName)`
  Adds an attribute to the display attribute list.
  `void`
  `addProperty(String key, String value)`
  Adds a new custom property.
  `void`
  `clearDisplayAttributes()`
  Clears the display attribute list.
  `IDfSmartListDefinition`
  `copy()`
  Performs a deep copy of this instance.
  `int`
  `getDisplayAttributeCount()`
  Gets the number of attributes that can be displayed.
  `IDfEnumeration`
  `getDisplayAttributes()`
  Gets the display attribute list.
  `IDfProperties`
  `getProperties()`
  Gets the custom properties.
  `IDfQueryDefinition`
  `getQueryDefinition()`
  Gets the query definition.
  `boolean`
  `isDisplayAttribute(String attributeName)`
  Indicates whether the attribute can be displayed.
  `void`
  `setQueryDefinition(IDfQueryDefinition queryDefinition)`
  Sets the query definition.

- ## Field Details

  - ### VERSION

    static final int VERSION
    Version of the XML generated to store a search.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getQueryDefinition

    IDfQueryDefinition getQueryDefinition()
    Gets the query definition.
    Returns:
      The query definition.

  - ### setQueryDefinition

    void setQueryDefinition(IDfQueryDefinition queryDefinition)
    Sets the query definition.
    Parameters:
      `queryDefinition` - The query definition.

  - ### addDisplayAttribute

    void addDisplayAttribute(String attributeName)
    Adds an attribute to the display attribute list. The display attribute list contains no duplicates: if the attribute is already contained in the list, then this call has no effect.
    The display attribute list contains the attributes that can be displayed. The display attributes generally should match the result attributes specified in the query. Some of the query result attributes may not be displayable (for example, ID). In this case, they should be omitted from the display list.
    Parameters:
      `attributeName` - The name of the attribute.

  - ### isDisplayAttribute

    boolean isDisplayAttribute(String attributeName)
    Indicates whether the attribute can be displayed.
    Parameters:
      `attributeName` - The name of the attribute.
    Returns:
      `true`, if the attribute can be displayed; `false`, otherwise.
    See Also:
      - `addDisplayAttribute(String)`

  - ### getDisplayAttributeCount

    int getDisplayAttributeCount()
    Gets the number of attributes that can be displayed.
    Returns:
      The display attribute list size.

  - ### getDisplayAttributes

    IDfEnumeration getDisplayAttributes()
    Gets the display attribute list.
    The display list contains the attributes that can be displayed. The display attributes generally should match the result attributes specified in the query. Some of the query result attributes may not be displayable (for example, ID). In this case, they should be omitted from the display list.
    Returns:
      The display attribute list (IDfEnumeration of String).

  - ### clearDisplayAttributes

    void clearDisplayAttributes()
    Clears the display attribute list. A subsequent call to `getDisplayAttributeCount()` will return 0.

  - ### getProperties

    IDfProperties getProperties()
    Gets the custom properties.
    Note: these methods should be used as a last resort. Avoid storing UI specific information here, if possible.
    Returns:
      The custom properties.

  - ### addProperty

    void addProperty(String key, String value)
    Adds a new custom property. If the property key already exists, then its value is replaced.
    Note: these methods should be used as a last resort. Avoid storing UI specific information here, if possible.
    Parameters:
      `key` - The property key.
      `value` - The property value.

  - ### copy

    IDfSmartListDefinition copy() throws DfException
    Performs a deep copy of this instance.
    Returns:
      An IDfSmartListDefinition instance.
    Throws:
      `DfException`