java.awt.event
Class InvocationEvent

java.lang.Object
  extended byjava.util.EventObject
      extended byjava.awt.AWTEvent
          extended byjava.awt.event.InvocationEvent
All Implemented Interfaces:
ActiveEvent, Serializable

public class InvocationEvent
extends AWTEvent
implements ActiveEvent

An event which executes the run() method on a Runnable when dispatched by the AWT event dispatcher thread. This class can be used as a reference implementation of ActiveEvent rather than declaring a new class and defining dispatch().

Instances of this class are placed on the EventQueue by calls to invokeLater and invokeAndWait. Client code can use this fact to write replacement functions for invokeLater and invokeAndWait without writing special-case code in any AWTEventListener objects.

Since:
1.2
Author:
Fred Ecks, David Mendenhall
See Also:
ActiveEvent, EventQueue.invokeLater(java.lang.Runnable), EventQueue.invokeAndWait(java.lang.Runnable), AWTEventListener, Serialized Form

Field Summary
protected  boolean catchExceptions
          Set to true if dispatch() catches Exception and stores it in the exception instance variable.
private  Exception exception
          The (potentially null) Exception thrown during execution of the Runnable.run() method.
static int INVOCATION_DEFAULT
          The default id for all InvocationEvents.
static int INVOCATION_FIRST
          Marks the first integer id for the range of invocation event ids.
static int INVOCATION_LAST
          Marks the last integer id for the range of invocation event ids.
protected  Object notifier
          The (potentially null) Object whose notifyAll() method will be called immediately after the Runnable.run() method returns.
protected  Runnable runnable
          The Runnable whose run() method will be called.
private static long serialVersionUID
           
private  long when
          The timestamp of when this event occurred.
 
Fields inherited from class java.awt.AWTEvent
ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, consumed, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, id, INPUT_METHOD_EVENT_MASK, INVOCATION_EVENT_MASK, ITEM_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_EVENT_MASK, MOUSE_WHEEL_EVENT_MASK, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK, WINDOW_FOCUS_EVENT_MASK, WINDOW_STATE_EVENT_MASK
 
Fields inherited from class java.util.EventObject
source
 
Constructor Summary
protected InvocationEvent(Object source, int id, Runnable runnable, Object notifier, boolean catchExceptions)
          Constructs an InvocationEvent with the specified source and ID which will execute the runnable's run method when dispatched.
  InvocationEvent(Object source, Runnable runnable)
          Constructs an InvocationEvent with the specified source which will execute the runnable's run method when dispatched.
  InvocationEvent(Object source, Runnable runnable, Object notifier, boolean catchExceptions)
          Constructs an InvocationEvent with the specified source which will execute the runnable's run method when dispatched.
 
Method Summary
 void dispatch()
          Executes the Runnable's run() method and notifies the notifier (if any) when run() returns.
 Exception getException()
          Returns any Exception caught while executing the Runnable's run() method.
 long getWhen()
          Returns the timestamp of when this event occurred.
 String paramString()
          Returns a parameter string identifying this event.
 
Methods inherited from class java.awt.AWTEvent
consume, getID, isConsumed, setSource, toString
 
Methods inherited from class java.util.EventObject
getSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

INVOCATION_FIRST

public static final int INVOCATION_FIRST
Marks the first integer id for the range of invocation event ids.

See Also:
Constant Field Values

INVOCATION_DEFAULT

public static final int INVOCATION_DEFAULT
The default id for all InvocationEvents.

See Also:
Constant Field Values

INVOCATION_LAST

public static final int INVOCATION_LAST
Marks the last integer id for the range of invocation event ids.

See Also:
Constant Field Values

runnable

protected Runnable runnable
The Runnable whose run() method will be called.


notifier

protected Object notifier
The (potentially null) Object whose notifyAll() method will be called immediately after the Runnable.run() method returns.


catchExceptions

protected boolean catchExceptions
Set to true if dispatch() catches Exception and stores it in the exception instance variable. If false, Exceptions are propagated up to the EventDispatchThread's dispatch loop.


exception

private Exception exception
The (potentially null) Exception thrown during execution of the Runnable.run() method. This variable will also be null if a particular instance does not catch exceptions.


when

private long when
The timestamp of when this event occurred.

See Also:
getWhen()

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

InvocationEvent

public InvocationEvent(Object source,
                       Runnable runnable)
Constructs an InvocationEvent with the specified source which will execute the runnable's run method when dispatched.

Parameters:
source - the Object that originated the event
runnable - the Runnable whose run method will be executed

InvocationEvent

public InvocationEvent(Object source,
                       Runnable runnable,
                       Object notifier,
                       boolean catchExceptions)
Constructs an InvocationEvent with the specified source which will execute the runnable's run method when dispatched. If notifier is non-null, notifyAll() will be called on it immediately after run returns.

Parameters:
source - the Object that originated the event
runnable - the Runnable whose run method will be executed
notifier - the Object whose notifyAll method will be called after Runnable.run has returned
catchExceptions - specifies whether dispatch should catch Exception when executing the Runnable's run method, or should instead propagate those Exceptions to the EventDispatchThread's dispatch loop

InvocationEvent

protected InvocationEvent(Object source,
                          int id,
                          Runnable runnable,
                          Object notifier,
                          boolean catchExceptions)
Constructs an InvocationEvent with the specified source and ID which will execute the runnable's run method when dispatched. If notifier is non-null, notifyAll will be called on it immediately after run returns.

Note that passing in an invalid id results in unspecified behavior.

Parameters:
source - the Object that originated the event
id - the ID for the event
runnable - the Runnable whose run method will be executed
notifier - the Object whose notifyAll method will be called after Runnable.run has returned
catchExceptions - specifies whether dispatch should catch Exception when executing the Runnable's run method, or should instead propagate those Exceptions to the EventDispatchThread's dispatch loop
Method Detail

dispatch

public void dispatch()
Executes the Runnable's run() method and notifies the notifier (if any) when run() returns.

Specified by:
dispatch in interface ActiveEvent

getException

public Exception getException()
Returns any Exception caught while executing the Runnable's run() method.

Returns:
A reference to the Exception if one was thrown; null if no Exception was thrown or if this InvocationEvent does not catch exceptions

getWhen

public long getWhen()
Returns the timestamp of when this event occurred.

Returns:
this event's timestamp
Since:
1.4

paramString

public String paramString()
Returns a parameter string identifying this event. This method is useful for event-logging and for debugging.

Overrides:
paramString in class AWTEvent
Returns:
A string identifying the event and its attributes