// 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.DoneCallback; import org.jdeferred.DoneFilter; import org.jdeferred.FailCallback; import org.jdeferred.FailFilter; import org.jdeferred.ProgressCallback; import org.jdeferred.ProgressFilter; import org.jdeferred.Promise; // Referenced classes of package org.jdeferred.impl: // DeferredObject public class FilteredPromise extends DeferredObject implements Promise { public static final class NoOpDoneFilter implements DoneFilter { public Object filterDone(Object obj) { return obj; } public NoOpDoneFilter() { } } public static final class NoOpFailFilter implements FailFilter { public Object filterFail(Object obj) { return obj; } public NoOpFailFilter() { } } public static final class NoOpProgressFilter implements ProgressFilter { public Object filterProgress(Object obj) { return obj; } public NoOpProgressFilter() { } } protected static final NoOpDoneFilter NO_OP_DONE_FILTER = new NoOpDoneFilter(); protected static final NoOpFailFilter NO_OP_FAIL_FILTER = new NoOpFailFilter(); protected static final NoOpProgressFilter NO_OP_PROGRESS_FILTER = new NoOpProgressFilter(); private final DoneFilter doneFilter; private final FailFilter failFilter; private final ProgressFilter progressFilter; public FilteredPromise(Promise promise, DoneFilter donefilter, FailFilter failfilter, ProgressFilter progressfilter) { Object obj = donefilter; if (donefilter == null) { obj = NO_OP_DONE_FILTER; } doneFilter = ((DoneFilter) (obj)); donefilter = failfilter; if (failfilter == null) { donefilter = NO_OP_FAIL_FILTER; } failFilter = donefilter; donefilter = progressfilter; if (progressfilter == null) { donefilter = NO_OP_PROGRESS_FILTER; } progressFilter = donefilter; promise.done(new DoneCallback() { final FilteredPromise this$0; public void onDone(Object obj1) { resolve(doneFilter.filterDone(obj1)); } { this$0 = FilteredPromise.this; super(); } }).fail(new FailCallback() { final FilteredPromise this$0; public void onFail(Object obj1) { reject(failFilter.filterFail(obj1)); } { this$0 = FilteredPromise.this; super(); } }).progress(new ProgressCallback() { final FilteredPromise this$0; public void onProgress(Object obj1) { notify(progressFilter.filterProgress(obj1)); } { this$0 = FilteredPromise.this; super(); } }); } }