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 AblePlatformAgent

All Superinterfaces:
  AbleBeanRemoteContainer, AbleEventListenerRemoteManager, AbleEventQueueRemoteManager, AbleRemoteAgent, AbleRemoteBean, AbleRemoteEventListener, AbleUserDefinedFunctionRemoteManager, java.rmi.Remote, java.io.Serializable

All Known Subinterfaces:
  JasKnnDistributedAgentIF, JasNaiveBayesDistributedAgentIF

All Known Implementing Classes:
  AblePlatformDefaultAgent, JasKnnDistributedAgent, JasNaiveBayesDistributedAgent

public interface AblePlatformAgent
extends AbleRemoteAgent

This class defines the base interface, or behavior, which all ABLE platform agents must support, especially if they are to be created and managed through Able's Agent Lifecycle Service.

Method Summary
`java.io.Serializable` | `getAboutDataBean()` Gets the data bean from which a console can obtain the information that is displayed on this agent's 'About' panel.
`int` | `getAgentAutonomyLevel()` Gets the agent's autonomy level.
`javax.agent.service.directory.AgentDescription` | `getAgentDescription()` Retrieves the agent's AgentDescription.
`java.util.Date` | `getAgentLastUpdate()` Gets the date and time when the agent's description was last updated with the Agent Directory Service.
`java.lang.String` | `getAgentStatus()` Gets the agent's current real time status (state).
`AbleMessageContainer` | `getAgentSummary()` Gets the agent's current summary text.
`java.lang.String` | `getAgentType()` Gets the agent's type description.
`java.lang.String` | `getAgentVendor()` Gets the agent's vendor.
`java.lang.String` | `getAgentVersion()` Gets the agent's version.
`java.util.Map` | `getCapabilities()` Gets a Map of this agent's AgentCapability objects.
`AbleAgentCapability` | `getCapability(java.lang.Object theCapabilityIdentifier)` Gets a specific AgentCapability of this agent.
`java.util.Map` | `getCapabilityAutonomyLevels()` Gets, based on the agent's current AutonomyLevel setting, the appropriate set of capability autonomy levels.
`java.util.Vector` | `getCapabilityOrder()` The order of an agent's AgentCapabilities may be important.
`java.util.Map[]` | `getCapabilityPresets()` Returns an array of four Maps.
`AbleMessageContainer` | `getCapabilitySummaryByAgentAutonomyLevel(int theAgentAutonomyLevel)` Gets an NLS text summary of the agent's capabilities based on the specified agent AutonomyLevel.
`AbleMessageContainer` | `getCapabilitySummaryByCapabilityAutonomyLevels(java.util.Map theCapabilityAutonomyLevels)` Gets an NLS text summary of the agent's capabilities based on the specified capability autonomy levels.
`java.lang.String` | `getComment()` Gets the agent's current comment.
`java.io.Serializable` | `getCustomizerDataBean()` Gets the data bean from which a console can obtain this agent's customizable data so that the data can be displayed on this agent's 'Customize' panel.
`java.lang.String[]` | `getCustomizerInfo()` Gets information about this agent's 'Customize' and 'About' GUIs.
`java.util.Hashtable` | `getJasAgentAttributes()` Gets the agent's JAS attributes.
`java.lang.String` | `getJasAgentName()` Gets the agent's globally unique ID (GUID or AgentName) in text form.
`javax.agent.AgentName` | `getPlatformAgentName()` Gets the agent's AgentName object.
`void` | `handleAnsweredRequest(AbleAgentSituationReport theAgentSituationReport, AbleSecureKey theSecureKey)` This method is called to answer a request that this agent had previously logged to the AgentLoggingService.
`void` | `initializeAgent(AbleSecureKey theSecureKey)` Initializes and configures the agent.
`void` | `initializeAgent(java.lang.Object theInitArg, AbleSecureKey theSecureKey)` Initializes and configures the agent using the specified parameter, which is typically an Object[], but may be anything that the agent is coded to expect.
`boolean` | `isAgentMovable()` Specifies whether the agent is movable from one agent pool to another.
`boolean` | `isAgentToAutoRegister()` Specifies whether the agent is to register with an RMI Registry at initialization time.
`boolean` | `isAgentToBindToRmi()` Specifies whether the agent is to bind to RMI Naming at initialization time.
`void` | `preInit()` Pre-initializes the agent immediately after creation, causing the agent to find the Service Root, extract references to various services, obtain a unique AgentName from the Agent Naming Service, and, when security is on, a VerifiableAgentName (VAN).
`void` | `preInit(java.lang.String theAgentNameUniqueID)` This version of preInit should be called when this agent is being restarted from persistence.
`void` | `quitAgent(AbleSecureKey theSecureKey)` Quits the agent, which typically quits all contained beans and agents.
`void` | `resetAgent(AbleSecureKey theSecureKey)` Resets the agent to its "initialized" state.
`void` | `resumeAgent(AbleSecureKey theSecureKey)` Resumes all asynchronous threads of control, typically including those in any contained beans and agents.
`void` | `setAgentAutonomyLevel(int theAgentAutonomyLevel, AbleSecureKey theSecureKey)` Sets the agent's autonomy level.
`void` | `setCapabilityAutonomyLevel(java.lang.Object theCapabilityIdentifier, int theAutonomyLevel, AbleSecureKey theSecureKey)` Sets the autonomy level of the specified AgentCapability.
`void` | `setCapabilityAutonomyLevels(java.util.Map theCapabilityAutonomyLevels, AbleSecureKey theSecureKey)` Updates the autonomy level of each of this agent's capabilities according to the autonomy levels in the specified Map.
`void` | `setCustomizerDataBean(java.io.Serializable theDataBean, AbleSecureKey theSecureKey)` Sets the data bean from which this agent can retrieve it's updated customizable data.
`void` | `suspendAgent(AbleSecureKey theSecureKey)` Temporarily suspends all asynchronous threads of control, typically including those in any contained beans and agents.

