### *** This interface provides Binary Compatibility only, not Source Compatibility ***

Package com.sas.services.discovery

# Interface DiscoveryAdminInterface

All Superinterfaces:
  `Remote`

All Known Subinterfaces:
  `DiscoveryServiceInterface`, `LocalDiscoveryServiceInterface`, `RemoteDiscoveryServiceInterface`

All Known Implementing Classes:
  `ActivatableDiscoveryService`, `DiscoveryService`, `RemoteDiscoveryServiceProxy`

@SASScope("ALL") @BinaryCompatibilityOnly public interface DiscoveryAdminInterface extends Remote
Interfaces used to manage the addition/removal of services to/from a discovery service and discovery delegates used to locate services.

Discovery delegates must implement `com.sas.services.discovery.FindServiceInterface`.

Since:
  1.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addDiscoveryDelegate(FindServiceInterface findServiceIf)`
  Adds a discovery delegate that will be used to lookup services.
  `void`
  `addService(RemoteServiceInterface service)`
  Adds a service.
  `Iterator<FindServiceInterface>`
  `getDiscoverers()`
  Gets an iterator of the discovery delegates that are used to locate services.
  `Iterator<RemoteServiceInterface>`
  `getLocalServices()`
  Gets an iterator of locally available services.
  `Iterator<RemoteServiceInterface>`
  `getRemoteServices()`
  Gets an iterator of remotely available services.
  `void`
  `removeDiscoveryDelegate(FindServiceInterface findServiceIf)`
  Removes a discovery delegate formerly used to locate services.
  `void`
  `removeService(RemoteServiceInterface service)`
  Removes a services.

- ## Method Details

  - ### addDiscoveryDelegate

    void addDiscoveryDelegate(FindServiceInterface findServiceIf) throws RemoteException
    Adds a discovery delegate that will be used to lookup services.
    Parameters:
      `findServiceIf` - Discovery delegate to be used to lookup services.
    Throws:
      `RemoteException` - if a network anomaly is encountered.

  - ### removeDiscoveryDelegate

    void removeDiscoveryDelegate(FindServiceInterface findServiceIf) throws RemoteException
    Removes a discovery delegate formerly used to locate services.
    Parameters:
      `findServiceIf` - Discovery delegate to remove.
    Throws:
      `RemoteException` - if a network anomaly is encountered.

  - ### getDiscoverers

    Iterator<FindServiceInterface> getDiscoverers() throws RemoteException
    Gets an iterator of the discovery delegates that are used to locate services.
    Returns:
      Iterator of discovery delegates.
    Throws:
      `RemoteException` - if a network anomaly is encountered.

  - ### addService

    void addService(RemoteServiceInterface service) throws ServiceException, RemoteException
    Adds a service.
    Parameters:
      `service` - Service that can be discovered via a service template comprised of its service types and optionally service attributes.
    Throws:
      `ServiceException` - if unable to cache the service.
      `RemoteException` - if a network anomaly is encountered.

  - ### removeService

    void removeService(RemoteServiceInterface service) throws RemoteException
    Removes a services.
    Parameters:
      `service` - Service that is to be removed.
    Throws:
      `RemoteException` - if a network anomaly is encountered.

  - ### getLocalServices

    Iterator<RemoteServiceInterface> getLocalServices() throws RemoteException
    Gets an iterator of locally available services.
    Returns:
      Iterator of locally available services that implement `RemoteServiceInterface`.
    Throws:
      `RemoteException` - if a network anomaly is encountered.

  - ### getRemoteServices

    Iterator<RemoteServiceInterface> getRemoteServices() throws RemoteException
    Gets an iterator of remotely available services.
    Returns:
      Iterator of remotely available services that implement `RemoteServiceInterface`.
    Throws:
      `RemoteException` - if a network anomaly is encountered.