aboutsummaryrefslogtreecommitdiffstats
path: root/AndroidAsync/src/com/koushikdutta/async/future
diff options
context:
space:
mode:
authorKoushik Dutta <koushd@gmail.com>2013-05-20 22:41:12 -0700
committerKoushik Dutta <koushd@gmail.com>2013-05-20 22:41:12 -0700
commit358a1ba71fdee8668c25b697cd263407496339c5 (patch)
tree5970335313a8194edce2739975c489f045071817 /AndroidAsync/src/com/koushikdutta/async/future
parentb5533915b107ef669c782ff7b485fdf70fec75c6 (diff)
downloadAndroidAsync-358a1ba71fdee8668c25b697cd263407496339c5.tar.gz
AndroidAsync-358a1ba71fdee8668c25b697cd263407496339c5.tar.bz2
AndroidAsync-358a1ba71fdee8668c25b697cd263407496339c5.zip
Add support and tests for completion callback events on Futures.
Diffstat (limited to 'AndroidAsync/src/com/koushikdutta/async/future')
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/future/Future.java4
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/future/FutureCallback.java8
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/future/SimpleFuture.java10
3 files changed, 15 insertions, 7 deletions
diff --git a/AndroidAsync/src/com/koushikdutta/async/future/Future.java b/AndroidAsync/src/com/koushikdutta/async/future/Future.java
index a3afdb2..f1108ea 100644
--- a/AndroidAsync/src/com/koushikdutta/async/future/Future.java
+++ b/AndroidAsync/src/com/koushikdutta/async/future/Future.java
@@ -4,6 +4,6 @@ package com.koushikdutta.async.future;
import com.koushikdutta.async.callback.ResultCallback;
public interface Future<T> extends Cancellable, java.util.concurrent.Future<T> {
- public ResultCallback<T> getResultCallback();
- public void setResultCallback(ResultCallback<T> callback);
+ public FutureCallback<T> getResultCallback();
+ public void setResultCallback(FutureCallback<T> callback);
}
diff --git a/AndroidAsync/src/com/koushikdutta/async/future/FutureCallback.java b/AndroidAsync/src/com/koushikdutta/async/future/FutureCallback.java
new file mode 100644
index 0000000..b1fe530
--- /dev/null
+++ b/AndroidAsync/src/com/koushikdutta/async/future/FutureCallback.java
@@ -0,0 +1,8 @@
+package com.koushikdutta.async.future;
+
+/**
+ * Created by koush on 5/20/13.
+ */
+public interface FutureCallback<T> {
+ public void onCompleted(Exception e, T result);
+}
diff --git a/AndroidAsync/src/com/koushikdutta/async/future/SimpleFuture.java b/AndroidAsync/src/com/koushikdutta/async/future/SimpleFuture.java
index 14e5a62..a315fe0 100644
--- a/AndroidAsync/src/com/koushikdutta/async/future/SimpleFuture.java
+++ b/AndroidAsync/src/com/koushikdutta/async/future/SimpleFuture.java
@@ -72,7 +72,7 @@ public class SimpleFuture<T> extends SimpleCancelable implements DependentFuture
Exception exception;
public boolean setComplete(Exception e) {
- ResultCallback<T> callback;
+ FutureCallback<T> callback;
synchronized (this) {
if (!super.setComplete())
return false;
@@ -88,7 +88,7 @@ public class SimpleFuture<T> extends SimpleCancelable implements DependentFuture
T result;
public boolean setComplete(T value) {
- ResultCallback<T> callback;
+ FutureCallback<T> callback;
synchronized (this) {
if (!super.setComplete())
return false;
@@ -107,14 +107,14 @@ public class SimpleFuture<T> extends SimpleCancelable implements DependentFuture
return true;
}
- ResultCallback<T> callback;
+ FutureCallback<T> callback;
@Override
- public ResultCallback<T> getResultCallback() {
+ public FutureCallback<T> getResultCallback() {
return callback;
}
@Override
- public void setResultCallback(ResultCallback<T> callback) {
+ public void setResultCallback(FutureCallback<T> callback) {
// callback can only be changed or read/used inside a sync block
boolean runCallback;
synchronized (this) {