Interface | Description |
---|---|
BooleanConsumer |
A consumer for short values.
|
BooleanFunction1<T> |
Function which has a primitive boolean as input,
and an object as output.
|
BooleanFunction2<T> |
Function which has two primitive booleans as input,
and an object as output.
|
BooleanOperator0 |
Function with no argument and a boolean result.
|
BooleanOperator1 |
Unary operator with a boolean argument and result.
|
BooleanOperator2 |
Binary operator with two boolean arguments and a boolean result.
|
BooleanOperator3 |
Ternary operator with three boolean arguments and a boolean result.
|
BooleanPredicate1 |
Predicate which expects a primitive boolean argument.
|
BooleanPredicate2 |
Predicate which expects two primitive boolean arguments.
|
BooleanPredicate3 |
Predicate which expects three primitive boolean arguments.
|
BooleanSetter<T> |
Procedure with a generic and a boolean argument.
|
ByteConsumer |
A consumer for short values.
|
ByteFunction1<T> |
Function which has a primitive byte as input,
and an object as output.
|
ByteFunction2<T> |
Function which has two primitive bytes as input,
and an object as output.
|
ByteOperator0 |
Function with no argument and a byte result.
|
ByteOperator1 |
Unaray operator with a byte argument and result.
|
ByteOperator2 |
Binary operator with two byte arguments and a byte result.
|
ByteOperator3 |
Ternary operator with three byte arguments and a byte result.
|
ByteOrdering |
Define an order for two primitive byte values.
|
ByteOrdering.Serial |
A byte ordering which is serializable.
|
BytePredicate1 |
Predicate which expects a primitive byte argument.
|
BytePredicate2 |
Predicate which expects two primitive byte arguments.
|
BytePredicate3 |
Predicate which expects three primitive byte arguments.
|
ByteSetter<T> |
Procedure with a generic and a byte argument.
|
CharConsumer |
A consumer for short values.
|
CharFunction1<T> |
Function which has a primitive character as input,
and an object as output.
|
CharFunction2<T> |
Function which has two primitive characters as input,
and an object as output.
|
CharOperator0 |
Function with no argument and a char result.
|
CharOperator1 |
Unary operator with a char argument and result.
|
CharOperator2 |
Binary operator with two char arguments and a char result.
|
CharOperator3 |
Ternary operator with three char arguments and a char result.
|
CharOrdering |
Define an order for two primitive char values.
|
CharOrdering.Serial |
A char ordering which is serializable.
|
CharPredicate1 |
Predicate which expects a primitive char argument.
|
CharPredicate2 |
Predicate which expects two primitive char arguments.
|
CharPredicate3 |
Predicate which expects three primitive char arguments.
|
CharSetter<T> |
Procedure with a generic and a char argument.
|
DoubleFunction2<T> |
Function with 2 primitive double arguments creation a general result.
|
DoubleFunction3<T> |
Function with 3 primitive double arguments creation a general result.
|
DoubleFunction4<T> |
Function with 4 primitive double arguments creation a general result.
|
DoubleOperator0 |
Function with no argument and a double result.
|
DoubleOperator1 |
Unary operator with a double argument and result.
|
DoubleOperator2 |
Binary operator with two double arguments and a double result.
|
DoubleOperator3 |
Ternary operator with three double arguments and a double result.
|
DoubleOrdering |
Define an order for two primitive double values.
|
DoubleOrdering.Serial |
A double ordering which is serializable.
|
DoublePredicate1 |
Predicate which expects a primitive double argument.
|
DoublePredicate2 |
Predicate which expects two primitive double arguments.
|
DoublePredicate3 |
Predicate which expects three primitive double arguments.
|
DoubleSetter<T> |
Procedure with a generic and a double argument.
|
FloatConsumer |
A consumer for short values.
|
FloatFunction1<T> |
Function which has a primitive float as input,
and an object as output.
|
FloatFunction2<T> |
Function which has two primitive floats as input,
and an object as output.
|
FloatOperator0 |
Function with no argument and a float result.
|
FloatOperator1 |
Unary operator with a float argument and result.
|
FloatOperator2 |
Binary operator with two float arguments and a float result.
|
FloatOperator3 |
Ternary operator with three float arguments and a float result.
|
FloatOrdering |
Define an order for two primitive float values.
|
FloatOrdering.Serial |
A float ordering which is serializable.
|
FloatPredicate1 |
Predicate which expects a primitive float argument.
|
FloatPredicate2 |
Predicate which expects two primitive float arguments.
|
FloatPredicate3 |
Predicate which expects three primitive float arguments.
|
FloatSetter<T> |
Procedure with a generic and a float argument.
|
FragileBooleanConsumer<E extends java.lang.Exception> |
Boolean consumer which throws a checked exception.
|
FragileByteConsumer<E extends java.lang.Exception> |
Byte consumer which throws a checked exception.
|
FragileCharConsumer<E extends java.lang.Exception> |
Character consumer which throws a checked exception.
|
FragileDoubleConsumer<E extends java.lang.Exception> |
Double consumer which throws a checked exception.
|
FragileFloatConsumer<E extends java.lang.Exception> |
Float consumer which throws a checked exception.
|
FragileFunction0<R,E extends java.lang.Exception> |
Function with no parameter which can throw an exception.
|
FragileFunction1<R,E extends java.lang.Exception,P> |
Function with one parameter, possibly throwing an exception.
|
FragileFunction2<R,E extends java.lang.Exception,P1,P2> |
Function with two parameters, possibly throwing an exception.
|
FragileFunction3<R,E extends java.lang.Exception,P1,P2,P3> |
Function with three parameters, possibly throwing a checked exception.
|
FragileFunction4<R,E extends java.lang.Exception,P1,P2,P3,P4> |
Function with four parameters, possibly throwing a checked exception.
|
FragileIntConsumer<E extends java.lang.Exception> |
Int consumer which throws a checked exception.
|
FragileLongConsumer<E extends java.lang.Exception> |
Long consumer which throws a checked exception.
|
FragileProcedure0<E extends java.lang.Exception> |
Function without return and with no paramete, but a possible expectionr.
|
FragileProcedure1<E extends java.lang.Exception,P> |
Function without return and with one parameter.
|
FragileProcedure2<E extends java.lang.Exception,P1,P2> |
Function without return and with two parameters.
|
FragileProcedure3<E extends java.lang.Exception,P1,P2,P3> |
Function without return and with three parameters.
|
FragileProcedure4<E extends java.lang.Exception,P1,P2,P3,P4> |
Function without return and with four parameters.
|
FragileShortConsumer<E extends java.lang.Exception> |
Short consumer which throws a checked exception.
|
Function0<R> |
Function with no parameter.
|
Function1<R,P> |
Function with one parameter.
|
Function2<R,P1,P2> |
Function with two parameters.
|
Function3<R,P1,P2,P3> |
Function with three parameters.
|
Function4<R,P1,P2,P3,P4> |
Function with four parameters.
|
Function5<R,P1,P2,P3,P4,P5> |
Function with five parameters.
|
Function6<R,P1,P2,P3,P4,P5,P6> |
Function with six parameters.
|
Function7<R,P1,P2,P3,P4,P5,P6,P7> |
Function with seven parameters.
|
Function8<R,P1,P2,P3,P4,P5,P6,P7,P8> |
Function with eight parameters.
|
Function9<R,P1,P2,P3,P4,P5,P6,P7,P8,P9> |
Function with nine parameters.
|
IntFunction2<T> |
Function with two integer arguments and generic result.
|
IntFunction3<T> |
Function with three integer arguments and generic result.
|
IntOperator0 |
Function with no argument and an int result.
|
IntOperator1 |
Unary operator with a int argument and result.
|
IntOperator2 |
Binary operator with two int arguments and a int result.
|
IntOperator3 |
Ternary operator with three int arguments and a int result.
|
IntOrdering |
Define an order for two primitive int values.
|
IntOrdering.Serial |
An int ordering which is serializable.
|
IntPredicate1 |
Predicate which expects a primitive integer argument.
|
IntPredicate2 |
Predicate which expects two primitive integer arguments.
|
IntPredicate3 |
Predicate which expects three primitive integer arguments.
|
IntSetter<T> |
Procedure with a generic and a int argument.
|
IntToByteFunction1 |
Function with one primitive integer argument and a primitive byte return.
|
IntToByteFunction2 |
Function with two primitive integer arguments and a primitive byte result.
|
IntToByteFunction3 |
Function with three primitive integer arguments and a primitive byte result.
|
IntToCharFunction1 |
Function with one primitive integer argument and a primitive char return.
|
IntToCharFunction2 |
Function with two primitive integer arguments and a primitive byte result.
|
IntToCharFunction3 |
Function with three primitive integer arguments and a primitive char result.
|
IntToDoubleFunction2 |
Function with two primitive integer arguments and a primitive double result.
|
IntToDoubleFunction3 |
Function with three primitive integer arguments and a primitive double result.
|
IntToFloatFunction1 |
Function with one primitive integer argument and a primitive flaat return.
|
IntToFloatFunction2 |
Function with two primitive integer arguments and a primitive float result.
|
IntToFloatFunction3 |
Function with three primitive integer arguments and a primitive float result.
|
IntToIntFunction3 |
Function with three primitive integer arguments and a primitive integer result.
|
IntToLongFunction2 |
Function with two primitive integer arguments and a primitive long result.
|
IntToLongFunction3 |
Function with three primitive integer arguments and a primitive long result.
|
IntToShortFunction1 |
Function with one primitive integer argument and a primitive short return.
|
IntToShortFunction2 |
Function with two primitive integer arguments and a primitive short result.
|
IntToShortFunction3 |
Function with three primitive integer arguments and a primitive short result.
|
LongFunction2<T> |
Function which has two primitive longs as input,
and an object as output.
|
LongOperator0 |
Function with no argument and a long result.
|
LongOperator1 |
Unary operator with a long argument and result.
|
LongOperator2 |
Binary operator with two long arguments and a long result.
|
LongOperator3 |
Function with three long arguments and a long result.
|
LongOrdering |
Define an order for two primitive long values.
|
LongOrdering.Serial |
A long ordering which is serializable.
|
LongPredicate1 |
Predicate which expects a primitive long argument.
|
LongPredicate2 |
Predicate which expects two primitive long arguments.
|
LongPredicate3 |
Predicate which expects three primitive long arguments.
|
LongSetter<T> |
Procedure with a generic and a long argument.
|
Ordering<T> |
Define an order for two objects of a generic type.
|
Ordering.Serial<E> |
An ordering which is serializable.
|
Predicate1<P> |
A function with one argument which returns a boolean value.
|
Predicate2<P1,P2> |
A function with two arguments which returns a boolean value.
|
Predicate3<P1,P2,P3> |
A function with three arguments which returns a boolean value.
|
Predicate4<P1,P2,P3,P4> |
A function with four arguments which returns a boolean value.
|
Predicate5<P1,P2,P3,P4,P5> |
A function with five arguments which returns a boolean value.
|
Predicate6<P1,P2,P3,P4,P5,P6> |
A function with six arguments which returns a boolean value.
|
Predicate7<P1,P2,P3,P4,P5,P6,P7> |
A function with seven arguments which returns a boolean value.
|
Predicate8<P1,P2,P3,P4,P5,P6,P7,P8> |
A function with eight arguments which returns a boolean value.
|
Predicate9<P1,P2,P3,P4,P5,P6,P7,P8,P9> |
A function with nine arguments which returns a boolean value.
|
Procedure0 |
Function without return and with no parameter.
|
Procedure1<P> |
Function without return and with one parameter.
|
Procedure2<P1,P2> |
Function without return and with two parameters.
|
Procedure3<P1,P2,P3> |
Function without return and with three parameters.
|
Procedure4<P1,P2,P3,P4> |
Function without return and with four parameters.
|
Procedure5<P1,P2,P3,P4,P5> |
Function without return and with five parameters.
|
Procedure6<P1,P2,P3,P4,P5,P6> |
Function without return and with six parameters.
|
Procedure7<P1,P2,P3,P4,P5,P6,P7> |
Function without return and with seven parameters.
|
Procedure8<P1,P2,P3,P4,P5,P6,P7,P8> |
Function without return and with eight parameters.
|
Procedure9<P1,P2,P3,P4,P5,P6,P7,P8,P9> |
Function without return and with nine parameters.
|
ShortConsumer |
A consumer for short values.
|
ShortFunction1<T> |
Function which has a primitive short as input,
and an object as output.
|
ShortFunction2<T> |
Function which has two primitive shorts as input,
and an object as output.
|
ShortOperator0 |
Function with no argument and a short result.
|
ShortOperator1 |
Unary operator with a short argument and result.
|
ShortOperator2 |
Binary operator with two short arguments and a short result.
|
ShortOperator3 |
Ternary operator with three short arguments and a short result.
|
ShortOrdering |
Define an order for two primitive short values.
|
ShortOrdering.Serial |
A short ordering which is serializable.
|
ShortPredicate1 |
Predicate which expects a primitive short argument.
|
ShortPredicate2 |
Predicate which expects two primitive short arguments.
|
ShortPredicate3 |
Predicate which expects three primitive short arguments.
|
ShortSetter<T> |
Procedure with a generic and a short argument.
|
ToByteFunction<T> |
A function which produces a byte value from a generic value.
|
ToCharFunction<T> |
A function which produces a char value from a generic value.
|
ToFloatFunction<T> |
A function which produces a float value from a generic value.
|
ToShortFunction<T> |
A function which produces a short value from a generic value.
|
VarBooleanOperator |
Primitive boolean operator with a variable number of arguments.
|
VarByteOperator |
Primitive byte operator with a variable number of arguments.
|
VarCharOperator |
Primitive char operator with a variable number of arguments.
|
VarDoubleOperator |
Primitive double operator with a variable number of arguments.
|
VarFloatOperator |
Primitive float operator with a variable number of arguments.
|
VarIntOperator |
Primitive integer operator with a variable number of arguments.
|
VarLongOperator |
Primitive long operator with a variable number of arguments.
|
VarShortOperator |
Primitive short operator with a variable number of arguments.
|
Class | Description |
---|---|
Predicates |
Helper for predicates.
|
Exception | Description |
---|---|
EvaluationException |
Helper exception for wrapping a checked exception.
|
Functions here take up to 9 arguments, and return one result.
For historical reasons (this lib started earlier) the order of type arguments
is different from standard Java Function
and BiFunction
.
While Java orders the types like lambda arguments (<P1, P2, R>
):
(P1 arg1, P2 arg2) -> R
this lib follows the order in function definitions (<R, P1, P2>
}:
R function(P1 arg1, P2 arg2)
Some of the functions are available in standard Java, and implementations here extend the standard interfaces nowadays, but usually come with a bit of benefit. But especially they allow more than 2 arguments.
Functions with 2 or more arguments can be chained after any function returning a
tuple of the correct size and matching elements.
See eg Function2.after3(de.caff.generics.function.Function3)
.
Having the analogue to Function2.andThen(java.util.function.Function)
is not possible due to the restrictions of the Java generic type system.
Function0
: function without argumen like java.util.function.Supplier
.Function1
: function with one argument like java.util.function.Function
.Function2
: function with two arguments like java.util.function.BiFunction
.Function3
: function with three arguments.Function4
: function with four arguments.Function5
: function with five arguments.Function6
: function with six arguments.Function7
: function with seven arguments.Function8
: function with eight arguments.Function9
: function with nine arguments.Procedures are functions with no return values, so they are quite similar to functions:
As functions they can be chain after functions which return tuples of the correct size.
Procedure0
: procedure without argument.Procedure1
: procedure with one argument.Procedure2
: procedure with two arguments.Procedure3
: procedure with three arguments.Procedure4
: procedure with four arguments.Procedure5
: procedure with five arguments.Procedure6
: procedure with six arguments.Procedure7
: procedure with seven arguments.Procedure8
: procedure with eight arguments.Procedure9
: procedure with nine arguments.
Predicates are just functions which return a boolean
. Basically a function
returning a java.lang.Boolean
is quite the same, but for one thing the predicates
avoid boxing/unboxing, and come with special methods allowing easy boolean combination.
As functions they can be chain after functions which return tuples of the correct size.
Predicate1
: predicate with one argument.Predicate2
: predicate with one arguments.Predicate3
: predicate with three arguments.Predicate4
: predicate with four arguments.Predicate5
: predicate with five arguments.Predicate6
: predicate with six arguments.Predicate7
: predicate with seven arguments.Predicate8
: predicate with eight arguments.Predicate9
: predicate with nine arguments.FragileFunction0
: fragile function without arguments.FragileFunction1
: fragile function with one arguments.Some of these are lacking in the standard lib, although they are useful to avoid unnecessary boxing/unboxing.
Primitive types are divided in
int
, long
, and double
.boolean
.