// 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; import java.util.concurrent.Callable; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; import org.jdeferred.impl.DeferredObject; // Referenced classes of package org.jdeferred: // DeferredCallable, DeferredRunnable, Deferred, Promise public class DeferredFutureTask extends FutureTask { protected final Deferred deferred; protected final DeferredManager.StartPolicy startPolicy; public DeferredFutureTask(Runnable runnable) { super(runnable, null); deferred = new DeferredObject(); startPolicy = DeferredManager.StartPolicy.DEFAULT; } public DeferredFutureTask(Callable callable) { super(callable); deferred = new DeferredObject(); startPolicy = DeferredManager.StartPolicy.DEFAULT; } public DeferredFutureTask(DeferredCallable deferredcallable) { super(deferredcallable); deferred = deferredcallable.getDeferred(); startPolicy = deferredcallable.getStartPolicy(); } public DeferredFutureTask(DeferredRunnable deferredrunnable) { super(deferredrunnable, null); deferred = deferredrunnable.getDeferred(); startPolicy = deferredrunnable.getStartPolicy(); } protected void done() { try { if (isCancelled()) { deferred.reject(new CancellationException()); } Object obj = get(); deferred.resolve(obj); return; } catch (InterruptedException interruptedexception) { return; } catch (ExecutionException executionexception) { deferred.reject(executionexception.getCause()); } } public DeferredManager.StartPolicy getStartPolicy() { return startPolicy; } public Promise promise() { return deferred.promise(); } }