com.ibm.able.platform
Class AbleAgentSituationReport

java.lang.Object
  |
  +--com.ibm.able.platform.AbleAgentSituationReport
All Implemented Interfaces:
java.io.Serializable

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

Capture the entire context of a circumstance an agent it currently in, including any response information needed before an action is taken.

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

This is the object that is logged to the logging service by and agent or any part of the platform. It can represent a circumstance that an agent is having, and another agent or user at the console can answer this situation request and the agent will take this action. It could also represent the history of an agent. The agent could just send an AbleAgentSituationReport to the logging service every now and then with status and updates and info on what it has been doing.

See Also:
Serialized Form

Constructor Summary
AbleAgentSituationReport(AbleAgentSituationReport theAbleAgentSituationReport)
          Creates an AbleAgentSituationReport based off another AbleAgentSituationReport.
AbleAgentSituationReport(AbleEServerSituation theSituation, AbleMessageContainer theResponseTaken, AbleMessageContainer theResultsSummary, javax.agent.AgentName theAgentName, java.lang.String theAgentDescription, long theTimeCreated, java.lang.String theSystemName, java.lang.Integer theAutomationLevel)
          Creates an AbleAgentSituationReport.
AbleAgentSituationReport(java.io.Serializable theIdentifier, AbleEServerCapability theCapability, AbleEServerSituation theSituation, AbleMessageContainer theSuggestedResponse, AbleMessageContainer theResponseTaken, AbleMessageContainer theResultsSummary, boolean theState, javax.agent.AgentName theAgentName, java.lang.String theAgentDescription, long theTimeCreated, java.lang.String theSystemName, java.lang.Integer theAutomationLevel)
          Creates an AbleAgentSituationReport.
AbleAgentSituationReport(java.io.Serializable theIdentifier, AbleEServerCapability theCapability, AbleEServerSituation theSituation, AbleMessageContainer theSuggestedResponse, javax.agent.AgentName theAgentName, java.lang.String theAgentDescription, long theTimeCreated, java.lang.String theSystemName, java.lang.Integer theAutomationLevel)
          Creates an AbleAgentSituationReport.
 
Method Summary
static java.lang.String Copyright()
          Gets the copyright of this class.
 java.lang.String debugString()
          Returns a translated representation of this AbleAgentSituationReport.
 boolean equals(java.lang.Object o)
          Compares this AbleAgentSituationReport with another to determine if the reports are equal.
 java.lang.String getAgentDescription()
          Getter for agentDescription
 javax.agent.AgentName getAgentName()
          Method getAgentName
 java.lang.Integer getAutomationLevel()
          Method getAutomationLevel
 AbleEServerCapability getCapability()
          Method getCapability.
 java.io.Serializable getIdentifier()
          Method getIdentifier.
 boolean getProblemState()
          Method getProblemState.
 AbleMessageContainer getResponseTaken()
          Method getResponseTaken.
 AbleMessageContainer getResultsSummary()
          Method getResultsSummary.
 AbleEServerSituation getSituation()
          Method getSituation.
 AbleMessageContainer getSuggestedResponse()
          Method getSuggestedResponse.
 java.lang.String getSystemName()
          Method getSystemName
 long getTimeCreated()
          Method getTimeCreated
 int hashCode()
          Return the hashCode for an AbleAgentSituationReport
 void setProblemState(boolean theProblemState)
          Method setProblemState.
 void setResponseTaken(AbleMessageContainer theResponseTaken)
          Method setResponseTaken.
 void setResultsSummary(AbleMessageContainer theResultsSummary)
          Method setResultsSummary.
 java.lang.String toString()
          Returns a brief description of this AbleAgentSituationReport.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbleAgentSituationReport

public AbleAgentSituationReport(java.io.Serializable theIdentifier,
                                AbleEServerCapability theCapability,
                                AbleEServerSituation theSituation,
                                AbleMessageContainer theSuggestedResponse,
                                AbleMessageContainer theResponseTaken,
                                AbleMessageContainer theResultsSummary,
                                boolean theState,
                                javax.agent.AgentName theAgentName,
                                java.lang.String theAgentDescription,
                                long theTimeCreated,
                                java.lang.String theSystemName,
                                java.lang.Integer theAutomationLevel)
Creates an AbleAgentSituationReport.

An AbleAgentSituationReport is used for an agent to describe a circumstance that it is in.

Parameters:
theIdentifier - This may hold any Serializable Object and be used in any way the agent wants. It is intended to make this AbleAgentSituationReport Object unique from all other AbleAgentSituationReports of this agent.

theCapability - The agent capability that this AbleAgentSituationReport came from.

theSituation - The agent situation that this AbleAgentSituationReport came from.

theSuggestedResponse - The suggested response that should be taken when this AbleAgentSituationReport is a request.

theResponseTaken - The response that was taken.

theResultsSummary - The results summary of the response that was taken.

theState - The problem state of this AbleAgentSituationReport.

theAgentName - The AgentName of the agent that created this AbleAgentSituationReport.

theAgentDescription - A description of the agent that created this AbleAgentSituationReport.

theTimeCreated - The time that this AbleAgentSituationReport was created.

theSystemName - The system that the creator of this AbleAgentSituationReport is running on.

theAutomationLevel - The automation level of the agent at the time this AbleAgentSituationReport was created.

AbleAgentSituationReport

public AbleAgentSituationReport(java.io.Serializable theIdentifier,
                                AbleEServerCapability theCapability,
                                AbleEServerSituation theSituation,
                                AbleMessageContainer theSuggestedResponse,
                                javax.agent.AgentName theAgentName,
                                java.lang.String theAgentDescription,
                                long theTimeCreated,
                                java.lang.String theSystemName,
                                java.lang.Integer theAutomationLevel)