Methods inherited from interface com.ibm.able.AbleRemoteAgent
`addEventConnection, getAgentAddr, getAgentHost, getAgentName, getDataSource, isActiveDataSource, removeEventConnection, setActiveDataSource`

Methods inherited from interface com.ibm.able.AbleRemoteBean
`getName, getProperties, getProperty, getState, init, init, process, process, quitAll, removeProperty, reset, resumeAll, setProperties, setProperty, suspendAll`

Methods inherited from interface com.ibm.able.AbleRemoteEventListener
`handleAbleEvent`

Methods inherited from interface com.ibm.able.AbleEventListenerRemoteManager
`addAbleEventListener, notifyAbleEventListeners, removeAbleEventListener`

Methods inherited from interface com.ibm.able.AbleEventQueueRemoteManager
`flushAbleEventQueue, getAbleEventProcessingEnabled, getAbleEventQueueSize, getSleepTime, isTimerEventProcessingEnabled, quitEnabledEventProcessing, restartEnabledEventProcessing, resumeEnabledEventProcessing, setAbleEventProcessingEnabled, setSleepTime, setTimerEventProcessingEnabled, startEnabledEventProcessing, suspendEnabledEventProcessing`

Methods inherited from interface com.ibm.able.AbleBeanRemoteContainer
`addBean, containsBean, containsBean, getBean, getBeans, removeAllBeans, removeBean, removeBean`

Methods inherited from interface com.ibm.able.AbleUserDefinedFunctionRemoteManager
`addUserDefinedFunction, containsUserDefinedFunction, getUserDefinedFunction, getUserDefinedFunctions, invokeUserDefinedFunction, removeUserDefinedFunction, setUserDefinedFunctions`

Method Detail

### preInit

    public void preInit()
                 throws java.rmi.RemoteException

  Pre-initializes the agent immediately after creation, causing the agent to find the Service Root, extract references to various services, obtain a unique AgentName from the Agent Naming Service, and, when security is on, a VerifiableAgentName (VAN). Typically, in a secure environment, an agent needs a VerifiableAgentName before any other operations can be performed on it, including initialization. Once an agent has an AgentName (through any means), calls to this method are ignored.

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

