AMETAS.agentdev
Class AMETASAgent

java.lang.Object
  extended byAMETAS.place.AMETASPlaceUser
      extended byAMETAS.agentdev.AMETASAgent
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
AMETASNotifiableAgent

public abstract class AMETASAgent
extends AMETASPlaceUser

Abstrakte Basisklasse aller Agenten. Agenten müssen von dieser Klasse abgeleitet werden. AMETAS-Agenten haben die gleichen Eigenschaften wie die anderen PlaceUser auch. Hinzu kommt aber noch die Mobilität. Nur Agenten dürfen migrieren.

See Also:
AMETASPlaceUser, Serialized Form

Field Summary
static int DONT_RELAY
          Konstante, die ausdrückt, dass der Agent nicht zu einer Ersatzstelle geschickt werden möchte.
protected  boolean m_bFirstStart
          Gibt an, ob der Agent gerade zum ersten Mal gestartet wurde.
protected  AMETASAgentDriverIf m_Driver
          Die Schnittstelle zum Treiber.
protected  java.lang.String m_sHomePlace
          Der Name der Heimatstelle.
 
Fields inherited from class AMETAS.place.AMETASPlaceUser
m_drvPU
 
Constructor Summary
AMETASAgent()
          Standardkonstruktor, der bereitgestellt werden muss für Class::newInstance().
AMETASAgent(AMETASPlaceUserID idNew)
          Konstruktor, mit dem eine spezielle ID verliehen wird.
AMETASAgent(java.lang.String sName)
          Konstruktor, mit dem eine spezielle ID erzeugt wird.
AMETASAgent(java.lang.String sName, java.lang.String sGroup)
          Konstruktor, mit dem eine spezielle ID erzeugt wird.
 
Method Summary
 boolean firstStart()
          Liefert den Wert von m_bFirstStart zurück.
 AMETASAgentDriverIf getDriver()
          Liefert den Treiber dieses Agenten.
 java.lang.String getHomePlace()
          Liefert die Heimatstelle des Agenten.
 void setDriverIf(AMETASAgentDriverIf drv)
          Setzt die Treiberschnittstelle dieses Agenten.
 void setFirstStart(boolean bFirst)
          Setzt die Variable m_bFirstStart.
 void setHomePlace(java.lang.String sPlace)
          Setzt die Heimatstelle des Agenten.
 java.lang.String toString()
          Gibt eine String-Repräsentation des Agenten zurück.
 
Methods inherited from class AMETAS.place.AMETASPlaceUser
checkPermission, dispatchMessage, getID, getName, getPUDriverIf, getPULoader, getSignableData, handleApplicationMessage, handleCustomMessage, handleMessageMessage, handlePlaceMessage, handleSecurityMessage, handleServiceMessage, handleTradingMessage, invoke, output, recoverError, specializeTypes, submitMessage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_Driver

protected transient AMETASAgentDriverIf m_Driver
Die Schnittstelle zum Treiber. Der Treiber enthält alle Methoden, die der Agent benötigt. Er ist nicht privat, da die get- und set-Methoden sowieso öffentlich sein müssen (Paketgrenzen!). Um Schwierigkeiten bei der Migration zu vermeiden (etwa vergessenes transient), sollte man von seinem Agenten aus dieses Feld verwenden und keine Kopie im Agenten anlegen.


DONT_RELAY

public static final int DONT_RELAY
Konstante, die ausdrückt, dass der Agent nicht zu einer Ersatzstelle geschickt werden möchte.

See Also:
Constant Field Values

m_sHomePlace

protected java.lang.String m_sHomePlace
Der Name der Heimatstelle. Die Heimatstelle ist die Stelle, auf der der Agent instantiiert wurde. m_sHomePlace wird nach der Instantiierung des Agenten automatisch gesetzt.


m_bFirstStart

protected boolean m_bFirstStart
Gibt an, ob der Agent gerade zum ersten Mal gestartet wurde. Wenn m_bFirstStart == true, dann ist der Agent zum ersten Mal nach seiner Instantiierung gestartet worden. Dies kann vom Agenten z.B. benutzt werden, um sich Initialisierungsnachrichten abzuholen. Nach einer Migration wird dieses Feld immer auf false gesetzt.

Constructor Detail

AMETASAgent

public AMETASAgent()
Standardkonstruktor, der bereitgestellt werden muss für Class::newInstance(). Es wird eine Standard-PlaceUserID generiert.


AMETASAgent

public AMETASAgent(AMETASPlaceUserID idNew)
Konstruktor, mit dem eine spezielle ID verliehen wird. Sie darf während seiner Lebensspanne nicht verändert werden. Dieser Konstruktor muss in abgeleiteten Klassen mit super(AMETASPlaceUserID) ausgeführt werden.

Parameters:
idNew - ID des Agenten
See Also:
AMETASPlaceUserID

AMETASAgent

public AMETASAgent(java.lang.String sName)
Konstruktor, mit dem eine spezielle ID erzeugt wird. Sie darf während seiner Lebensspanne nicht verändert werden. Als Gruppe wird NO_GROUP angenommen.

Parameters:
sName - Name des Agenten
See Also:
AMETASPlaceUserID

AMETASAgent

public AMETASAgent(java.lang.String sName,
                   java.lang.String sGroup)
Konstruktor, mit dem eine spezielle ID erzeugt wird. Sie darf während seiner Lebensspanne nicht verändert werden.

Parameters:
sName - Name des Agenten
sGroup - Gruppe des Agenten
See Also:
AMETASPlaceUserID
Method Detail

setFirstStart

public void setFirstStart(boolean bFirst)
Setzt die Variable m_bFirstStart. Wird von der Stelle nach der Annahme des migrierten Agenten aufgerufen.

Parameters:
bFirst - true, wenn dies der erste Start ist, sonst false

firstStart

public boolean firstStart()
Liefert den Wert von m_bFirstStart zurück. Diese Boole'sche Variable gibt an, ob der Agent gerade zum ersten Mal gestartet wird m_bFirstStart == true oder ob der Start nach einer Migration erfolgt m_bFirstStart == false.

Returns:
true falls diese Instanz des Agent gerade zum ersten mal gestartet wird, false wenn es ein Neustart nach einer Migration ist.
Since:
2.4.0

getDriver

public AMETASAgentDriverIf getDriver()
Liefert den Treiber dieses Agenten.

Returns:
Treiber des Agenten

setDriverIf

public void setDriverIf(AMETASAgentDriverIf drv)
Setzt die Treiberschnittstelle dieses Agenten. Dies wird durch den Treiber vorgenommen.

Parameters:
drv - Treiberschnittstelle des Agenten.
Throws:
java.lang.SecurityException - wenn versucht wird, die Einstellung zu ändern.

setHomePlace

public void setHomePlace(java.lang.String sPlace)
Setzt die Heimatstelle des Agenten. Dies ist nur einmal möglich.

Parameters:
sPlace - Heimatstelle.
Throws:
java.lang.SecurityException - wenn versucht wird, die Einstellung zu ändern.

getHomePlace

public java.lang.String getHomePlace()
Liefert die Heimatstelle des Agenten.

Returns:
Heimatstelle.

toString

public java.lang.String toString()
Gibt eine String-Repräsentation des Agenten zurück.

Overrides:
toString in class AMETASPlaceUser
Returns:
String-Repräsentation des Agenten