FileDocCategorySizeDatePackage
InvocationEvent.javaAPI DocAndroid 1.5 API4203Wed May 06 22:41:54 BST 2009java.awt.event

InvocationEvent

public class InvocationEvent extends AWTEvent implements ActiveEvent
This class is not supported in Android 1.0. It is merely provided to maintain interface compatibility with desktop Java implementations.
since
Android 1.0

Fields Summary
private static final long
serialVersionUID
public static final int
INVOCATION_FIRST
public static final int
INVOCATION_DEFAULT
public static final int
INVOCATION_LAST
protected Runnable
runnable
protected Object
notifier
protected boolean
catchExceptions
private long
when
private Throwable
throwable
Constructors Summary
public InvocationEvent(Object source, Runnable runnable)


         
        this(source, runnable, null, false);
    
public InvocationEvent(Object source, Runnable runnable, Object notifier, boolean catchExceptions)

        this(source, INVOCATION_DEFAULT, runnable, notifier, catchExceptions);
    
protected InvocationEvent(Object source, int id, Runnable runnable, Object notifier, boolean catchExceptions)

        super(source, id);

        // awt.18C=Cannot invoke null runnable
        assert runnable != null : Messages.getString("awt.18C"); //$NON-NLS-1$

        if (source == null) {
            // awt.18D=Source is null
            throw new IllegalArgumentException(Messages.getString("awt.18D")); //$NON-NLS-1$
        }
        this.runnable = runnable;
        this.notifier = notifier;
        this.catchExceptions = catchExceptions;

        throwable = null;
        when = System.currentTimeMillis();
    
Methods Summary
public voiddispatch()

        if (!catchExceptions) {
            runAndNotify();
        } else {
            try {
                runAndNotify();
            } catch (Throwable t) {
                throwable = t;
            }
        }
    
public java.lang.ExceptiongetException()

        return (throwable != null && throwable instanceof Exception) ?
                (Exception)throwable : null;
    
public java.lang.ThrowablegetThrowable()

        return throwable;
    
public longgetWhen()

        return when;
    
public java.lang.StringparamString()

        /* The format is based on 1.5 release behavior 
         * which can be revealed by the following code:
         * 
         * InvocationEvent e = new InvocationEvent(new Component(){},
         *       new Runnable() { public void run(){} });
         * System.out.println(e);
         */

        return ((id == INVOCATION_DEFAULT ? "INVOCATION_DEFAULT" : "unknown type") + //$NON-NLS-1$ //$NON-NLS-2$
                ",runnable=" + runnable + //$NON-NLS-1$
                ",notifier=" + notifier + //$NON-NLS-1$
                ",catchExceptions=" + catchExceptions + //$NON-NLS-1$
                ",when=" + when); //$NON-NLS-1$
    
private voidrunAndNotify()

        if (notifier != null) {
            synchronized(notifier) {
                try {
                    runnable.run();
                } finally {
                    notifier.notifyAll();
                }
            }
        } else {
            runnable.run();
        }