jade.core.event
Class PlatformEvent

java.lang.Object
  extended by java.util.EventObject
      extended by jade.util.Event
          extended by jade.core.event.JADEEvent
              extended by jade.core.event.PlatformEvent
All Implemented Interfaces:
PlatformEvent, java.io.Serializable

public class PlatformEvent
extends JADEEvent
implements PlatformEvent

This class represents an event related to the platform life cycle and configuration.

Version:
$Date: 2006-02-21 08:56:26 +0100 (mar, 21 feb 2006) $ $Revision: 5860 $
Author:
Giovanni Rimassa - Universita` di Parma, David I. Bell, Dick Cowan - Hewlett-Packard
See Also:
Serialized Form

Field Summary
static int ADDED_CONTAINER
           
static int CHANGED_AGENT_PRINCIPAL
           
static int CHANGED_CONTAINER_PRINCIPAL
           
static int FROZEN_AGENT
           
static int MOVED_AGENT
           
static int REMOVED_CONTAINER
           
static int RESUMED_AGENT
           
static int SUSPENDED_AGENT
           
static int THAWED_AGENT
           
 
Fields inherited from class jade.util.Event
type
 
Fields inherited from class java.util.EventObject
source
 
Fields inherited from interface jade.wrapper.PlatformEvent
BORN_AGENT, DEAD_AGENT, KILLED_PLATFORM, RESUMED_PLATFORM, STARTED_PLATFORM, SUSPENDED_PLATFORM
 
Constructor Summary
PlatformEvent(AID aid, ContainerID eventSource, ContainerID to)
          This constructor is used to create a PlatformEvent when an agent moves from one container to another.
PlatformEvent(int id, AID aid, ContainerID eventSource)
          This constructor is used to create a PlatformEvent when an agent is born or dies.
PlatformEvent(int id, AID aid, ContainerID eventSource, boolean cr)
           
PlatformEvent(int id, AID aid, ContainerID from, ContainerID to)
           
PlatformEvent(int id, AID aid, ContainerID eventSource, java.lang.String oldOwnership, java.lang.String newOwnership)
           
PlatformEvent(int id, ContainerID eventSource)
          This constructor is used to create a PlatformEvent when a container is added, deleted, or requested to be killed.
 
Method Summary
 AID getAgent()
          Returns the AID of the agent that was born, died, or moved.
 java.lang.String getAgentGUID()
          Retrieve the global agent name (i.e. the local name and the platform ID).
 ContainerID getContainer()
          Returns the ContainerID of the event source.
 boolean getContainerRemoved()
           
 int getEventType()
          Returns the event type which will be one of ADDED_CONTAINER, REMOVED_CONTAINER, BORN_AGENT, DEAD_AGENT, SUSPENDED_AGENT, RESUMED_AGENT, or MOVED_AGENT.
 ContainerID getNewContainer()
          Returns the ContainerID of the container to which an agent moved when the event type is MOVED_AGENT.
 java.lang.String getNewOwnership()
           
 java.lang.String getOldOwnership()
           
 java.lang.String getPlatformName()
          Retrieve the platform name.
 boolean isAgentBD()
          Returns a boolean to indicate if the event type is either BORN_AGENT or DEAD_AGENT.
 boolean isContainerBD()
          Returns a boolean to indicate if the event type is either ADDED_CONTAINER or REMOVED_CONTAINER.
 void setSource(java.lang.Object s)
           
 java.lang.String toString()
          Returns a string representation of this event.
 
Methods inherited from class jade.core.event.JADEEvent
getPlace, getTime
 
Methods inherited from class jade.util.Event
addParameter, getParameter, getType, notifyProcessed, reset, resetProcessed, waitUntilProcessed, waitUntilProcessed
 
Methods inherited from class java.util.EventObject
getSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ADDED_CONTAINER

public static final int ADDED_CONTAINER
See Also:
Constant Field Values

REMOVED_CONTAINER

public static final int REMOVED_CONTAINER
See Also:
Constant Field Values

MOVED_AGENT

public static final int MOVED_AGENT
See Also:
Constant Field Values

SUSPENDED_AGENT

public static final int SUSPENDED_AGENT
See Also:
Constant Field Values

RESUMED_AGENT

public static final int RESUMED_AGENT
See Also:
Constant Field Values

CHANGED_AGENT_PRINCIPAL

public static final int CHANGED_AGENT_PRINCIPAL
See Also:
Constant Field Values

CHANGED_CONTAINER_PRINCIPAL

public static final int CHANGED_CONTAINER_PRINCIPAL
See Also:
Constant Field Values

FROZEN_AGENT

public static final int FROZEN_AGENT
See Also:
Constant Field Values

THAWED_AGENT

public static final int THAWED_AGENT
See Also:
Constant Field Values
Constructor Detail

PlatformEvent

public PlatformEvent(int id,
                     ContainerID eventSource)
This constructor is used to create a PlatformEvent when a container is added, deleted, or requested to be killed. If the id parameter is not either ADDED_CONTAINER or REMOVED_CONTAINER, an InternalError exception will be thrown.

The getContainer() method can be used to get the target container. The getAgent() and getNewContainer() methods will both return null.

Parameters:
id - The event ID must be either ADDED_CONTAINER or REMOVED_CONTAINER.
eventSource - The container id of the source of the event.

See Also:
getContainer()

PlatformEvent

public PlatformEvent(int id,
                     AID aid,
                     ContainerID eventSource)
This constructor is used to create a PlatformEvent when an agent is born or dies. If the id parameter is not either BORN_AGENT, DEAD_AGENT, SUSPENDED_AGENT or RESUMED_AGENT, an InternalError exception will be thrown.

The getContainer() method can be used to get the event source. The getNewContainer() method will return null for a BORN_AGENT, DEAD_AGENT, SUSPENDED_AGENT or RESUMED_AGENT event.

Parameters:
id - The event ID must be either BORN_AGENT, DEAD_AGENT, SUSPENDED_AGENT or RESUMED_AGENT.
The - AID of the new or dead agent.
eventSource - The container id of the source of the event. The container ID of the container where the agent was born or died should be passed, even though the main container is the object that will acutally generate the event.

See Also:
getContainer(), getAgent()

PlatformEvent

public PlatformEvent(int id,
                     AID aid,
                     ContainerID eventSource,
                     boolean cr)

PlatformEvent

public PlatformEvent(AID aid,
                     ContainerID eventSource,
                     ContainerID to)
This constructor is used to create a PlatformEvent when an agent moves from one container to another.

The event source is the container from which the agent departed. The getContainer() method can be used to get the event source. The getNewContainer() method will return the container ID of the container to which agent is moved.

Parameters:
The - AID of the moved agent.
eventSource - The container id from which the agent departed.
to - The container id of the container to which the agent moved.

See Also:
getContainer(), getNewContainer(), getAgent()

PlatformEvent

public PlatformEvent(int id,
                     AID aid,
                     ContainerID from,
                     ContainerID to)

PlatformEvent

public PlatformEvent(int id,
                     AID aid,
                     ContainerID eventSource,
                     java.lang.String oldOwnership,
                     java.lang.String newOwnership)
Method Detail

getContainer

public ContainerID getContainer()
Returns the ContainerID of the event source.

In the case of ADDED_CONTAINER or REMOVED_CONTAINER the event source will always be the main container since the addition or deletion of a container is essentially an action in the main container.

In the case of the a BORN_AGENT or DEAD_AGENT event, the event source will be the container where the agent was born or died.

In the case a MOVED_AGENT event, the event source is the container from which the agent departed. The container to which the agent moved can be retrieved using the getNewContainer() method.

Returns:
The ContainerID of the event source.
See Also:
getNewContainer()

getNewContainer

public ContainerID getNewContainer()
Returns the ContainerID of the container to which an agent moved when the event type is MOVED_AGENT. For all other event types, this method returns null.

Returns:
The ContainerID of the container to which an agent moved.
See Also:
getContainer()

getAgent

public AID getAgent()
Returns the AID of the agent that was born, died, or moved. If the event type is either ADDED_CONTAINER or REMOVED_CONTAINER, this method returns null since there is no agent involved.

Returns:
The AID of the agent that was born, died, or moved.
See Also:
getContainer()

getOldOwnership

public java.lang.String getOldOwnership()

getNewOwnership

public java.lang.String getNewOwnership()

getContainerRemoved

public boolean getContainerRemoved()

isContainerBD

public boolean isContainerBD()
Returns a boolean to indicate if the event type is either ADDED_CONTAINER or REMOVED_CONTAINER.

Returns:
True if the event type is either ADDED_CONTAINER or REMOVED_CONTAINER, otherwise, false is returned.

isAgentBD

public boolean isAgentBD()
Returns a boolean to indicate if the event type is either BORN_AGENT or DEAD_AGENT.

Returns:
True if the event type is either BORN_AGENT or DEAD_AGENT, otherwise, false is returned.

getEventType

public int getEventType()
Returns the event type which will be one of ADDED_CONTAINER, REMOVED_CONTAINER, BORN_AGENT, DEAD_AGENT, SUSPENDED_AGENT, RESUMED_AGENT, or MOVED_AGENT.

Specified by:
getEventType in interface PlatformEvent
Returns:
The event type.

setSource

public void setSource(java.lang.Object s)

getPlatformName

public java.lang.String getPlatformName()
Description copied from interface: PlatformEvent
Retrieve the platform name.

Specified by:
getPlatformName in interface PlatformEvent
Returns:
The name of the platform this event refers to.

getAgentGUID

public java.lang.String getAgentGUID()
Description copied from interface: PlatformEvent
Retrieve the global agent name (i.e. the local name and the platform ID).

Specified by:
getAgentGUID in interface PlatformEvent
Returns:
The global name of the agent this event refers to.

toString

public java.lang.String toString()
Returns a string representation of this event.

Overrides:
toString in class java.util.EventObject
Returns:
A sring representation of this event.