ABLE 2.3.0 07/13/2005 14:21:00

com.ibm.able.platform
Class AbleAgentSituationReport

java.lang.Object
  extended bycom.ibm.able.platform.AbleAgentSituationReport
All Implemented Interfaces:
java.io.Serializable

public final class AbleAgentSituationReport
extends java.lang.Object
implements java.io.Serializable

Captures the entire context of an AgentSituation in which an agent currently finds itself, including any response information needed by the agent before the agent takes any action on the situation.

The purpose of this class is to allow circumstances to be captured for later machine learning and labeling of training instances by an administrator.

AgentSituationReport objects are logged to the AgentLoggingService by any agent or any part of the platform. The AgentSituationReport represents an AgentSituation that an agent finds itself in, and another agent, or a user at a console, can respond to this situation request, causing the agent to take the specified action.

The AgentSituationReport can also represent a history entry of an agent. Agents can send an AgentSituationReport to the AgentLoggingService every now and then with status, updates, and info on what it has been doing.

Since:
ABLE n.n.n
See Also:
Serialized Form

Constructor Summary
AbleAgentSituationReport(AbleAgentSituation theAgentSituation, AbleMessageContainer theResponseTaken, AbleMessageContainer theResultsSummary, javax.agent.AgentName theAgentName, java.lang.String theAgentDescription, long theTimeCreated, java.lang.String theSystemName, java.lang.Integer theAutomationLevel)
          Creates an AgentSituationReport that is a history log; that is, no response is required and the problem state is set to false.
AbleAgentSituationReport(AbleAgentSituationReport theAgentSituationReport)
          Creates a new AgentSituationReport from another AgentSituationReport.
AbleAgentSituationReport(java.io.Serializable theIdentifier, AbleAgentCapability theAgentCapability, AbleAgentSituation theAgentSituation, AbleMessageContainer theSuggestedResponse, AbleMessageContainer theResponseTaken, AbleMessageContainer theResultsSummary, boolean theProblemState, javax.agent.AgentName theAgentName, java.lang.String theAgentDescription, long theTimeCreated, java.lang.String theSystemName, java.lang.Integer theAutomationLevel)
          Creates an AgentSituationReport that may be either a simple history log or a problem that requires a response, depending on the specified parameters.
AbleAgentSituationReport(java.io.Serializable theIdentifier, AbleAgentCapability theAgentCapability, AbleAgentSituation theAgentSituation, AbleMessageContainer theSuggestedResponse, javax.agent.AgentName theAgentName, java.lang.String theAgentDescription, long theTimeCreated, java.lang.String theSystemName, java.lang.Integer theAutomationLevel)
          Creates an AgentSituationReport that requires a response; the problem state is set to true.
 
Method Summary
 java.lang.String debugString()
          Returns a readable representation of this AgentSituationReport.
 boolean equals(java.lang.Object theObject)
          Compares this AgentSituationReport with another to determine if the reports are equal.
 java.lang.String getAgentDescription()
          Gets a description of the agent that originated this AgentSituationReport.
 javax.agent.AgentName getAgentName()
          Gets the AgentName of the originator of this AgentSituationReport.
 java.lang.Integer getAutomationLevel()
          Gets the automation level of the agent that originated this AgentSituationReport.
 AbleAgentCapability getCapability()
          Gets the AgentCapability of this AgentSituationReport.
 java.io.Serializable getIdentifier()
          Gets the identifier of this AgentSituationReport.
 boolean getProblemState()
          Gets the problem state of this AgentSituationReport.
 AbleMessageContainer getResponseTaken()
          Gets the response that was taken.
 AbleMessageContainer getResultsSummary()
          Gets the results summary for this AgentSituationReport.
 AbleAgentSituation getSituation()
          Gets the AgentSituation of this AgentSituationReport.
 AbleMessageContainer getSuggestedResponse()
          Gets the suggested response of this AgentSituationReport.
 java.lang.String getSystemName()
          Gets the name of the system that the originator of this AgentSituationReport is (or was) running on.
 long getTimeCreated()
          Gets the time that this AgentSituationReport was created and sent to the AgentLoggingService.
 java.io.Serializable getUserData()
          Gets the user data that was set in this AgentSituationReport.
 int hashCode()
          Returns the hashCode of this AgentSituationReport.
 void setProblemState(boolean theProblemState)
          Sets the problem state for this AgentSituationReport.
 void setResponseTaken(AbleMessageContainer theResponseTaken)
          Sets the response that was taken.
 void setResultsSummary(AbleMessageContainer theResultsSummary)
          Sets the results summary for this AgentSituationReport.
 void setUserData(java.io.Serializable theUserData)
          Sets user data in this AgentSituationReport.
 java.lang.String toString()
          Returns a brief description of this AgentSituationReport.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbleAgentSituationReport

