java.awt.event

Class InvocationEvent

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
See Also:
ActiveEvent, EventQueue.invokeLater(Runnable), EventQueue.invokeAndWait(Runnable), AWTEventListener, Serialized Form

Field Summary

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 boolean
catchExceptions
Set to true if dispatch() catches Throwable and stores it in the exception instance variable.
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.

Fields inherited from class java.awt.AWTEvent

ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, 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, consumed, id

Fields inherited from class java.util.EventObject

source

Constructor Summary

InvocationEvent(Object source, int id, Runnable runnable, Object notifier, boolean catchThrowables)
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 catchThrowables)
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.
Throwable
getThrowable()
Returns any Throwable 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, paramString, setSource, toString

Methods inherited from class java.util.EventObject

getSource, toString

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

INVOCATION_DEFAULT

public static final int INVOCATION_DEFAULT
The default id for all InvocationEvents.
Field Value:
1200

INVOCATION_FIRST

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

INVOCATION_LAST

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

catchExceptions

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

notifier

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

runnable

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

Constructor Details

InvocationEvent

protected InvocationEvent(Object source,
                          int id,
                          Runnable runnable,
                          Object notifier,
                          boolean catchThrowables)
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. This method throws an IllegalArgumentException if source is null.

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
catchThrowables - specifies whether dispatch should catch Throwable when executing the Runnable's run method, or should instead propagate those Throwables to the EventDispatchThread's dispatch loop
Throws:
IllegalArgumentException - if source is null

InvocationEvent

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

This is a convenience constructor. An invocation of the form InvocationEvent(source, runnable) behaves in exactly the same way as the invocation of InvocationEvent(source, runnable, null, false).

This method throws an IllegalArgumentException if source is null.

Parameters:
source - the Object that originated the event
runnable - the Runnable whose run method will be executed
Throws:
IllegalArgumentException - if source is null

InvocationEvent

public InvocationEvent(Object source,
                       Runnable runnable,
                       Object notifier,
                       boolean catchThrowables)
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.

An invocation of the form InvocationEvent(source, runnable, notifier, catchThrowables) behaves in exactly the same way as the invocation of InvocationEvent(source, InvocationEvent.INVOCATION_DEFAULT, runnable, notifier, catchThrowables).

This method throws an IllegalArgumentException if source is null.

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
catchThrowables - specifies whether dispatch should catch Throwable when executing the Runnable's run method, or should instead propagate those Throwables to the EventDispatchThread's dispatch loop
Throws:
IllegalArgumentException - if source is null
Usages and Demos :

View More Examples of InvocationEvent(Object source,Runnable runnable,Object notifier,boolean catchThrowables)
   1:     InvocationEvent ie = 
   2:       new InvocationEvent(eq, runnable, current, true);
   3: 
   4:         ...
   5:     InvocationEvent ie = 
   6:       new InvocationEvent(eq, runnable, null, false);
   7: 
   8:     eq.postEvent(ie);
   9:   }

View Full Code Here

Method Details

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

getThrowable

public Throwable getThrowable()
Returns any Throwable caught while executing the Runnable's run() method.
Returns:
A reference to the Throwable if one was thrown; null if no Throwable was thrown or if this InvocationEvent does not catch Throwables

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 interface AWTEvent
Returns:
A string identifying the event and its attributes