Package com.documentum.fc.client.search

# Interface IDfSearchSource

public interface IDfSearchSource
Represents a source for executing a query. Query supports multiple sources of different types. Currently only types of `SRC_TYPE_DOCBASE` and `SRC_TYPE_EXTERNAL` are supported.

See Also:
  - `IDfQueryDefinition`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `CAP_ALL_VERSIONS`
  Supports search for all versions of objects.
  `static final String`
  `CAP_DEFAULT_LOGIN`
  The adapter to the source is setup with a default account (user login optional).
  `static final String`
  `CAP_DUPLICATE_REMOVAL`
  Supports automatic duplicate removal.
  `static final String`
  `CAP_FTDQL`
  Supports FTDQL semantics.
  `static final String`
  `CAP_HIDDEN_OBJ`
  Supports searching hidden objects.
  `static final String`
  `CAP_LOGICAL_OR_EXPR_SET`
  Supports logical OR operation between expressions of a set.
  `static final String`
  `CAP_LOGIN`
  Supports login.
  `static final String`
  `CAP_TRY_FTDQL_FIRST`
  Supports TRY_FTDQL_FIRST Hint.
  `static final String`
  `CAP_USER_LOGIN`
  The user can provide credentials to authenticate to the source.
  `static final int`
  `SRC_TYPE_DEFAULT`
  Internal default source type (repository).
  `static final int`
  `SRC_TYPE_DOCBASE`
  Source type of a Documentum repository.
  `static final int`
  `SRC_TYPE_EXTERNAL`
  External (non-repository) source type.
  `static final int`
  `SRC_TYPE_UNDEFINED`
  Internal source type used to identify uninitialized instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `areMetadataWildcardsSupported(IDfSessionManager sessionManager)`
  Indicates if wildcards in metadata searches can be used with this source.
  `String`
  `getDescription()`
  Gets the (optional) source description.
  `URL`
  `getHomeURL()`
  Gets the home URL of this search source.
  `String`
  `getName()`
  Gets the name of the source.
  `int`
  `getType()`
  Gets the Search Source type of the current instance.
  `boolean`
  `hasCapability(String capability)`
  Gets the specified source capability.
  `boolean`
  `isFacetSupported(IDfSessionManager sessionManager)`
  Indicates if the source supports facets.
  `boolean`
  `isRangeAccessSupported(IDfSessionManager sessionManager)`
  Indicates if the source supports range access.

- ## Field Details

  - ### SRC_TYPE_UNDEFINED

    static final int SRC_TYPE_UNDEFINED
    Internal source type used to identify uninitialized instance.
    See Also:
      - Constant Field Values

  - ### SRC_TYPE_DOCBASE

    static final int SRC_TYPE_DOCBASE
    Source type of a Documentum repository.
    See Also:
      - Constant Field Values

  - ### SRC_TYPE_EXTERNAL

    static final int SRC_TYPE_EXTERNAL
    External (non-repository) source type.
    See Also:
      - Constant Field Values

  - ### SRC_TYPE_DEFAULT

    static final int SRC_TYPE_DEFAULT
    Internal default source type (repository).
    See Also:
      - Constant Field Values

  - ### CAP_LOGICAL_OR_EXPR_SET

    static final String CAP_LOGICAL_OR_EXPR_SET
    Supports logical OR operation between expressions of a set.
    See Also:
      - Constant Field Values

  - ### CAP_HIDDEN_OBJ

    static final String CAP_HIDDEN_OBJ
    Supports searching hidden objects.
    See Also:
      - Constant Field Values

  - ### CAP_ALL_VERSIONS

    static final String CAP_ALL_VERSIONS
    Supports search for all versions of objects.
    See Also:
      - Constant Field Values

  - ### CAP_DUPLICATE_REMOVAL

    static final String CAP_DUPLICATE_REMOVAL
    Supports automatic duplicate removal.
    See Also:
      - Constant Field Values

  - ### CAP_FTDQL

    static final String CAP_FTDQL
    Supports FTDQL semantics.
    See Also:
      - Constant Field Values

  - ### CAP_TRY_FTDQL_FIRST

    static final String CAP_TRY_FTDQL_FIRST
    Supports TRY_FTDQL_FIRST Hint.
    See Also:
      - Constant Field Values

  - ### CAP_LOGIN

    static final String CAP_LOGIN
    Supports login.
    See Also:
      - Constant Field Values

  - ### CAP_USER_LOGIN

    static final String CAP_USER_LOGIN
    The user can provide credentials to authenticate to the source. If the source does not have this capability, then it should have the #CAP_CORPORATE_LOGIN capability. This capability can be cumulated with #CAP_CORPORATE_LOGIN. In this case, the user can either choose to provide credential or relies on the default one.
    See Also:
      - `CAP_DEFAULT_LOGIN`
      - Constant Field Values

  - ### CAP_DEFAULT_LOGIN

    static final String CAP_DEFAULT_LOGIN
    The adapter to the source is setup with a default account (user login optional).
    See Also:
      - `CAP_USER_LOGIN`
      - Constant Field Values

- ## Method Details

  - ### getType

    int getType()
    Gets the Search Source type of the current instance. Can be one of the folloing:
    - `SRC_TYPE_DOCBASE`
    - `SRC_TYPE_EXTERNAL`
    Returns:
      The search source type.

  - ### getName

    String getName()
    Gets the name of the source.
    Returns:
      The name of the source.

  - ### getDescription

    String getDescription()
    Gets the (optional) source description.
    Returns:
      The source description; empty string if no description is provided.

  - ### getHomeURL

    URL getHomeURL()
    Gets the home URL of this search source.
    Returns:
      The home URL; or null if none (like for repositories).

  - ### hasCapability

    boolean hasCapability(String capability)
    Gets the specified source capability.
    Parameters:
      `capability` - can be one of the following:
      - `CAP_ALL_VERSIONS`
      - `CAP_DUPLICATE_REMOVAL`
      - `CAP_FTDQL`
      - `CAP_HIDDEN_OBJ`
      - `CAP_LOGICAL_OR_EXPR_SET`
      - `CAP_LOGIN`
      - `CAP_TRY_FTDQL_FIRST`
    Returns:
      `true`, if specified capability is supported.

  - ### isFacetSupported

    boolean isFacetSupported(IDfSessionManager sessionManager)
    Indicates if the source supports facets. One can use the facets methods available in IDfQueryBuilder and IDfQueryProcessor
    See Also:
      - `IDfQueryBuilder.addFacetDefinition(DfFacetDefinition)`
      - `IDfQueryProcessor.getFacets()`

  - ### isRangeAccessSupported

    boolean isRangeAccessSupported(IDfSessionManager sessionManager)
    Indicates if the source supports range access.

  - ### areMetadataWildcardsSupported

    boolean areMetadataWildcardsSupported(IDfSessionManager sessionManager)
    Indicates if wildcards in metadata searches can be used with this source.