Creates an AbleAgentSituationReport.

An AbleAgentSituationReport is used for an agent to describe a circumstance that it is in. This constructor should be used when creating an AbleAgentSituaitonReport that needs a response.

Besides responseTaken, resultsSummary and problemState (which will be set to true), everything will be an argument to this constructor.

Parameters:
theIdentifier - This may hold any Serializable Object and be used in any way the agent wants. It is intended to make this AbleAgentSituationReport Object unique from all other AbleAgentSituationReports of this agent.

theCapability - The agent capability that this AbleAgentSituationReport came from.

theSituation - The agent situation that this AbleAgentSituationReport came from.

theAgentName - The AgentName of the agent that created this AbleAgentSituationReport.

theAgentDescription - A description of the agent that created this AbleAgentSituationReport.

theTimeCreated - The time that this AbleAgentSituationReport was created.

theSystemName - The system that the creator of this AbleAgentSituationReport is running on.

theAutomationLevel - The automation level of the agent at the time this AbleAgentSituationReport was created.

AbleAgentSituationReport

public AbleAgentSituationReport(AbleEServerSituation theSituation,
                                AbleMessageContainer theResponseTaken,
                                AbleMessageContainer theResultsSummary,
                                javax.agent.AgentName theAgentName,
                                java.lang.String theAgentDescription,
                                long theTimeCreated,
                                java.lang.String theSystemName,
                                java.lang.Integer theAutomationLevel)
Creates an AbleAgentSituationReport.

An AbleAgentSituationReport is used for an agent to describe a circumstance that it is in. This constructor should be used when creating an AbleAgentSituaitonReport that will be a history log. Besides identifier, capability, suggestedResponse and problemState (which will be set to false) everything will be set on the constructor.

Parameters:
theSituation - The agent situation that this AbleAgentSituationReport 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 AbleAgentSituationReport.

theAgentDescription - A description of the agent that created this AbleAgentSituationReport.

theTimeCreated - The time that this AbleAgentSituationReport was created.

theSystemName - The system that the creator of this AbleAgentSituationReport is running on.

theAutomationLevel - The automation level of the agent at the time this AbleAgentSituationReport was created.

AbleAgentSituationReport

public AbleAgentSituationReport(AbleAgentSituationReport theAbleAgentSituationReport)
Creates an AbleAgentSituationReport based off another AbleAgentSituationReport.

An AbleAgentSituationReport is used for an agent to describe a situation that it is in. This constructor should be used as a copy constructor.

Parameters:
theAbleAgentSituationReport - The AbleAgentSituationReport to create a new AbleAgentSituationReport based off of.
Method Detail

getIdentifier

public java.io.Serializable getIdentifier()
Method getIdentifier.

Returns:
The identifier of this AbleAgentSituationReport.

setResponseTaken

public void setResponseTaken(AbleMessageContainer theResponseTaken)
Method setResponseTaken.

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

getResponseTaken

public AbleMessageContainer getResponseTaken()
Method getResponseTaken.

Returns:
The response taken for this AbleAgentSituationReport.

setResultsSummary

public void setResultsSummary(AbleMessageContainer theResultsSummary)
Method setResultsSummary.


getResultsSummary

public AbleMessageContainer getResultsSummary()
Method getResultsSummary.

Returns:
The results summary for this AbleAgentSituationReport.

getSuggestedResponse

public AbleMessageContainer getSuggestedResponse()
Method getSuggestedResponse.

Returns:
The suggested response for this AbleAgentSituationReport.

getCapability

public AbleEServerCapability getCapability()
Method getCapability.

Returns:
The capability for this AbleAgentSituationReport.

getSituation

public AbleEServerSituation getSituation()
Method getSituation.

Returns:
The situation for this AbleAgentSituationReport.

setProblemState

public void setProblemState(boolean theProblemState)
Method setProblemState.


getProblemState

public boolean getProblemState()
Method getProblemState.

Returns:
The problem state for this AbleAgentSituationReport.

getAgentName

public javax.agent.AgentName getAgentName()
Method getAgentName

Returns:
The AgentName for this AbleAgentSituationReport.

getAgentDescription

public java.lang.String getAgentDescription()
Getter for agentDescription


getSystemName

public java.lang.String getSystemName()
Method getSystemName

Returns:
The SystemName for this AbleAgentSituationReport.

getTimeCreated

public long getTimeCreated()
Method getTimeCreated

Returns:
The TimeCreated for this AbleAgentSituationReport.

getAutomationLevel

public java.lang.Integer getAutomationLevel()
Method getAutomationLevel

Returns:
The automationLevel for this AbleAgentSituationReport.

debugString

public java.lang.String debugString()
Returns a translated representation of this AbleAgentSituationReport.

Returns:
The translated representation of this AbleAgentSituationReport

Copyright

public static java.lang.String Copyright()
Gets the copyright of this class.

Returns:
A string containing this class's copyright statement.

equals

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

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

Overrides:
equals in class java.lang.Object
Parameters:
o - An instance of an AbleAgentSituationReport that is to be compared to this AbleAgentSituationReport.

Returns:
true, if this AbleAgentSituationReport is equal to the specified AbleAgentSituationReport; false, otherwise.

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


hashCode

public int hashCode()
Return the hashCode for an AbleAgentSituationReport

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

Overrides:
hashCode in class java.lang.Object
Returns:
The sum of the hashCodes of all of the internal, private, immutable data members are equal.

toString

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

Overrides:
toString in class java.lang.Object
Returns:
A brief description of this AbleAgentSituationReport.