// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package org.jdeferred.impl; import org.jdeferred.Deferred; import org.jdeferred.Promise; // Referenced classes of package org.jdeferred.impl: // AbstractPromise public class DeferredObject extends AbstractPromise implements Deferred { public DeferredObject() { } public Deferred notify(Object obj) { this; JVM INSTR monitorenter ; if (!isPending()) { throw new IllegalStateException("Deferred object already finished, cannot notify progress"); } break MISSING_BLOCK_LABEL_24; obj; this; JVM INSTR monitorexit ; throw obj; triggerProgress(obj); this; JVM INSTR monitorexit ; return this; } public Promise promise() { return this; } public Deferred reject(Object obj) { this; JVM INSTR monitorenter ; if (!isPending()) { throw new IllegalStateException("Deferred object already finished, cannot reject again"); } break MISSING_BLOCK_LABEL_24; obj; this; JVM INSTR monitorexit ; throw obj; state = org.jdeferred.Promise.State.REJECTED; rejectResult = obj; triggerFail(obj); triggerAlways(state, null, obj); this; JVM INSTR monitorexit ; return this; Exception exception; exception; triggerAlways(state, null, obj); throw exception; } public Deferred resolve(Object obj) { this; JVM INSTR monitorenter ; if (!isPending()) { throw new IllegalStateException("Deferred object already finished, cannot resolve again"); } break MISSING_BLOCK_LABEL_24; obj; this; JVM INSTR monitorexit ; throw obj; state = org.jdeferred.Promise.State.RESOLVED; resolveResult = obj; triggerDone(obj); triggerAlways(state, obj, null); this; JVM INSTR monitorexit ; return this; Exception exception; exception; triggerAlways(state, obj, null); throw exception; } }