/** * Equivalent to {@code andThen("andThen", consumer)}. * @see #andThen(String, Consumer9) */ default Tuple9Task<T1, T2, T3, T4, T5, T6, T7, T8, T9> andThen(final Consumer9<T1, T2, T3, T4, T5, T6, T7, T8, T9> consumer) { return cast(andThen("andThen: " + _taskDescriptor.getDescription(consumer.getClass().getName()), tuple -> consumer.accept(tuple._1(), tuple._2(), tuple._3(), tuple._4(), tuple._5(), tuple._6(), tuple._7(), tuple._8(), tuple._9()))); }
/** * {@inheritDoc} */ @Override default Tuple9Task<T1, T2, T3, T4, T5, T6, T7, T8, T9> recoverWith(final String desc, final Function1<Throwable, Task<Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9>>> f) { return cast(Task.super.recoverWith(desc, f)); }
/** * Equivalent to {@code map("map", f)}. * @see #map(String, Function9) */ default <R> Task<R> map(final Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> f) { return map("map: " + _taskDescriptor.getDescription(f.getClass().getName()), tuple -> f.apply(tuple._1(), tuple._2(), tuple._3(), tuple._4(), tuple._5(), tuple._6(), tuple._7(), tuple._8(), tuple._9())); }
/** * Equivalent to {@code flatMap("flatMap", f)}. * @see #flatMap(String, Function9) */ default <R> Task<R> flatMap(final Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, Task<R>> f) { return flatMap("flatMap: " + _taskDescriptor.getDescription(f.getClass().getName()), tuple -> f.apply(tuple._1(), tuple._2(), tuple._3(), tuple._4(), tuple._5(), tuple._6(), tuple._7(), tuple._8(), tuple._9())); }
@Test public void testPar9AndThen() { AtomicInteger value = new AtomicInteger(); Task<?> task = Task.par(Task.value(1), Task.value(2), Task.value(3), Task.value(4), Task.value(5), Task.value(6), Task.value(7), Task.value(8), Task.value(9)) .andThen((a, b, c, d, e, f, g, h, i) -> value.set(a + b + c + d + e + f + g + h + i)); runAndWait("TestTaskFactoryMethods.testPar9AndThen", task); assertEquals(value.get(), 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9); assertEquals(countTasks(task.getTrace()), 2 + 1 + 9); }
/** * {@inheritDoc} */ @Override public default Tuple9Task<T1, T2, T3, T4, T5, T6, T7, T8, T9> shareable() { return cast(Task.super.shareable()); };
@Test public void testPar9() { Task<Integer> task = Task.par(Task.value(1), Task.value(2), Task.value(3), Task.value(4), Task.value(5), Task.value(6), Task.value(7), Task.value(8), Task.value(9)) .map((a, b, c, d, e, f, g, h, i) -> a + b + c + d + e + f + g + h + i); runAndWait("TestTaskFactoryMethods.testPar9", task); assertEquals((int)task.get(), 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9); assertEquals(countTasks(task.getTrace()), 2 + 1 + 9); }
@Test public void testPar9FlatMapDsc() { Task<Integer> task = Task.par(Task.value(1), Task.value(2), Task.value(3), Task.value(4), Task.value(5), Task.value(6), Task.value(7), Task.value(8), Task.value(9)) .flatMap("test", (a, b, c, d, e, f, g, h, i) -> Task.value(a + b + c + d + e + f + g + h + i)); runAndWait("TestTaskFactoryMethods.testPar9FlatMapDsc", task); assertEquals((int)task.get(), 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9); assertEquals(countTasks(task.getTrace()), 2 + 3 + 9); }
@Test public void testPar9AndThenDsc() { AtomicInteger value = new AtomicInteger(); Task<?> task = Task.par(Task.value(1), Task.value(2), Task.value(3), Task.value(4), Task.value(5), Task.value(6), Task.value(7), Task.value(8), Task.value(9)) .andThen("test", (a, b, c, d, e, f, g, h, i) -> value.set(a + b + c + d + e + f + g + h + i)); runAndWait("TestTaskFactoryMethods.testPar9AndThenDsc", task); assertEquals(value.get(), 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9); assertEquals(countTasks(task.getTrace()), 2 + 1 + 9); }
/** * {@inheritDoc} */ @Override default Tuple9Task<T1, T2, T3, T4, T5, T6, T7, T8, T9> recover(final String desc, final Function1<Throwable, Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9>> f) { return cast(Task.super.recover(desc, f)); }
@Test public void testPar9Dsc() { Task<Integer> task = Task.par(Task.value(1), Task.value(2), Task.value(3), Task.value(4), Task.value(5), Task.value(6), Task.value(7), Task.value(8), Task.value(9)) .map("test", (a, b, c, d, e, f, g, h, i) -> a + b + c + d + e + f + g + h + i); runAndWait("TestTaskFactoryMethods.testPar9Dsc", task); assertEquals((int)task.get(), 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9); assertEquals(countTasks(task.getTrace()), 2 + 1 + 9); }
@Test public void testPar9FlatMap() { Task<Integer> task = Task.par(Task.value(1), Task.value(2), Task.value(3), Task.value(4), Task.value(5), Task.value(6), Task.value(7), Task.value(8), Task.value(9)) .flatMap((a, b, c, d, e, f, g, h, i) -> Task.value(a + b + c + d + e + f + g + h + i)); runAndWait("TestTaskFactoryMethods.testPar9FlatMap", task); assertEquals((int)task.get(), 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9); assertEquals(countTasks(task.getTrace()), 2 + 3 + 9); }
/** * Equivalent to {@code andThen("andThen", consumer)}. * @see #andThen(String, Consumer9) */ default Tuple9Task<T1, T2, T3, T4, T5, T6, T7, T8, T9> andThen(final Consumer9<T1, T2, T3, T4, T5, T6, T7, T8, T9> consumer) { return cast(andThen("andThen: " + _taskDescriptor.getDescription(consumer.getClass().getName()), tuple -> consumer.accept(tuple._1(), tuple._2(), tuple._3(), tuple._4(), tuple._5(), tuple._6(), tuple._7(), tuple._8(), tuple._9()))); }
/** * {@inheritDoc} */ @Override public default Tuple9Task<T1, T2, T3, T4, T5, T6, T7, T8, T9> onFailure(final Consumer1<Throwable> consumer) { return cast(Task.super.onFailure(consumer)); };
return map(desc, tuple -> f.apply(tuple._1(), tuple._2(), tuple._3(), tuple._4(), tuple._5(), tuple._6(), tuple._7(), tuple._8(), tuple._9()));
return flatMap(desc, tuple -> f.apply(tuple._1(), tuple._2(), tuple._3(), tuple._4(), tuple._5(), tuple._6(), tuple._7(), tuple._8(), tuple._9()));
/** * {@inheritDoc} */ @Override default Tuple9Task<T1, T2, T3, T4, T5, T6, T7, T8, T9> recover(final Function1<Throwable, Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9>> f) { return cast(Task.super.recover(f)); }
/** * Equivalent to {@code map("map", f)}. * @see #map(String, Function9) */ default <R> Task<R> map(final Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> f) { return map("map: " + _taskDescriptor.getDescription(f.getClass().getName()), tuple -> f.apply(tuple._1(), tuple._2(), tuple._3(), tuple._4(), tuple._5(), tuple._6(), tuple._7(), tuple._8(), tuple._9())); }