public AbleAgentSituationReport(java.io.Serializable theIdentifier,
                                AbleAgentCapability theAgentCapability,
                                AbleAgentSituation theAgentSituation,
                                AbleMessageContainer theSuggestedResponse,
                                AbleMessageContainer theResponseTaken,
                                AbleMessageContainer theResultsSummary,
                                boolean theProblemState,
                                javax.agent.AgentName theAgentName,
                                java.lang.String theAgentDescription,
                                long theTimeCreated,
                                java.lang.String theSystemName,
                                java.lang.Integer theAutomationLevel)
Creates an AgentSituationReport that may be either a simple history log or a problem that requires a response, depending on the specified parameters.

Parameters:
theIdentifier - This may hold any Serializable Object and be used in any way the agent wants. It is intended to make this AgentSituationReport Object unique from all other AgentSituationReports of this agent.
theAgentCapability - The AgentCapability that this AgentSituationReport came from.
theAgentSituation - The AgentSituation that this AgentSituationReport came from.
theSuggestedResponse - The suggested response that should be taken when this AgentSituationReport is a request.
theResponseTaken - The response that was taken.
theResultsSummary - The results summary of the response that was taken.
theProblemState - The problem state of this AgentSituationReport:
theAgentName - The AgentName of the agent that created this AgentSituationReport.
theAgentDescription - A description of the agent that created this AgentSituationReport.
theTimeCreated - The time that this AgentSituationReport was created.
theSystemName - The system that the creator of this AgentSituationReport is running on.
theAutomationLevel - The automation level of the agent at the time this AgentSituationReport was created.

AbleAgentSituationReport

public AbleAgentSituationReport(java.io.Serializable theIdentifier,
                                AbleAgentCapability theAgentCapability,
                                AbleAgentSituation theAgentSituation,
                                AbleMessageContainer theSuggestedResponse,
                                javax.agent.AgentName theAgentName,
                                java.lang.String theAgentDescription,
                                long theTimeCreated,
                                java.lang.String theSystemName,
                                java.lang.Integer theAutomationLevel)
Creates an AgentSituationReport that requires a response; the problem state is set to true.

Parameters:
theIdentifier - This may hold any Serializable Object and be used in any way the agent wants. It is intended to make this AgentSituationReport Object unique from all other AgentSituationReports of this agent.
theAgentCapability - The AgentCapability that this AgentSituationReport came from.
theAgentSituation - The AgentSituation that this AgentSituationReport came from.
theSuggestedResponse - The suggested response that should be taken when this AgentSituationReport is a request.
theAgentName - The AgentName of the agent that created this AgentSituationReport.
theAgentDescription - A description of the agent that created this AgentSituationReport.
theTimeCreated - The time that this AgentSituationReport was created.
theSystemName - The system that the creator of this AgentSituationReport is running on.
theAutomationLevel - The automation level of the agent at the time this AgentSituationReport was created.

AbleAgentSituationReport

public AbleAgentSituationReport(AbleAgentSituation theAgentSituation,
                                AbleMessageContainer theResponseTaken,
                                AbleMessageContainer theResultsSummary,
                                javax.agent.AgentName theAgentName,
                                java.lang.String theAgentDescription,
                                long theTimeCreated,
                                java.lang.String theSystemName,
                                java.lang.Integer theAutomationLevel)
Creates an AgentSituationReport that is a history log; that is, no response is required and the problem state is set to false.

Parameters:
theAgentSituation - The AgentSituation that this AgentSituationReport came from.
theResponseTaken - The response that was taken.
theResultsSummary - The results summary of the response that was taken.
theAgentName - The AgentName of the agent that created this AgentSituationReport.
theAgentDescription - A description of the agent that created this AgentSituationReport.
theTimeCreated - The time that this AgentSituationReport was created.
theSystemName - The system that the creator of this AgentSituationReport is running on.
theAutomationLevel - The automation level of the agent at the time this AgentSituationReport was created.

AbleAgentSituationReport

public AbleAgentSituationReport(AbleAgentSituationReport theAgentSituationReport)
Creates a new AgentSituationReport from another AgentSituationReport.

Parameters:
theAgentSituationReport - The AgentSituationReport upon which the new report is based.
Method Detail

getIdentifier

public java.io.Serializable getIdentifier()
Gets the identifier of this AgentSituationReport. The identifier can be specified in some constructors of this object and can be used by creating agents to help identify one AgentSituationReport from another.

Returns:
The identifier of this AgentSituationReport. The value may be null if no identifier was specified on this object's constructor.

getCapability

