Overview | Package | Class | Use | Tree | Serialized | Deprecated | Index | Help
| ABLE 2.3.0 07/13/2005 14:21:00
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.ibm.able.platform
Interface RMIVerifiableDirectoryService

All Superinterfaces:
  java.rmi.Remote, RmiAblePlatformService, RmiAblePlatformServiceEventGenerator

All Known Implementing Classes:
  RMIVerifiableDirectorySystem

public interface RMIVerifiableDirectoryService
extends java.rmi.Remote, RmiAblePlatformService

Defines the behavior of a Verifiable Directory Service.

This interface includes the new secure register, deregister, and modify which take in an AbleSecureKey to secure the communication. It also include the original AgentDirectoryService register, deregister, and modify,search and createAgentDescription methods which are not secure.

A proxy, `RMIAgentDirectoryServiceProxy` is used by a platform entity to communicate with this Verifiable Directory System defined by this interface.

Because this is a Remote interface, the methods all must throw RemoteException.

See Also:
  `RMIVerifiableNamingSystem`

Method Summary
`javax.agent.service.directory.AgentDescription` | `createAgentDescription()` The original createAgentDescription method off of the AgentDirectoryService is still being exposed.
`void` | `deregister(javax.agent.service.directory.AgentDescription theAgentDescription)` The original deregister method off of the AgentDirectoryService is still being exposed.
`void` | `deregister(javax.agent.service.directory.AgentDescription theAgentDescription, AbleSecureKey key)` Deregister `theAgentDescription` from the VerifiableAgentDirectoryService.
`void` | `modify(javax.agent.service.directory.AgentDescription theAgentDescription)` The original modify method off of the AgentDirectoryService is still being exposed.
`void` | `modify(javax.agent.service.directory.AgentDescription theAgentDescription, AbleSecureKey key)` Modify `theAgentDescription` in the VerifiableAgentDirectoryService.
`void` | `register(javax.agent.service.directory.AgentDescription theAgentDescription)` The original register method off of the AgentDirectoryService is still being exposed.
`void` | `register(javax.agent.service.directory.AgentDescription theAgentDescription, AbleSecureKey key)` Register `theAgentDescription` to the VerifiableAgentDirectoryService.
`javax.agent.service.directory.AgentDescription[]` | `search(javax.agent.service.directory.AgentDescription theAgentDescription)` The original search method off of the AgentDirectoryService is still being exposed.
`javax.agent.service.directory.AgentDescription[]` | `search(javax.agent.service.directory.AgentDescription theAgentDescription, int maxResults)` The original search method off of the AgentDirectoryService is still being exposed.

Methods inherited from interface com.ibm.able.platform.RmiAblePlatformService
`getState, terminateService`

Methods inherited from interface com.ibm.able.platform.RmiAblePlatformServiceEventGenerator
`addAblePlatformServiceEventListener, getAblePlatformServiceEventListeners, removeAblePlatformServiceEventListener`

Method Detail

### register

    public void register(javax.agent.service.directory.AgentDescription theAgentDescription,
                         AbleSecureKey key)
                  throws java.rmi.RemoteException,
                         javax.agent.service.directory.AlreadyRegisteredException,
                         javax.agent.service.directory.DirectoryFailure

  Register `theAgentDescription` to the VerifiableAgentDirectoryService.

  If the platform is not secure when this method is called, `theAgentDescription` will be passed along to the non-secure register method.

  An agent is only allowed to register its own agent description.

  If successfully registered, all registered listeners will be notified of this newly registered agent description.

  Parameters:
    `theAgentDescription` - The agent description to be registered.

    `key` - The AbleSecureKey used to secure the communication.

  Throws:
    `java.rmi.RemoteException` - On all remote errors.

    `javax.agent.service.directory.AlreadyRegisteredException` - If `theAgentDescription` is already registered.

    `javax.agent.service.directory.DirectoryFailure` -

    If the platform is not running secure.

    If the agent description that is to be registered does not belong to the agent trying to register it.

### deregister

    public void deregister(javax.agent.service.directory.AgentDescription theAgentDescription,
                           AbleSecureKey key)
                    throws java.rmi.RemoteException,
                           javax.agent.service.directory.NotRegisteredException,
                           javax.agent.service.directory.DirectoryFailure

  Deregister `theAgentDescription` from the VerifiableAgentDirectoryService.

  If the platform is not secure when this method is called, `theAgentDescription` will be passed along to the non-secure deregister method.

  An agent is only allowed to deregister its own agent description.

  If successfully deregistered, all registered listeners will be notified of this deregistered agent description.

  Parameters:
    `theAgentDescription` - The agent description to be deregistered.

    `key` - The AbleSecureKey used to secure the communication.

  Throws:
    `java.rmi.RemoteException` - On all remote errors.

    `javax.agent.service.directory.NotRegisteredException` - If `theAgentDescription` is not currently registered.

    `javax.agent.service.directory.DirectoryFailure` -

    If the platform is not running secure.

    If the agent description that is to be deregistered does not belong to the agent trying to deregister it.

