vertx.effect.exp.Quintuple Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vertx-effect Show documentation
Show all versions of vertx-effect Show documentation
When actors meet Functional Programming
package vertx.effect.exp;
import io.vavr.Tuple5;
import vertx.effect.Val;
import vertx.effect.core.AbstractVal;
import static java.util.Objects.requireNonNull;
public abstract class Quintuple extends AbstractVal> {
public static Quintuple parallel(final Val _1,
final Val _2,
final Val _3,
final Val _4,
final Val _5) {
return new ParallelQuintuple<>(requireNonNull(_1),
requireNonNull(_2),
requireNonNull(_3),
requireNonNull(_4),
requireNonNull(_5)
);
}
public static Quintuple sequential(final Val _1,
final Val _2,
final Val _3,
final Val _4,
final Val _5) {
return new SequentialQuintuple<>(requireNonNull(_1),
requireNonNull(_2),
requireNonNull(_3),
requireNonNull(_4),
requireNonNull(_5)
);
}
public abstract Val _1();
public abstract Val _2();
public abstract Val _3();
public abstract Val _4();
public abstract Val _5();
public static Val race(final Quintuple quintuple) {
if (quintuple == null)
return Cons.failure(new IllegalArgumentException("Quintuple.race: pair is null"));
return ListExp.parallel(quintuple._1(),
quintuple._2(),
quintuple._3(),
quintuple._4(),
quintuple._5()
)
.race();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy