jade.wrapper.gateway
Class DynamicJadeGateway

java.lang.Object
  extended by jade.wrapper.gateway.DynamicJadeGateway

public class DynamicJadeGateway
extends java.lang.Object


Constructor Summary
DynamicJadeGateway()
           
 
Method Summary
 void addListener(GatewayListener l)
           
 void checkJADE()
          This method checks if both the container, and the agent, are up and running.
 AID createAID(java.lang.String localName)
           
 void execute(java.lang.Object command)
          execute a command.
 void execute(java.lang.Object command, long timeout)
          Execute a command specifying a timeout.
 java.lang.String getProfileProperty(java.lang.String key, java.lang.String defaultValue)
          Searches for the property with the specified key in the JADE Platform Profile.
 void init(java.lang.String agentClassName, java.lang.Object[] agentArgs, Properties jadeProfile)
          Initialize this gateway by passing the proper configuration parameters
 void init(java.lang.String agentClassName, Properties jadeProfile)
           
 boolean isGatewayActive()
          Return the state of JadeGateway
 void removeListener(GatewayListener l)
           
 void shutdown()
          Kill the JADE Container in case it is running.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DynamicJadeGateway

public DynamicJadeGateway()
Method Detail

getProfileProperty

public final java.lang.String getProfileProperty(java.lang.String key,
                                                 java.lang.String defaultValue)
Searches for the property with the specified key in the JADE Platform Profile. The method returns the default value argument if the property is not found.

Parameters:
key - - the property key.
defaultValue - - a default value
Returns:
the value with the specified key value
See Also:
Properties.getProperty(String, String)

execute

public final void execute(java.lang.Object command)
                   throws StaleProxyException,
                          ControllerException,
                          java.lang.InterruptedException
execute a command. This method first check if the executor Agent is alive (if not it creates container and agent), then it forwards the execution request to the agent, finally it blocks waiting until the command has been executed (i.e. the method releaseCommand is called by the executor agent)

Throws:
StaleProxyException - if the method was not able to execute the Command
ControllerException
java.lang.InterruptedException
See Also:
AgentController.putO2AObject(Object, boolean)

execute

public final void execute(java.lang.Object command,
                          long timeout)
                   throws StaleProxyException,
                          ControllerException,
                          java.lang.InterruptedException
Execute a command specifying a timeout. This method first check if the executor Agent is alive (if not it creates container and agent), then it forwards the execution request to the agent, finally it blocks waiting until the command has been executed. In case the command is a behaviour this method blocks until the behaviour has been completely executed.

Throws:
java.lang.InterruptedException - if the timeout expires or the Thread executing this method is interrupted.
StaleProxyException - if the method was not able to execute the Command
ControllerException
See Also:
AgentController.putO2AObject(Object, boolean)

checkJADE

public final void checkJADE()
                     throws StaleProxyException,
                            ControllerException
This method checks if both the container, and the agent, are up and running. If not, then the method is responsible for renewing myContainer. Normally programmers do not need to invoke this method explicitly.

Throws:
StaleProxyException
ControllerException

init

public final void init(java.lang.String agentClassName,
                       java.lang.Object[] agentArgs,
                       Properties jadeProfile)
Initialize this gateway by passing the proper configuration parameters

Parameters:
agentClassName - is the fully-qualified class name of the JadeGateway internal agent. If null is passed the default class will be used.
agentArgs - is the list of agent arguments
jadeProfile - the properties that contain all parameters for running JADE (see jade.core.Profile). Typically these properties will have to be read from a JADE configuration file. If jadeProfile is null, then a JADE container attaching to a main on the local host is launched

init

public final void init(java.lang.String agentClassName,
                       Properties jadeProfile)

shutdown

public final void shutdown()
Kill the JADE Container in case it is running.


isGatewayActive

public final boolean isGatewayActive()
Return the state of JadeGateway

Returns:
true if the container and the gateway agent are active, false otherwise

createAID

public AID createAID(java.lang.String localName)

addListener

public void addListener(GatewayListener l)

removeListener

public void removeListener(GatewayListener l)


These are the official JADE API. For these API backward compatibility is guaranteed accross JADE versions