Package Torello.Java.Function
Classes extending Java's
A C-Styled Function Pointer is usually easy - it just contains a pointer - it is just a memory address of a C Function. Java, however, requires that the types of both the input-parameters, and the return-values be knownst and identified when using a Java Function Pointer. This differs from how the C-Compiler handles function-pointers. In C, the input and output types are irrelevant.
For whatever reason, Sun-Oracle did not provide a very comprehensive list for all of the combinations of
Regardless, any pre-defined Functional-Interface can be created by anybody who writes Java. Extending the original Java package with these Function-Pointer Type-Definiitions has been useful vis-a-vis the Java-HTML JAR Distribution (this JAR).
Functional Interface - Java is a strongly-typed language.
It is different than other typed-languages like 'C++', because there aren't any memory addresses
allowed inside of a programmer's code in Java. As such, certain artifacts that a programmer
uses often can change as compared to other variants of typed programming-languages.
A C-Styled Function Pointer is usually easy - it just contains a pointer - it is just a memory address of a C Function. Java, however, requires that the types of both the input-parameters, and the return-values be knownst and identified when using a Java Function Pointer. This differs from how the C-Compiler handles function-pointers. In C, the input and output types are irrelevant.
For whatever reason, Sun-Oracle did not provide a very comprehensive list for all of the combinations of
Predicate, Consumer, Supplier or Function when it developed the
package java.util.function.* Though more could have been done, recognizing that the
sheer number of combinations becomes so large (when including all of the variants of Java
Primitives), it is likely that Java's Function Pointer Package didn't "just forget" - it was a
conscious decision.
Regardless, any pre-defined Functional-Interface can be created by anybody who writes Java. Extending the original Java package with these Function-Pointer Type-Definiitions has been useful vis-a-vis the Java-HTML JAR Distribution (this JAR).
-
Single Primitive Java Entity Description BoolConsumer Function-Pointer Input:booleanOutput:voidByteConsumer Function-Pointer Input:byteOutput:voidCharConsumer Function-Pointer Input:charOutput:voidFloatConsumer Function-Pointer Input:floatOutput:voidShortConsumer Function-Pointer Input:shortOutput:voidBoolPredicate Function-Pointer Input:booleanOutput:booleanBytePredicate Function-Pointer Input:booleanOutput:byteCharPredicate Function-Pointer Input:charOutput:booleanFloatPredicate Function-Pointer Input:floatOutput:booleanShortPredicate Function-Pointer Input:shortOutput:booleanBoolSupplier Function-Pointer Input:NONEOutput:booleanByteSupplier Function-Pointer Input:NONEOutput:byteCharSupplier Function-Pointer Input:NONEOutput:charFloatSupplier Function-Pointer Input:NONEOutput:floatShortSupplier Function-Pointer Input:NONEOutput:shortMultilple Object Types Java Entity Description TriConsumer<A,B,C> Function-Pointer Input:A, B, COutput:voidTriFunction<A,B,C,R> Function-Pointer Input:A, B, COutput:RTriPredicate<A,B,C> Function-Pointer Input:A, B, COutput:booleanQuadConsumer<A,B,C,D> Function-Pointer Input:A, B, C, DOutput:voidQuadFunction<A,B,C,D,R> Function-Pointer Input:A, B, C, DOutput:RQuadPredicate<A,B,C,D> Function-Pointer Input:A, B, C, DOutput:booleanQuintConsumer<A,B,C,D,E> Function-Pointer Input:A, B, C, D, EOutput:voidQuintFunction<A,B,C,D,E,R> Function-Pointer Input:A, B, C, D, EOutput:RQuintPredicate<A,B,C,D,E> Function-Pointer Input:A, B, C, D, EOutput:booleanHexConsumer<A,B,C,D,E,F> Function-Pointer Input:A, B, C, D, E, FOutput:voidHexFunction<A,B,C,D,E,F,R> Function-Pointer Input:A, B, C, D, E, FOutput:RHexPredicate<A,B,C,D,E,F> Function-Pointer Input:A, B, C, D, E, FOutput:booleanFunctions into a Primitive Java Entity Description ToDoubleTriFunction<A,B,C> Function-Pointer Input:A, B, COutput:doubleToDoubleQuadFunction<A,B,C,D> Function-Pointer Input:A, B, C, DOutput:doubleToDoubleQuintFunction<A,B,C,D,E> Function-Pointer Input:A, B, C, D, EOutput:doubleToDoubleHexFunction<A,B,C,D,E,F> Function-Pointer Input:A, B, C, D, E, FOutput:doubleToIntTriFunction<A,B,C> Function-Pointer Input:A, B, COutput:intToIntQuadFunction<A,B,C,D> Function-Pointer Input:A, B, C, DOutput:intToIntQuintFunction<A,B,C,D,E> Function-Pointer Input:A, B, C, D, EOutput:intToIntHexFunction<A,B,C,D,E,F> Function-Pointer Input:A, B, C, D, E, FOutput:intToLongTriFunction<A,B,C> Function-Pointer Input:A, B, COutput:longToLongQuadFunction<A,B,C,D> Function-Pointer Input:A, B, C, DOutput:longToLongQuintFunction<A,B,C,D,E> Function-Pointer Input:A, B, C, D, EOutput:longToLongHexFunction<A,B,C,D,E,F> Function-Pointer Input:A, B, C, D, E, FOutput:longToByteFunction<A> Function-Pointer Input:AOutput:byteToByteBiFunction<A,B> Function-Pointer Input:A, BOutput:byteToByteTriFunction<A,B,C> Function-Pointer Input:A, B, COutput:byteToByteQuadFunction<A,B,C,D> Function-Pointer Input:A, B, C, DOutput:byteToByteQuintFunction<A,B,C,D,E> Function-Pointer Input:A, B, C, D, EOutput:byteToByteHexFunction<A,B,C,D,E,F> Function-Pointer Input:A, B, C, D, E, FOutput:byteToCharFunction<A> Function-Pointer Input:AOutput:charToCharBiFunction<A,B> Function-Pointer Input:A, BOutput:charToCharTriFunction<A,B,C> Function-Pointer Input:A, B, COutput:charToCharQuadFunction<A,B,C,D> Function-Pointer Input:A, B, C, DOutput:charToCharQuintFunction<A,B,C,D,E> Function-Pointer Input:A, B, C, D, EOutput:charToCharHexFunction<A,B,C,D,E,F> Function-Pointer Input:A, B, C, D, E, FOutput:charToFloatFunction<A> Function-Pointer Input:AOutput:floatToFloatBiFunction<A,B> Function-Pointer Input:A, BOutput:floatToFloatTriFunction<A,B,C> Function-Pointer Input:A, B, COutput:floatToFloatQuadFunction<A,B,C,D> Function-Pointer Input:A, B, C, DOutput:floatToFloatQuintFunction<A,B,C,D,E> Function-Pointer Input:A, B, C, D, EOutput:floatToFloatHexFunction<A,B,C,D,E,F> Function-Pointer Input:A, B, C, D, E, FOutput:floatToShortFunction<A> Function-Pointer Input:AOutput:shortToShortBiFunction<A,B> Function-Pointer Input:A, BOutput:shortToShortTriFunction<A,B,C> Function-Pointer Input:A, B, COutput:shortToShortQuadFunction<A,B,C,D> Function-Pointer Input:A, B, C, DOutput:shortToShortQuintFunction<A,B,C,D,E> Function-Pointer Input:A, B, C, D, EOutput:shortToShortHexFunction<A,B,C,D,E,F> Function-Pointer Input:A, B, C, D, E, FOutput:shortTwo Primitive Inputs Java Entity Description BiIntConsumer Function-Pointer Input:int, intOutput:voidBiIntFunction<R> Function-Pointer Input:int, intOutput:RBiIntPredicate Function-Pointer Input:int, intOutput:booleanIntBoolConsumer Function-Pointer Input:int, booleanOutput:voidIntBoolFunction<R> Function-Pointer Input:int, booleanOutput:RIntBoolPredicate Function-Pointer Input:int, booleanOutput:booleanIntByteConsumer Function-Pointer Input:int, byteOutput:voidIntByteFunction<R> Function-Pointer Input:int, byteOutput:RIntBytePredicate Function-Pointer Input:int, byteOutput:booleanIntDoubleConsumer Function-Pointer Input:int, doubleOutput:voidIntDoubleFunction<R> Function-Pointer Input:int, doubleOutput:RIntDoublePredicate Function-Pointer Input:int, doubleOutput:booleanIntFloatConsumer Function-Pointer Input:int, floatOutput:voidIntFloatFunction<R> Function-Pointer Input:int, floatOutput:RIntFloatPredicate Function-Pointer Input:int, floatOutput:booleanIntLongConsumer Function-Pointer Input:int, longOutput:voidIntLongFunction<R> Function-Pointer Input:int, longOutput:RIntLongPredicate Function-Pointer Input:int, longOutput:booleanIntShortConsumer Function-Pointer Input:int, shortOutput:voidIntShortFunction<R> Function-Pointer Input:int, shortOutput:RIntShortPredicate Function-Pointer Input:int, shortOutput:booleanIntCharConsumer Function-Pointer Input:int, charOutput:voidIntCharFunction<R> Function-Pointer Input:int, charOutput:RIntCharPredicate Function-Pointer Input:int, charOutput:booleanPrimitve and Object Inputs Java Entity Description ByteTFunction<T,R> Function-Pointer Input:byte, TOutput:RShortTFunction<T,R> Function-Pointer Input:short, TOutput:RIntTFunction<T,R> Function-Pointer Input:int, TOutput:RLongTFunction<T,R> Function-Pointer Input:long, TOutput:RFloatTFunction<T,R> Function-Pointer Input:float, TOutput:RDoubleTFunction<T,R> Function-Pointer Input:double, TOutput:RCharTFunction<T,R> Function-Pointer Input:chat, TOutput:RBooleanTFunction<T,R> Function-Pointer Input:boolean, TOutput:RThree Primitive Inputs Java Entity Description IntIntByteFunc<R> Function-Pointer Input:int, int, byteOutput:RIntIntByteCons Function-Pointer Input:int, int, byteOutput:voidIntIntBytePred Function-Pointer Input:int, int, byteOutput:booleanIntIntShortFunc<R> Function-Pointer Input:int, int, shortOutput:RIntIntShortCons Function-Pointer Input:int, int, shortOutput:voidIntIntShortPred Function-Pointer Input:int, int, shortOutput:booleanTriIntFunc<R> Function-Pointer Input:int, int, intOutput:RTriIntCons Function-Pointer Input:int, int, intOutput:voidTriIntPred Function-Pointer Input:int, int, intOutput:booleanIntIntLongFunc<R> Function-Pointer Input:int, int, longOutput:RIntIntLongCons Function-Pointer Input:int, int, longOutput:voidIntIntLongPred Function-Pointer Input:int, int, longOutput:booleanIntIntFloatFunc<R> Function-Pointer Input:int, int, floatOutput:RIntIntFloatCons Function-Pointer Input:int, int, floatOutput:voidIntIntFloatPred Function-Pointer Input:int, int, floatOutput:booleanIntIntDoubleFunc<R> Function-Pointer Input:int, int, doubleOutput:RIntIntDoubleCons Function-Pointer Input:int, int, doubleOutput:voidIntIntDoublePred Function-Pointer Input:int, int, doubleOutput:booleanIntIntCharFunc<R> Function-Pointer Input:int, int, charOutput:RIntIntCharCons Function-Pointer Input:int, int, charOutput:voidIntIntCharPred Function-Pointer Input:int, int, charOutput:booleanIntIntBoolFunc<R> Function-Pointer Input:int, int, booleanOutput:RIntIntBoolCons Function-Pointer Input:int, int, booleanOutput:voidIntIntBoolPred Function-Pointer Input:int, int, booleanOutput:booleanMisc. (Used in Torello.Java) Java Entity Description IntIntTFunc<T,R> Function-Pointer Input:int, int, TOutput:RToCharIntCharFunc Function-Pointer Input:int, charOutput:charToCharIntTFunc<T> Function-Pointer Input:int, TOutput:charIntIntTConsumer<T> Function-Pointer Input:int, int, TOutput:void