### preInit

    public void preInit(java.lang.String theAgentNameUniqueID)
                 throws java.rmi.RemoteException

  This version of preInit should be called when this agent is being restarted from persistence. This method will first call preInit() which will use `theAgentNameUniqueID` when requesting the AgentName for this agent. This method will then also remove all previously persisted AgentDescriptions from the Directory Service since this agent is being restarted from persistence.

  Parameters:
    `theAgentNameUniqueID` - When an agent is being restarted from persistence, it will want to have an AgentName that matches the one it had in it's previous life. This way the recreated agent can still get at logs and it's agent description. So instead of having the NamingService create a new unique identifier for the AgentName of this recreated agent, this old uniqueID will be used.
  Throws:
    `java.rmi.RemoteException` - On any remote error.

### initializeAgent

    public void initializeAgent(AbleSecureKey theSecureKey)
                         throws java.rmi.RemoteException,
                                javax.agent.service.naming.NamingException

  Initializes and configures the agent. Typically, the agent will create an AgentDescription, fill the description with useful information such as Locators, and register the description with the Agent Directory Service.

  Parameters:
    `theSecureKey` - When security if off, this may be null as the parameter is ignored; when security is on the security key must be from an object with equal or greater authority in order for the operation to proceed.
  Throws:
    `java.rmi.RemoteException` - On any remote error.
    `javax.agent.service.naming.NamingException` - On any naming error.

### initializeAgent

    public void initializeAgent(java.lang.Object theInitArg,
                                AbleSecureKey theSecureKey)
                         throws java.rmi.RemoteException,
                                javax.agent.service.naming.NamingException

  Initializes and configures the agent using the specified parameter, which is typically an Object[], but may be anything that the agent is coded to expect. Typically, the agent will create an AgentDescription, fill the description with useful information such as Locators, and register the description with the Agent Directory Service.

  Parameters:
    `theInitArg` - Argument to the initialization method.
    `theSecureKey` - When security if off, this may be null as the parameter is ignored; when security is on the security key must be from an object with equal or greater authority in order for the operation to proceed.
  Throws:
    `java.rmi.RemoteException` - On any remote error.
    `javax.agent.service.naming.NamingException` - On any naming error.

### quitAgent

    public void quitAgent(AbleSecureKey theSecureKey)
                   throws java.rmi.RemoteException,
                          javax.agent.service.naming.NamingException

  Quits the agent, which typically quits all contained beans and agents.

  Parameters:
    `theSecureKey` - When security if off, this may be null as the parameter is ignored; when security is on the security key must be from an object with equal or greater authority in order for the operation to proceed.
  Throws:
    `java.rmi.RemoteException` - On any remote error.
    `javax.agent.service.naming.NamingException` - On any naming error.

### suspendAgent

    public void suspendAgent(AbleSecureKey theSecureKey)
                      throws java.rmi.RemoteException,
                             javax.agent.service.naming.NamingException

  Temporarily suspends all asynchronous threads of control, typically including those in any contained beans and agents.

  Parameters:
    `theSecureKey` - When security if off, this may be null as the parameter is ignored; when security is on the security key must be from an object with equal or greater authority in order for the operation to proceed.
  Throws:
    `java.rmi.RemoteException` - On any remote error.
    `javax.agent.service.naming.NamingException` - On any naming error.

### resumeAgent

    public void resumeAgent(AbleSecureKey theSecureKey)
                     throws java.rmi.RemoteException,
                            javax.agent.service.naming.NamingException

  Resumes all asynchronous threads of control, typically including those in any contained beans and agents.

  Parameters:
    `theSecureKey` - When security if off, this may be null as the parameter is ignored; when security is on the security key must be from an object with equal or greater authority in order for the operation to proceed.
  Throws:
    `java.rmi.RemoteException` - On any remote error.
    `javax.agent.service.naming.NamingException` - On any naming error.

### resetAgent

    public void resetAgent(AbleSecureKey theSecureKey)
                    throws java.rmi.RemoteException,
                           javax.agent.service.naming.NamingException

  Resets the agent to its "initialized" state.

  Parameters:
    `theSecureKey` - When security if off, this may be null as the parameter is ignored; when security is on the security key must be from an object with equal or greater authority in order for the operation to proceed.
  Throws:
    `java.rmi.RemoteException` - On any remote error.
    `javax.agent.service.naming.NamingException` - On any naming error.

### getAgentDescription

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

  Retrieves the agent's AgentDescription.

  Returns:
    The agent's AgentDescription object.
  Throws:
    `java.rmi.RemoteException` - On any remote error.

### getAgentAutonomyLevel

    public int getAgentAutonomyLevel()
                              throws java.rmi.RemoteException

  Gets the agent's autonomy level.

  Returns:
    An autonomy level as defined in `AblePlatform`.
  Throws:
    `java.rmi.RemoteException` - On any RMI error.

### setAgentAutonomyLevel

    public void setAgentAutonomyLevel(int theAgentAutonomyLevel,
                                      AbleSecureKey theSecureKey)
                               throws java.rmi.RemoteException,
                                      javax.agent.service.naming.NamingException

  Sets the agent's autonomy level.

  Parameters:
    `theAgentAutonomyLevel` - An autonomy level as defined in `AblePlatform`.
    `theSecureKey` - When security if off, this may be null as the parameter is ignored; when security is on the security key must be from an object with equal or greater authority in order for the operation to proceed.
  Throws:
    `java.rmi.RemoteException` - On any RMI error.
    `AbleException` - If the specified autonomy level isn't a level defined in `AblePlatform` or if the caller is not authorized.
    `javax.agent.service.naming.NamingException` - If the caller is not authenticated.

### getAgentLastUpdate

    public java.util.Date getAgentLastUpdate()
                                      throws java.rmi.RemoteException

  Gets the date and time when the agent's description was last updated with the Agent Directory Service.

  Returns:
    The date and time the agent's description was last updated.
  Throws:
    `java.rmi.RemoteException` - On any RMI error.

### getAgentStatus

    public java.lang.String getAgentStatus()
                                    throws java.rmi.RemoteException

  Gets the agent's current real time status (state).

  Returns:
    The agent's real time status.
  Throws:
    `java.rmi.RemoteException` - On any RMI error.

### getAgentSummary

    public AbleMessageContainer getAgentSummary()
                                         throws java.rmi.RemoteException

  Gets the agent's current summary text.

  Returns:
    The agent's current summary text.
  Throws:
    `java.rmi.RemoteException` - On any RMI error.

### getAgentType

    public java.lang.String getAgentType()
                                  throws java.rmi.RemoteException

  Gets the agent's type description.

  Returns:
    The agent's type description.
  Throws:
    `java.rmi.RemoteException` - On any RMI error.

### getAgentVendor

    public java.lang.String getAgentVendor()
                                    throws java.rmi.RemoteException

  Gets the agent's vendor.

  Returns:
    The agent's vendor.
  Throws:
    `java.rmi.RemoteException` - On any RMI error.

### getAgentVersion

    public java.lang.String getAgentVersion()
                                     throws java.rmi.RemoteException

  Gets the agent's version.

  Returns:
    The agent's version.
  Throws:
    `java.rmi.RemoteException` - On any RMI error.

### isAgentToAutoRegister

    public boolean isAgentToAutoRegister()
                                  throws java.rmi.RemoteException

  Specifies whether the agent is to register with an RMI Registry at initialization time.

  Returns:
    true if the agent is to register with an RMI Registry; false otherwise.
  Throws:
    `java.rmi.RemoteException` - On any RMI error.

### isAgentToBindToRmi

    public boolean isAgentToBindToRmi()
                               throws java.rmi.RemoteException

  Specifies whether the agent is to bind to RMI Naming at initialization time.

  Returns:
    true if the agent is to bind to RMI Naming; false otherwise.
  Throws:
    `java.rmi.RemoteException` - On any RMI error.

### isAgentMovable

    public boolean isAgentMovable()
                           throws java.rmi.RemoteException

  Specifies whether the agent is movable from one agent pool to another.

  Returns:
    true if the agent is movable; false otherwise.
  Throws:
    `java.rmi.RemoteException` - On any RMI error.

### getJasAgentAttributes

    public java.util.Hashtable getJasAgentAttributes()
                                              throws java.rmi.RemoteException

  Gets the agent's JAS attributes.

  Returns:
    A cloned collection of the agent's attributes, both those built-in by ABLE, and those added by the user.
  Throws:
    `java.rmi.RemoteException` - On any RMI error.

### getJasAgentName

    public java.lang.String getJasAgentName()
                                     throws java.rmi.RemoteException

  Gets the agent's globally unique ID (GUID or AgentName) in text form.

  Returns:
    A `toString()` version of the agent's unique AgentName.
  Throws:
    `java.rmi.RemoteException` - On any RMI error.

### getPlatformAgentName

    public javax.agent.AgentName getPlatformAgentName()
                                               throws java.rmi.RemoteException

  Gets the agent's AgentName object.

  Returns:
    The agent's AgentName object.
  Throws:
    `java.rmi.RemoteException` - On any RMI error.

### getComment

    public java.lang.String getComment()
                                throws java.rmi.RemoteException

  Gets the agent's current comment.

  Returns:
    The agent's comment.
  Throws:
    `java.rmi.RemoteException` - On any RMI error.
  Since:
    ABLE 2.3.0

### getCapability

    public AbleAgentCapability getCapability(java.lang.Object theCapabilityIdentifier)
                                      throws java.rmi.RemoteException

  Gets a specific AgentCapability of this agent.

  Parameters:
    `theCapabilityIdentifier` - The identifier of the AgentCapability to return.
  Returns:
    The AgentCapability requested, or null if a capability with the specified identifier does not exist.
  Throws:
    `java.rmi.RemoteException` - On all remote errors.
  Since:
    ABLE 2.2.0

### getCapabilities

    public java.util.Map getCapabilities()
                                  throws java.rmi.RemoteException

  Gets a Map of this agent's AgentCapability objects. Each entry of the Map is:

       Key:   ((Object)              aCapabilityIdentifier)
       Value: ((AbleAgentCapability) anAgentCapability    )

  Returns:
    A Map of this agent's capabilities. The Map may be empty if no AgentCapabilities exist for this agent.
  Throws:
    `java.rmi.RemoteException` - On all remote errors.
  Since:
    ABLE 2.2.0

### setCapabilityAutonomyLevel

    public void setCapabilityAutonomyLevel(java.lang.Object theCapabilityIdentifier,
                                           int theAutonomyLevel,
                                           AbleSecureKey theSecureKey)
                                    throws AbleException,
                                           java.rmi.RemoteException

  Sets the autonomy level of the specified AgentCapability.

  Parameters:
    `theCapabilityIdentifier` - The identifier of the AgentCapability whose autonomy level is to be set.
    `theAutonomyLevel` - The new autonomy level for the specified AgentCapability.
    `theSecureKey` - When security if off, this may be null as the parameter is ignored; when security is on the security key must be from an object with equal or greater authority in order for the operation to proceed.
  Throws:
    `AbleException` -

    If the caller cannot be verified by the VerifiableAgentNamingService.

    If authorization failed.

    If unable to update the capabilities of this agent.

    `java.rmi.RemoteException` - On all remote errors.
  Since:
    ABLE 2.2.0

### setCapabilityAutonomyLevels

    public void setCapabilityAutonomyLevels(java.util.Map theCapabilityAutonomyLevels,
                                            AbleSecureKey theSecureKey)
                                     throws AbleException,
                                            java.rmi.RemoteException

  Updates the autonomy level of each of this agent's capabilities according to the autonomy levels in the specified Map. Each entry of the Map is:

       Key:   ((Object)  anExistingCapabilityIdentifier)
       Value: ((Integer) aNewAutonomyLevel             )

  Parameters:
    `theCapabilityAutonomyLevels` - Map of capabilityID/autonomyLevel pairs. Each entry of the Map is:

                    Key:   ((Object)  anExistingCapabilityIdentifier)
                    Value: ((Integer) aNewAutonomyLevel             )

    `theSecureKey` - When security if off, this may be null as the parameter is ignored; when security is on the security key must be from an object with equal or greater authority in order for the operation to proceed.
  Throws:
    `AbleException` -

    If the caller cannot be verified by the VerifiableAgentNamingService.

    If authorization failed.

    If unable to update the capabilities of this agent.

    `java.rmi.RemoteException` - On all remote errors.
  Since:
    ABLE 2.2.0

### getCapabilityAutonomyLevels

    public java.util.Map getCapabilityAutonomyLevels()
                                              throws java.rmi.RemoteException

  Gets, based on the agent's current AutonomyLevel setting, the appropriate set of capability autonomy levels. The set represents either the HIGH, MEDIUM, LOW, or CUSTOM capability autonomy levels. Each entry of the returned Map is:

       Key:   ((Object)  aCapabilityIdentifier)
       Value: ((Integer) anAutonomyLevel      )

  Returns:
    A Map of this agent's autonomy levels for each of the agent's AgentCapabilities at the agent's current AutonomyLevel setting.
  Throws:
    `java.rmi.RemoteException` - On all remote errors.
  Since:
    ABLE 2.2.0

### getCapabilitySummaryByAgentAutonomyLevel

    public AbleMessageContainer getCapabilitySummaryByAgentAutonomyLevel(int theAgentAutonomyLevel)
                                                                  throws AbleException,
                                                                         java.rmi.RemoteException

  Gets an NLS text summary of the agent's capabilities based on the specified agent AutonomyLevel.

  Returns a MessageContainer that describes the overall agent autonomy summary if the agent's AutonomyLevel is set to `theAutonomyLevel`.

  Parameters:
    `theAgentAutonomyLevel` - The agent AutonomyLevel that the summary is to represent. Must be one of:
    - AblePlatform.HighAutonomy
    - AblePlatform.MediumAutonomy
    - AblePlatform.LowAutonomy
    - AblePlatform.CustomAutonomy
  Returns:
    The capability autonomy level summary string for the specified agent AutonomyLevel, or null if an unknown agent AutonomyLevel is specified. (No exception is thrown in this case.)
  Throws:
    `AbleException` - If unable to create the capability autonomy level summary.
    `java.rmi.RemoteException` - On all remote exceptions.
  Since:
    ABLE 2.2.0

### getCapabilitySummaryByCapabilityAutonomyLevels

    public AbleMessageContainer getCapabilitySummaryByCapabilityAutonomyLevels(java.util.Map theCapabilityAutonomyLevels)
                                                                        throws AbleException,
                                                                               java.rmi.RemoteException

  Gets an NLS text summary of the agent's capabilities based on the specified capability autonomy levels.

  Parameters:
    `theCapabilityAutonomyLevels` - The capability autonomy levels that the summary is to represent. Each entry of the Map is:

        			      Key:   ((Object)  aCapabilityIdentifier)
                    Value: ((Integer) anAutonomyLevel      )

    If null, then the summary is created using the current agent AutonomyLevel of this agent.
  Returns:
    A string that describes the overall agent autonomy summary if the agent's capability autonomy levels are set to `theCapabilityAutonomyLevels`.
  Throws:
    `AbleException` - If unable to create the autonomy levels summary.
    `java.rmi.RemoteException` - On all remote exceptions.
  Since:
    ABLE 2.2.0

### getCapabilityPresets

    public java.util.Map[] getCapabilityPresets()
                                         throws java.rmi.RemoteException

  Returns an array of four Maps. Each Map defines the preset autonomy level of each capability for this agent in this order: [0]High, [1]Medium, [2]Low and [3]Custom. The presets of the High, Medium, and Low autonomy levels are defined when the agent is created. The custom preset is the last custom capabilities autonomy level of the agent that did not match one of the three pre-defined presets.

  Returns:
    Map[] of all the AgentCapability presets.
  Throws:
    `java.rmi.RemoteException` - On all remote errors.
  Since:
    ABLE 2.2.0

### getCapabilityOrder

    public java.util.Vector getCapabilityOrder()
                                        throws java.rmi.RemoteException

  The order of an agent's AgentCapabilities may be important. If so, the agent may set and maintain a list that specifies the Identifiers of the agent's capabilities in the desired order. This method returns that list. If nothing is set, then the order is not important, and the returned list is empty (but not null).

  Returns:
    A list containing the AgentCapability order.
  Throws:
    `java.rmi.RemoteException` - On all remote exceptions.
  Since:
    ABLE 2.2.0

