com.threerings.presents.dobj
Class InvocationNotificationEvent

java.lang.Object
  extended by com.threerings.presents.dobj.DEvent
      extended by com.threerings.presents.dobj.InvocationNotificationEvent
All Implemented Interfaces:
Streamable

public class InvocationNotificationEvent
extends DEvent

Used to dispatch an invocation notification from the server to a client.

See Also:
DObjectManager.postEvent(com.threerings.presents.dobj.DEvent)

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.threerings.io.Streamable
Streamable.Closure
 
Field Summary
protected  Object[] _args
          The arguments to the receiver method being invoked.
protected  byte _methodId
          The id of the receiver method being invoked.
protected  short _receiverId
          Identifies the receiver to which this notification is being dispatched.
 
Fields inherited from class com.threerings.presents.dobj.DEvent
_actualTransport, _soid, _toid, _transport, eventId, UNSET_OLD_ENTRY, UNSET_OLD_VALUE
 
Constructor Summary
InvocationNotificationEvent(int targetOid, short receiverId, int methodId, Object[] args)
          Constructs a new invocation notification event on the specified target object with the supplied receiver id, method id 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 associated with this notification.
 int getMethodId()
          Returns the id of the method associated with this notification.
 int getReceiverId()
          Returns the receiver id associated with this notification.
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.
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_receiverId

protected short _receiverId
Identifies the receiver to which this notification is being dispatched.


_methodId

protected byte _methodId
The id of the receiver method being invoked.


_args

protected Object[] _args
The arguments to the receiver method being invoked.

Constructor Detail

InvocationNotificationEvent

public InvocationNotificationEvent(int targetOid,
                                   short receiverId,
                                   int methodId,
                                   Object[] args)
Constructs a new invocation notification event on the specified target object with the supplied receiver id, method id and arguments.

Parameters:
targetOid - the object id of the object on which the event is to be dispatched.
receiverId - identifies the receiver to which this notification is being dispatched.
methodId - the id of the method to be invoked.
args - the arguments for the method. This array should contain only values of valid distributed object types.
Method Detail

getReceiverId

public int getReceiverId()
Returns the receiver id associated with this notification.


getMethodId

public int getMethodId()
Returns the id of the method associated with this notification.


getArgs

public Object[] getArgs()
Returns the arguments associated with this notification.


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 DEvent