### modify

    public void modify(javax.agent.service.directory.AgentDescription theAgentDescription,
                       AbleSecureKey key)
                throws java.rmi.RemoteException,
                       javax.agent.service.directory.NotRegisteredException,
                       javax.agent.service.directory.DirectoryFailure

  Modify `theAgentDescription` in the VerifiableAgentDirectoryService.

  If the platform is not secure when this method is called, `theAgentDescription` will be passed along to the non-secure modify method.

  An agent is only allowed to modify its own agent description.

  If successfully modified, all registered listeners will be notified of this changed agent description.

  Parameters:
    `theAgentDescription` - The agent description to be modified.

    `key` - The AbleSecureKey used to secure the communication.

  Throws:
    `java.rmi.RemoteException` - On all remote errors.

    `javax.agent.service.directory.NotRegisteredException` - If `theAgentDescription` is not currently registered.

    `javax.agent.service.directory.DirectoryFailure` -

    If the platform is not running secure.

    If the agent description that is to be modified does not belong to the agent trying to modify it.

### register

    public void register(javax.agent.service.directory.AgentDescription theAgentDescription)
                  throws java.rmi.RemoteException,
                         javax.agent.service.directory.AlreadyRegisteredException,
                         javax.agent.service.directory.DirectoryFailure

  The original register method off of the AgentDirectoryService is still being exposed. It had to be included in this interface so persistence could be handled and since it is now a remote method.

  This will insecurely register `theAgentDescription` to the AgentDirectoryService.

  Parameters:
    `theAgentDescription` - The agent description to be registered.

  Throws:
    `java.rmi.RemoteException` - On any remote error.

    `javax.agent.service.directory.AlreadyRegisteredException` - If `theAgentDescription` is already registered.

    `javax.agent.service.directory.DirectoryFailure` - On any error registering the agent description.

### deregister

    public void deregister(javax.agent.service.directory.AgentDescription theAgentDescription)
                    throws java.rmi.RemoteException,
                           javax.agent.service.directory.NotRegisteredException,
                           javax.agent.service.directory.DirectoryFailure

  The original deregister method off of the AgentDirectoryService is still being exposed. It had to be included in this interface so persistence could be handled and since it is now a remote method.

  This will insecurely deregister `theAgentDescription` from the AgentDirectoryService.

  Only non-verifiable agent descriptions can be deregistered using this method.

  Parameters:
    `theAgentDescription` - The agent description to be deregistered.

  Throws:
    `java.rmi.RemoteException` - On any remote error.

    `javax.agent.service.directory.NotRegisteredException` - If `theAgentDescription` is not currently registered.

    `javax.agent.service.directory.DirectoryFailure` -

    On any error deregistering the agent description.

    If the agent description that is to be deregistered is a verifiable agent description.

### modify

    public void modify(javax.agent.service.directory.AgentDescription theAgentDescription)
                throws java.rmi.RemoteException,
                       javax.agent.service.directory.NotRegisteredException,
                       javax.agent.service.directory.DirectoryFailure

  The original modify method off of the AgentDirectoryService is still being exposed. It had to be included in this interface so persistence could be handled and since it is now a remote method.

  This will insecurely modify `theAgentDescription` in the AgentDirectoryService.

  Only non-verifiable agent descriptions can be modified using this method.

  Parameters:
    `theAgentDescription` - The agent description to be modified.

  Throws:
    `java.rmi.RemoteException` - On any remote error.

    `javax.agent.service.directory.NotRegisteredException` - If `theAgentDescription` is not currently registered.

    `javax.agent.service.directory.DirectoryFailure` -

    On any error modifying the agent description.

    If the agent description that is to be modified is a verifiable agent description.

### search

    public javax.agent.service.directory.AgentDescription[] search(javax.agent.service.directory.AgentDescription theAgentDescription)
                                                            throws java.rmi.RemoteException,
                                                                   javax.agent.service.directory.SearchException,
                                                                   javax.agent.service.directory.DirectoryFailure

  The original search method off of the AgentDirectoryService is still being exposed. It had to be included in this interface since it is now a remote method.

  Parameters:
    `theAgentDescription` - The AgentDescription to search for.

  Returns:
    All matching AgentDescriptions.

  Throws:
    `java.rmi.RemoteException` - On any remote error.

    `javax.agent.service.directory.SearchException` - On any error searching for `theAgentDescription`.

    `javax.agent.service.directory.DirectoryFailure` - On any error searching for `theAgentDescription`.

### search

    public javax.agent.service.directory.AgentDescription[] search(javax.agent.service.directory.AgentDescription theAgentDescription,
                                                                   int maxResults)
                                                            throws java.rmi.RemoteException,
                                                                   javax.agent.service.directory.SearchException,
                                                                   javax.agent.service.directory.DirectoryFailure

  The original search method off of the AgentDirectoryService is still being exposed. It had to be included in this interface since it is now a remote method.

  Parameters:
    `theAgentDescription` - The AgentDescription to search for.

    `maxResults` - The maximum number of matching AgentDescription to return.

  Returns:
    All matching AgentDescriptions.

  Throws:
    `java.rmi.RemoteException` - On any remote error.

    `javax.agent.service.directory.SearchException` - On any error searching for `theAgentDescription`.

    `javax.agent.service.directory.DirectoryFailure` - On any error searching for `theAgentDescription`.

### createAgentDescription

    public javax.agent.service.directory.AgentDescription createAgentDescription()
                                                                          throws java.rmi.RemoteException

  The original createAgentDescription method off of the AgentDirectoryService is still being exposed. It had to be included in this interface since it is now a remote method.

  Returns:
    An empty `AgentDescription` will be returned.

  Throws:
    `java.rmi.RemoteException` - On any remote error.

Overview | Package | Class | Use | Tree | Serialized | Deprecated | Index | Help
| ABLE 2.3.0 07/13/2005 14:21:00
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

(C) Copyright IBM Corporation 1999, 2005