Package eu.bandm.tools.ops
Class Functions
java.lang.Object
eu.bandm.tools.ops.Functions
Library of constants and combinators for classes implementing
Function
.-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic <A,
B> Function<A, B> static <A> Semigroup<A>
asSemigroup
(BiFunction<? super A, ? super A, ? extends A> f) static <A,
B, C> BiFunction<A, B, C> binConstant
(C result) static <A,
B, C> BiFunction<Function<? super A, ? extends B>, Function<? super B, ? extends C>, Function<A, C>> compose()
static <A,
B, C> InvertibleFunction<A, C> compose
(InvertibleFunction<A, B> inner, InvertibleFunction<B, C> outer) static <A,
B, C> RetractableFunction<A, C> compose
(RetractableFunction<A, B> inner, RetractableFunction<B, C> outer) static <A,
B, C> SectionableFunction<A, C> compose
(SectionableFunction<A, B> inner, SectionableFunction<B, C> outer) static <A,
B, C, D> BiFunction<A, B, D> compose
(BiFunction<? super A, ? super B, ? extends C> f, Function<? super C, ? extends D> g) static <A,
B, C> Function<A, C> static <A,
B, C, D> Function<A, D> compose
(Function<? super A, ? extends B> f1, Function<? super B, ? extends C> f2, Function<? super C, ? extends D> f3) static <A,
B, C, D, E>
Function<A,E> compose
(Function<? super A, ? extends B> f1, Function<? super B, ? extends C> f2, Function<? super C, ? extends D> f3, Function<? super D, ? extends E> f4) static <A,
B, C, D, E>
BiFunction<A,C, E> compose
(Function<? super A, ? extends B> f, Function<? super C, ? extends D> g, BiFunction<? super B, ? super D, ? extends E> h) static <A,
B> Function<A, B> constant
(B result) curry
(BiFunction<A, B, C> f) static <A,
B> Function<A, B> static <A,
B> Predicate<A> static <A,
B> Function<A, B> fail()
static <A,
B, C> BiFunction<B, A, C> flip
(BiFunction<A, B, C> f) static <A> InvertibleFunction<A,
A> identity()
static <A> InvertibleFunction<A,
A> static <A,
B> InvertibleFunction<B, A> inverse
(InvertibleFunction<A, B> fun) static <A,
B> SectionableFunction<B, A> inverse
(RetractableFunction<A, B> fun) static <A,
B> RetractableFunction<B, A> inverse
(SectionableFunction<A, B> fun) static <A,
B, C> Function<A, C> leftSection
(BiFunction<? super A, ? super B, ? extends C> f, B arg) static <A,
B> Function<A, B> Returns a variant of the given function that handlesnull
arguments.static <A,
B, C> Functions.MemoizedBiFunction<A, B, C> memoize
(BiFunction<A, B, C> fun) static <A,
B> Function<A, B> static <A,
B> Function<A, B> static <A,
B> Function<A, B> static <A,
B, C> Function<B, C> rightSection
(BiFunction<? super A, ? super B, ? extends C> f, A a) static <A,
B> Function<A, B> static <A> Function<A,
A> tupleConvert
(BiFunction<? super A, ? super B, ? extends C> f) static <A,
B, C> BiFunction<A, B, C> tupleConvert
(Function<? super Tuple2<? super A, ? super B>, ? extends C> f) static <A,
B, C> BiFunction<A, B, C> static <A,
B> Function<A, B>
-
Method Details
-
undef
-
identity
-
identity
-
compose
-
compose
public static <A,B, RetractableFunction<A,C> C> compose(RetractableFunction<A, B> inner, RetractableFunction<B, C> outer) -
compose
public static <A,B, SectionableFunction<A,C> C> compose(SectionableFunction<A, B> inner, SectionableFunction<B, C> outer) -
compose
public static <A,B, InvertibleFunction<A,C> C> compose(InvertibleFunction<A, B> inner, InvertibleFunction<B, C> outer) -
compose
public static <A,B, BiFunction<Function<? super A,C> ? extends B>, compose()Function<? super B, ? extends C>, Function<A, C>> -
curry
-
uncurry
-
constant
-
binConstant
-
flip
-
rightSection
public static <A,B, Function<B,C> C> rightSection(BiFunction<? super A, ? super B, ? extends C> f, A a) -
leftSection
public static <A,B, Function<A,C> C> leftSection(BiFunction<? super A, ? super B, ? extends C> f, B arg) -
compose
public static <A,B, BiFunction<A,C, D> B, composeD> (BiFunction<? super A, ? super B, ? extends C> f, Function<? super C, ? extends D> g) -
compose
public static <A,B, BiFunction<A,C, D, E> C, composeE> (Function<? super A, ? extends B> f, Function<? super C, ? extends D> g, BiFunction<? super B, ? super D, ? extends E> h) -
tupleConvert
public static <A,B, Function<Tuple2<A,C> B>, tupleConvertC> (BiFunction<? super A, ? super B, ? extends C> f) -
tupleConvert
public static <A,B, BiFunction<A,C> B, tupleConvertC> (Function<? super Tuple2<? super A, ? super B>, ? extends C> f) -
tupling
-
fail
-
restrict
-
strict
-
override
-
defaultTo
-
domain
-
arbitrary
-
adjust
-
trace
-
compose
-
compose
-
asSemigroup
-
inverse
-
inverse
-
inverse
-
memoize
-
memoize
-
liftNull
Returns a variant of the given function that handlesnull
arguments.- Parameters:
fun
- a function- Returns:
- a function that computes the same results as
fun
, but returnsnull
immediately when applied tonull
. - Throws:
NullPointerException
- iffun == null
.
-