AMETAS.event
Class AMETASNotifiableUserAdapter

java.lang.Object
  extended byAMETAS.place.AMETASPlaceUser
      extended byAMETAS.agentdev.AMETASUserAdapter
          extended byAMETAS.event.AMETASNotifiableUserAdapter
All Implemented Interfaces:
AMETASNotifiable, java.io.Serializable

public abstract class AMETASNotifiableUserAdapter
extends AMETASUserAdapter
implements AMETASNotifiable

Ermöglicht Benutzeradaptern eine einfache Ereignisverarbeitung. Diese Klasse stellt eine Standardimplementierung von notifyListener bereit, die eintreffende Events an die Methoden eines AMETASEventHandler-Objekts weiterleitet. Um all dies braucht sich der Entwickler nicht mehr zu kümmern. Er muss nur noch einen eigenen EventHandler von AMETASEventHandler ableiten, in dem er nur die für ihn relevanten handle-Methoden überschreibt. Diese werden dann automatisch aufgerufen. Dem AMETASNotifiableUserAdapter können mit addEventHandler mehrere EventHandler-Objekte übergeben werden, die alle notifiziert werden. Wichtig hierbei ist, dass die handle-Methoden dieser Objekte nacheinander vom gleichen Thread (Notificator-Thread) aufgerufen werden. Ein EventHandler-Objekt blockiert also alle weiteren bei der Ausführung seiner Handler-Methode. Dies sollte jedoch keine Probleme bereiten, da zum einen ein Benutzeradapter nicht sehr viele EventHandler registrieren wird und zum anderen alle aufgerufenen EventHandler-Objekte unter der Kontrolle dieses einen Benutzeradapters stehen. Er kann also nicht von fremden Objekten blockiert werden.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class AMETAS.agentdev.AMETASUserAdapter
m_Driver
 
Fields inherited from class AMETAS.place.AMETASPlaceUser
m_drvPU
 
Constructor Summary
AMETASNotifiableUserAdapter()
          Konstruktor, mit dem eine Standard-PlaceUserID generiert wird.
AMETASNotifiableUserAdapter(AMETASPlaceUserID puid)
          Konstruktor dieses NotifiableUserAdapters.
AMETASNotifiableUserAdapter(java.lang.String sName)
          Konstruktor, mit dem eine spezielle ID erzeugt wird.
AMETASNotifiableUserAdapter(java.lang.String sName, java.lang.String sGroup)
          Konstruktor, mit dem eine spezielle ID erzeugt wird.
 
Method Summary
 void addEventHandler(AMETASEventHandlerIf hnd)
          Fügt diesem einen neuen EventHandler hinzu.
 boolean containsHandler(AMETASEventHandlerIf eh)
          Prüft nach, ob der übergebene Handler in dem Array aller zur Zeit enthaltenen EventHandler vorkommt.
 AMETASEventHandlerIf[] getHandlerList()
          Liefert ein Array aller zur Zeit enthaltenen EventHandler zurück.
 void notifyListener(AMETASEvent evt)
          Eine Standardimplementierung der notifyListener-Methode des Interfaces AMETASNotifiable.
 void removeEventHandler(AMETASEventHandlerIf hnd)
          Entfernt einen EventHandler.
 
Methods inherited from class AMETAS.agentdev.AMETASUserAdapter
getDriver, getThread, setDriverIf, startThread
 
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, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AMETASNotifiableUserAdapter

public AMETASNotifiableUserAdapter(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 Benutzeradapters
sGroup - Gruppen-ID des Benutzeradapters
See Also:
AMETASPlaceUserID

AMETASNotifiableUserAdapter

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

Parameters:
sName - Name des Benutzeradapters
See Also:
AMETASPlaceUserID

AMETASNotifiableUserAdapter

public AMETASNotifiableUserAdapter(AMETASPlaceUserID puid)
Konstruktor dieses NotifiableUserAdapters.

Parameters:
puid - ID des PlaceUsers

AMETASNotifiableUserAdapter

public AMETASNotifiableUserAdapter()
Konstruktor, mit dem eine Standard-PlaceUserID generiert wird.

Method Detail

addEventHandler

public void addEventHandler(AMETASEventHandlerIf hnd)
Fügt diesem einen neuen EventHandler hinzu.

Parameters:
hnd - Hinzuzufügender Event-Handler

removeEventHandler

public void removeEventHandler(AMETASEventHandlerIf hnd)
Entfernt einen EventHandler.

Parameters:
hnd - Zu entfernender Event-Handler

getHandlerList

public AMETASEventHandlerIf[] getHandlerList()
Liefert ein Array aller zur Zeit enthaltenen EventHandler zurück.

Returns:
Ein Array aller zur Zeit enthaltenen EventHandler, null wenn keine Handler existieren.
Since:
2.4.0

containsHandler

public boolean containsHandler(AMETASEventHandlerIf eh)
Prüft nach, ob der übergebene Handler in dem Array aller zur Zeit enthaltenen EventHandler vorkommt.

Returns:
true falls der übergebene Handler in dem Array aller zur Zeit enthaltenen EventHandler vorkommt, sonst false.
Since:
2.4.0

notifyListener

public void notifyListener(AMETASEvent evt)
Eine Standardimplementierung der notifyListener-Methode des Interfaces AMETASNotifiable. Sie ruft die handleEvent-Methoden des eingesetzten EventHandlers auf.

Specified by:
notifyListener in interface AMETASNotifiable
Parameters:
evt - Ereignis