ru.yandex.bolts.function.Function3V Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bolts Show documentation
Show all versions of bolts Show documentation
Collections utilities used in various Yandex projects
The newest version!
package ru.yandex.bolts.function;
// this file is generated by ru.yandex.bolts.function.gen.GenerateFunctions
import ru.yandex.bolts.collection.Tuple3;
@FunctionalInterface
public interface Function3V {
void apply(A a, B b, C c);
default Function2V bind1(final A a) {
return (b, c) -> apply(a, b, c);
}
default Function2V bind2(final B b) {
return (a, c) -> apply(a, b, c);
}
default Function2V bind3(final C c) {
return (a, b) -> apply(a, b, c);
}
static Function2, A, Function2V> bind1F2() {
return Function3V::bind1;
}
default Function> bind1F() {
return Function3V.bind1F2().bind1(this);
}
static Function2, B, Function2V> bind2F2() {
return Function3V::bind2;
}
default Function> bind2F() {
return Function3V.bind2F2().bind1(this);
}
static Function2, C, Function2V> bind3F2() {
return Function3V::bind3;
}
default Function> bind3F() {
return Function3V.bind3F2().bind1(this);
}
default Function, Object> asFunction() {
return t -> {
apply(t._1, t._2, t._3);
return null;
};
}
default Function1V> asFunction1V() {
return t -> apply(t._1, t._2, t._3);
}
default Function3 asFunction3() {
return (a, b, c) -> {
apply(a, b, c);
return null;
};
}
@SuppressWarnings("unchecked")
default Function3V uncheckedCast() {
return (Function3V) this;
}
} //~