### handleAnsweredRequest

    public void handleAnsweredRequest(AbleAgentSituationReport theAgentSituationReport,
                                      AbleSecureKey theSecureKey)
                               throws AbleException,
                                      java.rmi.RemoteException

  This method is called to answer a request that this agent had previously logged to the AgentLoggingService.

  The process of handling an answered request is done in several steps:

  1. Validation. Before continuing with processing the specified request, the agent must determine if the request is still valid. If the request is outdated, and the agent no longer needs assistance, the process can be killed now. The method `validateRequest(AbleAgentSituationReport)` is called to determine if the request is still valid.
  2. Authentication. If platform security is on, `theSecureKey` is checked to make sure that the caller is trusted by the platform, and using a valid AbleSecureKey.
  3. Authorization. If security is on, the agent now knows that the caller is trusted by the platform. However, the agent must now decide if the caller has enough authority to answer the specified request. The method `authenticateAndAuthorizeCaller(AbleAgentSituationReport,AbleSecureKey)` is called to perform steps 2 and 3.
  4. Asynchronous Delegation. At this point, the agent has decided to process this answered request. However, processing the request can take a "long" time. Therefore, a seperate thread is started to do the processing, allowing this method to return. From now on, no failures can be returned to the caller; failures should be logged to the AgentLoggingService.

     Note that the Thread that is spawned to do the actual processing of the answer calls the method `processAnsweredRequest`.

  Parameters:
    `theAgentSituationReport` - The original AgentSituationReport containing an answer to an outstanding (prevously logged) request.
    `theSecureKey` - When security if off, this may be null as the parameter is ignored; when security is on the security key must be from an object with equal or greater authority in order for the operation to proceed.
  Throws:
    `AbleException` -

    If the caller is not verified by the Naming Service.

    If the request is no longer valid.

    If authorization failed.

    If unable to update the capabilities of this agent.

    `java.rmi.RemoteException` - On all remote errors.
  Since:
    ABLE 2.2.0

### getAboutDataBean

    public java.io.Serializable getAboutDataBean()
                                          throws AbleException,
                                                 java.rmi.RemoteException

  Gets the data bean from which a console can obtain the information that is displayed on this agent's 'About' panel.

  Returns:
    The agent's 'about' data bean.
  Throws:
    `AbleException` -

    On all errors getting the 'About' dataBean.

    `java.rmi.RemoteException` - On all remote errors.
  Since:
    ABLE 2.2.0

### setCustomizerDataBean

    public void setCustomizerDataBean(java.io.Serializable theDataBean,
                                      AbleSecureKey theSecureKey)
                               throws AbleException,
                                      java.rmi.RemoteException

  Sets the data bean from which this agent can retrieve it's updated customizable data. The console has displayed the data on the agent's 'Customize' panel, allowed a user to change the data, and then uses this method to send the data back to the agent.

  Parameters:
    `theDataBean` - Contains data from the agent's 'Customize' panel.
    `theSecureKey` - When security if off, this may be null as the parameter is ignored; when security is on the security key must be from an object with equal or greater authority in order for the operation to proceed.
  Throws:
    `AbleException` -

    If the caller is not verified by the Naming Service.

    On all errors setting the customizer data bean.

    `java.rmi.RemoteException` - On all remote errors.
  Since:
    ABLE 2.2.0

### getCustomizerDataBean

    public java.io.Serializable getCustomizerDataBean()
                                               throws AbleException,
                                                      java.rmi.RemoteException

  Gets the data bean from which a console can obtain this agent's customizable data so that the data can be displayed on this agent's 'Customize' panel.

  Returns:
    The agent's 'customize' data bean.
  Throws:
    `AbleException` -

    On all errors getting the 'Customize' data bean.

    `java.rmi.RemoteException` - On all remote errors.
  Since:
    ABLE 2.2.0

### getCustomizerInfo

    public java.lang.String[] getCustomizerInfo()
                                         throws AbleException,
                                                java.rmi.RemoteException

  Gets information about this agent's 'Customize' and 'About' GUIs.

  Returns:
    String[] with customizer info.

    String[0] is the fully qualified name of the customizer class.

    String[1] is the fully qualified name of the about class.

    Returns null if there is no customizer info for this agent; null is returned by the AblePlatformDefaultAgent implementation.

  Throws:
    `AbleException` - On all errors getting the customizer info.
    `java.rmi.RemoteException` - On all remote errors.
  Since:
    ABLE 2.2.0

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