Package com.documentum.fc.client

# Interface IDfService

All Superinterfaces:
  `IDfModule`

All Known Implementing Classes:
  `DfService`

public interface IDfService extends IDfModule
Parent interface for all service-based business objects. All Documentum Business Objects Framework service-based business objects interfaces must extend this `IDfService` interface as well as implement this `IDfService` interface in order to provide some common functionality for all services.

Since:
  5.1
See Also:
  - `DfService`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `cleanupResources()`
  Provides to the service client an opportunity to release some service specific resources before the Java garbage collector will collect the object.
  `String`
  `getName()`
  Returns the fully qualified logical name of the service interface.
  `IDfSession`
  `getSession(String docbase)`
  Returns a previously established "managed" `IDfSession` object.
  `IDfSessionManager`
  `getSessionManager()`
  Allows a service to obtain the its session manager handle.
  `String`
  `getVendorString()`
  Gets the Copyright statement string.
  `String`
  `getVersion()`
  Gets the current version of the service as a string.
  `boolean`
  `isCompatible(String version)`
  Checks if this object is compatible with the specified version, often used in conjunction with the `supportsFeature` method.
  `void`
  `releaseSession(IDfSession session)`
  Releases the "managed" session back to the session pool.
  `boolean`
  `supportsFeature(String feature)`
  Checks if the specified feature matches an entry in the implementations list of supported features.

- ## Method Details

  - ### getName

    String getName()
    Returns the fully qualified logical name of the service interface. For example,

         "com.documentum.services.inbox.IInbox"

    Returns:
      logical service name

  - ### getVersion

    String getVersion()
    Gets the current version of the service as a string. The version string has the following format: `<major version>.<minor version>`. Example: `"1.0"`.
    Returns:
      version string
    See Also:
      - `isCompatible(java.lang.String)`
      - `supportsFeature(java.lang.String)`

  - ### getVendorString

    String getVendorString()
    Gets the Copyright statement string.

    If a service is provided by Documentum the vendor string would be "Copyright (c) Documentum, Inc. 2002. All Rights reserved.".

    Returns:
      copyright statement

  - ### isCompatible

    boolean isCompatible(String version)
    Checks if this object is compatible with the specified version, often used in conjunction with the `supportsFeature` method.

    An example might be, `isCompatible( "1.2" );`

    Parameters:
      `version` - version string of format: `<major version>.<minor version>`. Example: `"1.0"`
    Returns:
      `true` if service is compatible with the version (`false` if incompatible)

  - ### supportsFeature

    boolean supportsFeature(String feature)
    Checks if the specified feature matches an entry in the implementations list of supported features. The implementation is up to the author of the SBO class. For example, the class could look up a table in the repository, store features in a private `Hashtable`, array, `IDfList`, etc. Based on this information, specific UI features might then be switched on or off.

    Based on this feature information, a program can make decisions on how to use the object, for example, certain UI features can then be switched on or off. For instance, a search service may not support an external search or full text search. `supportsFeature( "fulltextsearch" );`

    Parameters:
      `feature` - feature string
    Returns:
      true if feature is supported (`false` if the feature is not supported)

  - ### getSessionManager

    IDfSessionManager getSessionManager()
    Allows a service to obtain the its session manager handle. Under normal circumstance a service implementation does not need to access the service session directly since some convenience methods are provided by the abstract `"DfService"` class.
    Returns:
      the `IDfSessionManager`

  - ### getSession

    IDfSession getSession(String docbase) throws DfServiceException
    Returns a previously established "managed" `IDfSession` object. Each time this method is called a corresponding `releaseSession` method must be called.

    Calling this method before releasing the session is not an error. It merely returns the `IDfSession` object reference again.

    Parameters:
      `docbase` - repository name
    Returns:
      an `IDfSession` object, either from the session pool or one that has not yet returned to the session pool.
    Throws:
      `DfServiceException`

  - ### releaseSession

    void releaseSession(IDfSession session) throws DfServiceException
    Releases the "managed" session back to the session pool. Must be called for each call of `getSession()`.
    Parameters:
      `session` - an `IDfSession` object that was obtained from the session manager.
    Throws:
      `DfServiceException` - Internal error

  - ### cleanupResources

    void cleanupResources() throws DfServiceException
    Provides to the service client an opportunity to release some service specific resources before the Java garbage collector will collect the object.
    Throws:
      `DfServiceException` - Internal error