com.threerings.presents.dobj
Class MessageEvent
java.lang.Object
com.threerings.presents.dobj.DEvent
com.threerings.presents.dobj.NamedEvent
com.threerings.presents.dobj.MessageEvent
- All Implemented Interfaces:
- Streamable
- Direct Known Subclasses:
- ServerMessageEvent
public class MessageEvent
- extends NamedEvent
A message event is used to dispatch a message to all subscribers of a distributed object without
actually changing any of the fields of the object. A message has a name, by which different
subscribers of the same object can distinguish their different messages, and an array of
arguments by which any contents of the message can be delivered.
- See Also:
DObjectManager.postEvent(com.threerings.presents.dobj.DEvent)
|
Constructor Summary |
MessageEvent(int targetOid,
String name,
Object[] args)
Constructs a new message event on the specified target object with the supplied name and
arguments. |
|
Method Summary |
boolean |
applyToObject(DObject target)
Applies the attribute modifications represented by this event to the specified target
object. |
Object[] |
getArgs()
Returns the arguments to this message. |
protected void |
notifyListener(Object listener)
Events with associated listener interfaces should implement this function and notify the
supplied listener if it implements their event listening interface. |
void |
setArgs(Object[] args)
Replaces the arguments associated with this message event. |
protected void |
toString(StringBuilder buf)
This should be overridden by derived classes (which should be sure to call
super.toString()) to append the derived class specific event information to the
string buffer. |
| Methods inherited from class com.threerings.presents.dobj.DEvent |
alreadyApplied, getActualTransport, getSourceOid, getTargetOid, getTransport, isPrivate, noteActualTransport, setSourceOid, setTargetOid, setTransport, toString |
_args
protected Object[] _args
MessageEvent
public MessageEvent(int targetOid,
String name,
Object[] args)
- Constructs a new message event on the specified target object with the supplied name and
arguments.
- Parameters:
targetOid - the object id of the object whose attribute has changed.name - the name of the message event.args - the arguments for this message. This array should contain only values of valid
distributed object types.
getArgs
public Object[] getArgs()
- Returns the arguments to this message.
setArgs
public void setArgs(Object[] args)
- Replaces the arguments associated with this message event. Note: this should only
be called on events that have not yet been dispatched into the distributed object system.
applyToObject
public boolean applyToObject(DObject target)
throws ObjectAccessException
- Description copied from class:
DEvent
- Applies the attribute modifications represented by this event to the specified target
object. This is called by the distributed object manager in the course of dispatching events
and should not be called directly.
- Specified by:
applyToObject in class DEvent
- Returns:
- true if the object manager should go on to notify the object's listeners of this
event, false if the event should be treated silently and the listeners should not be
notified.
- Throws:
ObjectAccessException - thrown if there is any problem applying the event to the
object (invalid attribute, etc.).
notifyListener
protected void notifyListener(Object listener)
- Description copied from class:
DEvent
- Events with associated listener interfaces should implement this function and notify the
supplied listener if it implements their event listening interface. For example, the
AttributeChangedEvent will notify listeners that implement AttributeChangeListener.
- Overrides:
notifyListener in class DEvent
toString
protected void toString(StringBuilder buf)
- Description copied from class:
DEvent
- This should be overridden by derived classes (which should be sure to call
super.toString()) to append the derived class specific event information to the
string buffer.
- Overrides:
toString in class NamedEvent