kaos.core.csi.registration
Interface DirectoryRegistration

All Known Subinterfaces:
Registration
All Known Implementing Classes:
RegistrationImpl

public interface DirectoryRegistration

Defines the operations to register and deregister entities and entity hosting environments in the KAoS Directory Service and operations to modify the registration information.


Method Summary
 KAoSAgentDescription createKAoSAgentDescription(java.lang.String guid, java.lang.String nickname, java.util.Vector domainNames, java.lang.String transportName, JasBean agentInitInfo)
          Create an instance of the KAoSAgentDescription using the given parameters.
 void deregisterEntity(AgentDescription entityDescription)
          Deregister the entity described by the given AgentDescription from the KAoS Directory Service.
 void deregisterEntityHostingEnv(EntityHostEnvDescription eheDescription)
          Deregister the entity hosting environment described by the given EntityHostEnvDescription from the KAoS Directory Service.
 void modifyEntityProperties(java.lang.String entityGUID, java.util.List properties)
          Modify properties of the entity identified by the given entityGUID.
 void registerEntity(AgentDescription entityDescription, boolean guarded, boolean replace)
          Register the entity described by the given AgentDescription in the KAoS Directory Service.
 void registerEntityHostingEnv(EntityHostEnvDescription eheDescription, boolean guarded, boolean replace)
          Register the entity hosting environment described by the given EntityHostEnvDescription in the KAoS Directory Service.
 void registerEntityWithProperties(AgentDescription entityDescription, java.util.List properties, boolean guarded, boolean replace)
          Register the entity described by the given AgentDescription and the List of Properties in the KAoS Directory Service.
 

Method Detail

registerEntity

void registerEntity(AgentDescription entityDescription,
                    boolean guarded,
                    boolean replace)
                    throws DirectoryFailure,
                           AlreadyRegisteredException,
                           GuardInstantiationException
Register the entity described by the given AgentDescription in the KAoS Directory Service.

Parameters:
entityDescription - AgentDescription is the JAS AgentDescription, whose subclasses describe the various types of entities to be registered in KAoS: agents, guards, domains, containers. Those entities are subjects to policies or potential subjects to policies, or the entities are using KAoS for messaging.
guarded - boolean indicating the guarded/unguarded status for agents and containers. If the entity is to be guarded, the implementation of this method will instantiate a guard, or check if a guard already exists and proceed with the registration via the guard.
replace - boolean indicating whether to replace existing AgentDescription.
Throws:
DirectoryFailure - if the connection to the DS cannot be established.
AlreadyRegisteredException - if the registering entity has been already registered in the DS (if the replace = false and there is already registration for the specified AgentDescription).
GuardInstantiationException

registerEntityWithProperties

void registerEntityWithProperties(AgentDescription entityDescription,
                                  java.util.List properties,
                                  boolean guarded,
                                  boolean replace)
                                  throws DirectoryFailure,
                                         AlreadyRegisteredException,
                                         GuardInstantiationException
Register the entity described by the given AgentDescription and the List of Properties in the KAoS Directory Service.

Parameters:
entityDescription - AgentDescription is the JAS AgentDescription, whose subclasses describe the various types of entities to be registered in KAoS: agents, guards, domains, containers. Those entities are subjects to policies or potential subjects to policies, or the entities are using KAoS for messaging.
properties - List of Property objects further describing the registering entity.
guarded - boolean indicating the guarded/unguarded status for agents and containers. If the entity is to be guarded, the implementation of this method will instantiate a guard, or check if a guard already exists and proceed with the registration via the guard.
replace - boolean indicating whether to replace existing AgentDescription.
Throws:
DirectoryFailure - if the connection to the DS cannot be established.
AlreadyRegisteredException - if the registering entity has been already registered in the DS (if the replace = false and there is already registration for the specified AgentDescription).
GuardInstantiationException

registerEntityHostingEnv

void registerEntityHostingEnv(EntityHostEnvDescription eheDescription,
                              boolean guarded,
                              boolean replace)
                              throws DirectoryFailure,
                                     AlreadyRegisteredException,
                                     GuardInstantiationException
Register the entity hosting environment described by the given EntityHostEnvDescription in the KAoS Directory Service.

Parameters:
eheDescription - EntityHostEnvDescription describes the hosting environment for agents and guards.
guarded - boolean indicating the guarded/unguarded status for the environment. If the hosted environemnt is to be guarded, the implementation of this method will instantiate a guard, or check if a guard already exists and proceed with the registration via the guard.
replace - boolean indicating whether to replace existing EntityHostEnvDescription.
Throws:
DirectoryFailure - if the connection to the DS cannot be established.
AlreadyRegisteredException - if the registering hosting environment has been already registered in the DS (if the replace = false and there is already registration for the specified EntityHostEnvDescription).
GuardInstantiationException

modifyEntityProperties

void modifyEntityProperties(java.lang.String entityGUID,
                            java.util.List properties)
                            throws DirectoryFailure,
                                   NotRegisteredException,
                                   ModificationException
Modify properties of the entity identified by the given entityGUID.

Parameters:
entityGUID - String containing the entity GUID.
properties - List of Properties to be modified. Each Property contains the name, value, value description, modification type (add/remove/set, etc), modification result. Refer to the Property and ModificationResult interfaces for detailed description.
Throws:
DirectoryFailure - if the connection to the DS cannot be established.
NotRegisteredException - if the entity whose properties are to be modified has not been registered in the DS.
ModificationException - if one or more property update failed.

deregisterEntity

void deregisterEntity(AgentDescription entityDescription)
                      throws DirectoryFailure,
                             NotRegisteredException
Deregister the entity described by the given AgentDescription from the KAoS Directory Service.

Parameters:
entityDescription - AgentDescription of the entity to be deregistered.
Throws:
DirectoryFailure - if the connection to the DS cannot be established.
NotRegisteredException - if the entity to be deregistered has not been registered in the DS.

deregisterEntityHostingEnv

void deregisterEntityHostingEnv(EntityHostEnvDescription eheDescription)
                                throws DirectoryFailure,
                                       NotRegisteredException
Deregister the entity hosting environment described by the given EntityHostEnvDescription from the KAoS Directory Service.

Parameters:
entityDescription - EntityHostEnvDescription of the entity hosting environment to be deregistered.
Throws:
DirectoryFailure - if the connection to the DS cannot be established.
NotRegisteredException - if the entity to be deregistered has not been registered in the DS.

createKAoSAgentDescription

KAoSAgentDescription createKAoSAgentDescription(java.lang.String guid,
                                                java.lang.String nickname,
                                                java.util.Vector domainNames,
                                                java.lang.String transportName,
                                                JasBean agentInitInfo)
Create an instance of the KAoSAgentDescription using the given parameters.

Parameters:
guid - String containing the globally unique identifier for the agent, or null. If null is passed, then the Agent Naming Service will create the identifier.
nickname - String containing agent's nickname.
domainNames - Vector containing the names of the domains the agent will become a member of.
transportName - String specifying the name of the transport the agent wants to use, or null. If null is specified, then the Locators will be empty.