schmitzm.data.event
Class Invoker

java.lang.Object
  extended by schmitzm.data.event.Invoker

public class Invoker
extends Object

Diese Klasse stellt eine Hierarchie von Objekten dar, welche z.B. für das Ausloesen eines Ereignisses verantwortlich waren, oder welche von der Aenderung eines Objekts betroffen wurden.
Ein Invoker besteht aus

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)

Field Summary
protected  Object obj
          Speichert das "betroffene" Objekt.
protected  Object rootObj
          Speichert das Ursprungsausloeser-Objekt.
protected  Invoker source
          Speichert das "Ausloeser"-Objekt.
 
Constructor Summary
Invoker(Object obj)
          Erzeugt einen neuen Wurzel-Invoker.
Invoker(Object obj, Invoker source)
          Erzeugt einen neuen Invoker.
 
Method Summary
 boolean contains(Object obj)
          Prueft, ob ein Objekt in der Invoker-Kette (bis zur Wurzel) der "betroffenen Objekte" enthalten ist.
 Invoker getInvoker(Object obj)
          Liefert den Invoker aus der Invoker-Kette (bis zur Wurzel), der das angegebene "betroffene" Objekt enthaelt.
 Object getObject()
          Liefert das betroffene Objekt.
 Object getRoot()
          Liefert das Wurzel-Objekt, welches z.B. den Ursprung einer Aenderungspropagierung darstellt.
 Invoker getSource()
          Liefert den Auslöser, oder null, falls das Objekt selbst die "Wurzel" darstellt.
 boolean isRoot()
          Liefert true, gdw. das Objekt die Wurzel darstellt.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

obj

protected Object obj
Speichert das "betroffene" Objekt.


source

protected Invoker source
Speichert das "Ausloeser"-Objekt.


rootObj

protected Object rootObj
Speichert das Ursprungsausloeser-Objekt. Koennte beim Aufruf von getRoot() auch rekursiv ermittelt werden. Aus Effizienzgruenden ist eine Speicherung jedoch sinnvoller.

Constructor Detail

Invoker

public Invoker(Object obj,
               Invoker source)
Erzeugt einen neuen Invoker.

Parameters:
obj - "betroffenes" Objekt
source - "ausloesendes" Objekt.

Invoker

public Invoker(Object obj)
Erzeugt einen neuen Wurzel-Invoker. Hierbei stellt das betroffene Objekt gleichzeitig den Ausloeser dar.

Parameters:
obj - "betroffenes" Objekt
Method Detail

getObject

public Object getObject()
Liefert das betroffene Objekt.


getSource

public Invoker getSource()
Liefert den Auslöser, oder null, falls das Objekt selbst die "Wurzel" darstellt.


isRoot

public boolean isRoot()
Liefert true, gdw. das Objekt die Wurzel darstellt.


getRoot

public Object getRoot()
Liefert das Wurzel-Objekt, welches z.B. den Ursprung einer Aenderungspropagierung darstellt. Dies kann auch das Objekt selbst sein.


contains

public boolean contains(Object obj)
Prueft, ob ein Objekt in der Invoker-Kette (bis zur Wurzel) der "betroffenen Objekte" enthalten ist.


getInvoker

public Invoker getInvoker(Object obj)
Liefert den Invoker aus der Invoker-Kette (bis zur Wurzel), der das angegebene "betroffene" Objekt enthaelt.

Returns:
null, falls es keinen solchen Invoker gibt