@Override public void invoke(Promise<List<Object>> completed) { List<Object> values = completed.getOrNull(); if(values != null) { result.invoke(new F.T5((A) values.get(0), (B) values.get(1), (C) values.get(2), (D) values.get(3), (E) values.get(4))); } else { result.invokeWithException(completed.exception); } } });
@Override public void invoke(Promise<List<Object>> completed) { List<Object> values = completed.getOrNull(); if(values != null) { result.invoke(new F.T4((A) values.get(0), (B) values.get(1), (C) values.get(2), (D) values.get(3))); } else { result.invokeWithException(completed.exception); } } });
void futureClose() { if (closeTask != null && writeFutures.isEmpty()) { closeTask.invoke(null); } }
result.invoke(Collections.<T>emptyList());
@Override public void invoke(Promise<F.Tuple<Integer, Promise<Object>>> completed) { F.Tuple<Integer, Promise<Object>> value = completed.getOrNull(); switch (value._1) { case 1: result.invoke(F.E5.<A, B, C, D, E>_1((A) value._2.getOrNull())); break; case 2: result.invoke(F.E5.<A, B, C, D, E>_2((B) value._2.getOrNull())); break; case 3: result.invoke(F.E5.<A, B, C, D, E>_3((C) value._2.getOrNull())); break; case 4: result.invoke(F.E5.<A, B, C, D, E>_4((D) value._2.getOrNull())); break; case 5: result.invoke(F.E5.<A, B, C, D, E>_5((E) value._2.getOrNull())); break; } } });
@Override public void invoke(Promise<F.Tuple<Integer, Promise<Object>>> completed) { F.Tuple<Integer, Promise<Object>> value = completed.getOrNull(); switch (value._1) { case 1: result.invoke(F.E4.<A, B, C, D>_1((A) value._2.getOrNull())); break; case 2: result.invoke(F.E4.<A, B, C, D>_2((B) value._2.getOrNull())); break; case 3: result.invoke(F.E4.<A, B, C, D>_3((C) value._2.getOrNull())); break; case 4: result.invoke(F.E4.<A, B, C, D>_4((D) value._2.getOrNull())); break; } } });
@Override public void invoke(Promise<F.Tuple<Integer, Promise<Object>>> completed) { F.Tuple<Integer, Promise<Object>> value = completed.getOrNull(); switch (value._1) { case 1: result.invoke(F.E3.<A, B, C>_1((A) value._2.getOrNull())); break; case 2: result.invoke(F.E3.<A, B, C>_2((B) value._2.getOrNull())); break; case 3: result.invoke(F.E3.<A, B, C>_3((C) value._2.getOrNull())); break; } } });
@Override public void invoke(Promise<T> completed) { synchronized (this) { if (result.isDone()) { return; } } T resultOrNull = completed.getOrNull(); if(resultOrNull != null) { result.invoke(resultOrNull); } else { result.invokeWithException(completed.exception); } } };
@Override public V call() throws Exception { try { V result = Job.this.call(); if (smartFuture != null) { smartFuture.invoke(result); } return result; } catch (Exception e) { if (smartFuture != null) { smartFuture.invokeWithException(e); } return null; } } };
@Override public void invoke(Promise<F.Tuple<Integer, Promise<Object>>> completed) { F.Tuple<Integer, Promise<Object>> value = completed.getOrNull(); switch (value._1) { case 1: result.invoke(F.Either.<A, B>_1((A) value._2.getOrNull())); break; case 2: result.invoke(F.Either.<A, B>_2((B) value._2.getOrNull())); break; } } });
synchronized void notifyNewEvent() { T value = events.peek(); for (Promise<T> task : waiting) { task.invoke(value); } waiting.clear(); }
@Override public void invoke(Promise<Object> completed) { result.invoke(new F.Tuple(index, completed)); } });
@Override public void invoke(Promise<List<Object>> completed) { List<Object> values = completed.getOrNull(); if(values != null) { result.invoke(new F.Tuple((A) values.get(0), (B) values.get(1))); } else { result.invokeWithException(completed.exception); } } });
@Override public HttpResponse onCompleted(Response response) throws Exception { HttpResponse httpResponse = new HttpAsyncResponse(response); smartFuture.invoke(httpResponse); return httpResponse; }
@Override public void invoke(Promise<List<Object>> completed) { List<Object> values = completed.getOrNull(); if(values != null) { result.invoke(new F.T3((A) values.get(0), (B) values.get(1), (C) values.get(2))); } else { result.invokeWithException(completed.exception); } } });
@Override public void invoke(Promise<T> completed) { waitAllLock.countDown(); if (waitAllLock.getCount() == 0) { try { result.invoke(result.get()); } catch (Exception e) { result.invokeWithException(e); } } } };
void notifyNewEvent() { T value = events.peek(); for (Promise<T> task : waiting) { task.invoke(value); } waiting.clear(); }