public AbleAgentCapability getCapability()
Gets the AgentCapability of this AgentSituationReport.

Returns:
The agent capability for this AgentSituationReport. The value may be null if no value was specified on this object's constructor.

getSituation

public AbleAgentSituation getSituation()
Gets the AgentSituation of this AgentSituationReport.

Returns:
The situation for this AgentSituationReport. The value may be null if no value was specified on this object's constructor.

getSuggestedResponse

public AbleMessageContainer getSuggestedResponse()
Gets the suggested response of this AgentSituationReport. The returned value has meaning only if this AgentSituationReport is a request (rather than a history log).

Returns:
The suggested response for this AgentSituationReport. The value may be null if no value was specified on this object's constructor.

setResponseTaken

public void setResponseTaken(AbleMessageContainer theResponseTaken)
Sets the response that was taken.

Parameters:
theResponseTaken - The response that was taken for this AgentSituationReport.

getResponseTaken

public AbleMessageContainer getResponseTaken()
Gets the response that was taken. The returned value has meaning only if this AgentSituationReport is a request that has been answered.

Returns:
If this AgentSituationReport is a request that has been answered, the response that was taken for this AgentSituationReport; otherwise, null may be returned.

setResultsSummary

public void setResultsSummary(AbleMessageContainer theResultsSummary)
Sets the results summary for this AgentSituationReport.

Parameters:
theResultsSummary - The results summary for this AgentSituationReport.

getResultsSummary

public AbleMessageContainer getResultsSummary()
Gets the results summary for this AgentSituationReport.

Returns:
The results summary for this AgentSituationReport.

setProblemState

public void setProblemState(boolean theProblemState)
Sets the problem state for this AgentSituationReport.

Parameters:
theProblemState - The problem state this AgentSituationReport is to be set to. true indicates that this AgentSituationReport is a problem request that needs attention; false indicates that this AgentSituationReport is a history log.

getProblemState

public boolean getProblemState()
Gets the problem state of this AgentSituationReport.

Returns:
The problem state for this AgentSituationReport. true indicates that this AgentSituationReport is a problem request that needs (or may have needed) attention; false indicates that this AgentSituationReport is a history log.

getAgentName

public javax.agent.AgentName getAgentName()
Gets the AgentName of the originator of this AgentSituationReport.

Returns:
The AgentName for this AgentSituationReport.

getAgentDescription

public java.lang.String getAgentDescription()
Gets a description of the agent that originated this AgentSituationReport.

Returns:
The AgentDescription for this AgentSituationReport.

getTimeCreated

public long getTimeCreated()
Gets the time that this AgentSituationReport was created and sent to the AgentLoggingService. The value is specified on this object's constructor and is immutable.

Returns:
The TimeCreated for this AgentSituationReport.

getSystemName

public java.lang.String getSystemName()
Gets the name of the system that the originator of this AgentSituationReport is (or was) running on.

Returns:
The system name on which the originator of this AgentSituationReport is running.

getAutomationLevel

public java.lang.Integer getAutomationLevel()
Gets the automation level of the agent that originated this AgentSituationReport.

Returns:
The automationLevel for this AgentSituationReport.

setUserData

public void setUserData(java.io.Serializable theUserData)
Sets user data in this AgentSituationReport.

Parameters:
theUserData - Any data that the user wants to save in this AgentSituationReport.
Since:
ABLE 2.3.0

getUserData

public java.io.Serializable getUserData()
Gets the user data that was set in this AgentSituationReport.

Returns:
the user data that was set in this AgentSituationReport, or null if no user data has been set.
Since:
ABLE 2.3.0

debugString

public java.lang.String debugString()
Returns a readable representation of this AgentSituationReport.

Returns:
The representation of this AgentSituationReport.

equals

public boolean equals(java.lang.Object theObject)
Compares this AgentSituationReport with another to determine if the reports are equal.

AgentSituationReports are equal if their internal, private, immutable handles are equal.

Parameters:
theObject - An instance of an AgentSituationReport that is to be compared to this AgentSituationReport.
Returns:
true, if this AgentSituationReport is equal to the specified AgentSituationReport; false, otherwise.

AgentSituationReports are equal if their internal, private, immutable handles are equal.


hashCode

public int hashCode()
Returns the hashCode of this AgentSituationReport.

The hashCode of an AgentSituationReport is the sum of the hashCodes of all of the the internal, private, immutable handles of this Object.

Returns:
The sum of the hashCodes of all of the internal, private, immutable data members.

toString

public java.lang.String toString()
Returns a brief description of this AgentSituationReport.

Returns:
A brief description of this AgentSituationReport.

ABLE 2.3.0 07/13/2005 14:21:00

(C) Copyright IBM Corporation 1999, 2005