cz.cuni.amis.pogamut.base.communication.worldview.react
Class ObjectEventReactOnce<OBJECT extends IWorldObject,EVENT extends IWorldObjectEvent<OBJECT>>
java.lang.Object
cz.cuni.amis.pogamut.base.communication.worldview.react.ObjectEventReact<OBJECT,EVENT>
cz.cuni.amis.pogamut.base.communication.worldview.react.ObjectEventReactOnce<OBJECT,EVENT>
- Type Parameters:
EVENT
-
- Direct Known Subclasses:
- ObjectReactOnce
public abstract class ObjectEventReactOnce<OBJECT extends IWorldObject,EVENT extends IWorldObjectEvent<OBJECT>>
- extends ObjectEventReact<OBJECT,EVENT>
This abstract class allows you to easily hook a specific event-handling behavior. It automatically
register a listener for a specified IWorldObjectEvent
for you and calls ObjectEventReact.react(IWorldObjectEvent)
method automatically. The ObjectEventReact.react(IWorldObjectEvent)
will be called only once (upon first event received).
If you need to react on every event, use ObjectEventReact
.
Use ObjectEventReact.enable()
and ObjectEventReact.disable()
to enable react / disable react. The reaction is enabled
as default.
WARNING:Use as anonymous class, but save it as a field of your class! Note, that we're using weak-references to
listeners and if you do not save pointer to the object, it will be gc()ed!
Method Summary |
protected void |
postReact(EVENT event)
Disables the reaction. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ObjectEventReactOnce
public ObjectEventReactOnce(java.lang.Class<?> objectClass,
IWorldView worldView)
ObjectEventReactOnce
public ObjectEventReactOnce(java.lang.Class<?> objectClass,
java.lang.Class<?> eventClass,
IWorldView worldView)
ObjectEventReactOnce
public ObjectEventReactOnce(WorldObjectId objectId,
IWorldView worldView)
ObjectEventReactOnce
public ObjectEventReactOnce(WorldObjectId objectId,
java.lang.Class<?> eventClass,
IWorldView worldView)
postReact
protected void postReact(EVENT event)
- Disables the reaction.
- Overrides:
postReact
in class ObjectEventReact<OBJECT extends IWorldObject,EVENT extends IWorldObjectEvent<OBJECT>>