|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectschmitzm.data.event.AbstractObjectEvent
public abstract class AbstractObjectEvent
Diese Klasse stellt eine Basis-Implementierung fuer ein Ereignis dar, das von einem Objekt
ausgeloest wird. Spezielle Ereignisse (z.B. "Objekt wurde geschlossen" oder
"Objekt hat sich geaendert" oder "Eine Eigenschaft eines Objekts hat sich
geaendert") werden durch Spezialisierungen dieser Klasse ausgedrueckt.
Haeufig ziehen einzelne Objekt-Aenderungen andere nach sich. z.B.
Wertaenderung eines Listen-Elements einer ListProperty zieht die Aenderung
der Liste mit sich und somit die Aenderung des Objekts, welches
die ListProperty beinhaltet. Propagiert ein Objekt eine Aenderung also weiter
nach unten erzeugt es (fuer seine Listener) ein neues Event:
Aus diesem Grund ist... public void performObjectEvent(ObjectEvent e) { if ( e instanceof ObjectChangeEvent ) { ObjectChangeEvent oce = (ObjectChangeEvent)e; fireEvent( new ObjectChangeEvent( new Invoker( this,oce.getSource() ), oce.getOldValue(), oce.getNewValue() ) ); } } ...
ObjectEvent.getObject()
nicht immer das
Element, welches die Aenderung ausgeloest hat. Diese kann jedoch durch
source.getRoot()
ermittelt werden.
Field Summary | |
---|---|
static int |
OBJECT_CLOSED
Ereignis-Typ, der anzeigt, dass ein Objekt geschlossen wird. |
protected Invoker |
source
Speichert die Objekt-Hierarchie, die von diesem Ereignis betroffen ist |
static int |
STATE_CHANGED
Ereignis-Typ, der anzeigt, dass sich der Zustand eines Objekts geaendert hat. |
protected int |
type
Speichert die ID des Events. |
Constructor Summary | |
---|---|
AbstractObjectEvent(Invoker source,
int type)
Erzeugt ein neues Event. |
|
AbstractObjectEvent(Object source,
int type)
Erzeugt ein neues Event. |
Method Summary | |
---|---|
void |
expandSource(Object object)
Erweitert die Objekt-Hierarchie, die von dem Ereignis betroffen ist. |
Invoker |
getSource()
Liefert die Objekt-Hierarchie, die von dem Ereignis betroffen ist. |
int |
getType()
Liefert die ID des Events. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int STATE_CHANGED
public static final int OBJECT_CLOSED
protected int type
protected Invoker source
Constructor Detail |
---|
public AbstractObjectEvent(Invoker source, int type)
source
- Ausloeser fuer dieses Event.type
- Type-ID des Eventspublic AbstractObjectEvent(Object source, int type)
source
- Ausloeser fuer dieses Event. Fuer dieses Objekt wird ein neuer
Root-Invoker gebildet.type
- ID des EventsMethod Detail |
---|
public int getType()
getType
in interface ObjectEvent
public Invoker getSource()
getInvoker().getObject()
stellt das "letzte" von einer
Datenaenderung betroffene Objekt darXuluObject
getInvoker().getInvoker().getObject()
stellt das
"darueberliegende" Objekt darListProperty
des XuluObject
getInvoker().getRoot()
liefert das Objekt, was sich
urspruenglich geaendert und somit das Event ausgeloest hat ("die Wurzel")ListProperty
des XuluObject
getSource
in interface ObjectEvent
Invoker
public void expandSource(Object object)
getInvoker().getObject()
referenzierbar. Das bisher
ueber diesen Aufruf referenzierte Objekt erhaelt man dann ueber
getInvoker().getInvoker().getObject()
.
expandSource
in interface ObjectEvent
object
- neues betroffenes Objekt
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |