package org.atomnuke.task.polling; /** * * @author zinic */ public class TaskFutureImpl implements TaskFuture { private Runnable taskCompletionRunnable; private boolean taskComplete; public synchronized boolean isTaskComplete() { return taskComplete; } public synchronized void taskComplete() { taskComplete = true; } @Override public void onTaskCompletion(Runnable runnable) { taskCompletionRunnable = runnable; if (isTaskComplete()) { runTaskCompletion(); } } public void runTaskCompletion() { if (taskCompletionRunnable != null) { taskCompletionRunnable.run(); } } }