
vertx.effect.exp.Pair 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.Tuple2;
import vertx.effect.Val;
import vertx.effect.core.AbstractVal;
public abstract class Pair extends AbstractVal> {
public static Pair sequential(final Val _1,
final Val _2) {
return new SequentialPair<>(_1,
_2
);
}
public static Pair parallel(final Val _1,
final Val _2) {
return new ParallelPair<>(_1,
_2
);
}
public abstract Val _1();
public abstract Val _2();
public static Val race(final Pair pair) {
if (pair == null)
return Cons.failure(new IllegalArgumentException("Pair.race: pair is null"));
return ListExp.parallel(pair._1(),
pair._2()
)
.race();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy