Class PartialFunctionApplication
java.lang.Object
org.occurrent.application.composition.command.partial.PartialFunctionApplication
Utility for creating partial function applications for "commands", e.g. (
Function<List<T>, List<T>> , Function<Stream<T>, Stream<T>> etc.
For example let's say you have a domain function defined like this in MyClass:
public List<DomainEvent> someDomainFunction(List<DomainEvent>, int someValue, String someString) {
...
}
and you want to pass this as a command to an application service. You could do like this:
applicationService.execute("inputid", events -> MyClass.someDomainFunction(events, 2, "my string));
Alternatively, you can use partial function application by using the partial methods in this class:
applicationService.execute("inputid", partial(Class::someDomainFunction, 2, "my string));
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfacestatic interfacestatic interfacestatic interfacestatic interfacestatic interfacestatic interfacestatic interfacestatic interfacestatic interfacestatic interface -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T,U, R> Function<T, R> partial(BiFunction<T, U, R> fn, U param) static <T,U, V, W, X, Y, Z, T2, U2, V2, R>
Function<T,R> partial(PartialFunctionApplication.DecupleFunction<T, U, V, W, X, Y, Z, T2, U2, V2, R> fn, U param1, V param2, W param3, X param4, Y param5, Z param6, T2 param7, U2 param8, V2 param9) static <T,U, V, W, X, Y, Z, T2, U2, V2, W2, X2, R>
Function<T,R> partial(PartialFunctionApplication.DuodecupleFunction<T, U, V, W, X, Y, Z, T2, U2, V2, W2, X2, R> fn, U param1, V param2, W param3, X param4, Y param5, Z param6, T2 param7, U2 param8, V2 param9, W2 param10, X2 param11) static <T,U, V, W, X, Y, Z, T2, U2, R>
Function<T,R> partial(PartialFunctionApplication.NonupleFunction<T, U, V, W, X, Y, Z, T2, U2, R> fn, U param1, V param2, W param3, X param4, Y param5, Z param6, T2 param7, U2 param8) static <T,U, V, W, X, Y, Z, T2, R>
Function<T,R> partial(PartialFunctionApplication.OctubleFunction<T, U, V, W, X, Y, Z, T2, R> fn, U param1, V param2, W param3, X param4, Y param5, Z param6, T2 param7) static <T,U, V, W, R>
Function<T,R> partial(PartialFunctionApplication.QuadrupleFunction<T, U, V, W, R> fn, U param1, V param2, W param3) static <T,U, V, W, X, R>
Function<T,R> partial(PartialFunctionApplication.QuintupleFunction<T, U, V, W, X, R> fn, U param1, V param2, W param3, X param4) static <T,U, V, W, X, Y, Z, R>
Function<T,R> partial(PartialFunctionApplication.SeptupleFunction<T, U, V, W, X, Y, Z, R> fn, U param1, V param2, W param3, X param4, Y param5, Z param6) static <T,U, V, W, X, Y, R>
Function<T,R> partial(PartialFunctionApplication.SextupleFunction<T, U, V, W, X, Y, R> fn, U param1, V param2, W param3, X param4, Y param5) static <T,U, V, W, X, Y, Z, T2, U2, V2, W2, X2, Y2, R>
Function<T,R> partial(PartialFunctionApplication.TredecupleFunction<T, U, V, W, X, Y, Z, T2, U2, V2, W2, X2, Y2, R> fn, U param1, V param2, W param3, X param4, Y param5, Z param6, T2 param7, U2 param8, V2 param9, W2 param10, X2 param11, Y2 param12) static <T,U, V, R> Function<T, R> partial(PartialFunctionApplication.TriFunction<T, U, V, R> fn, U param1, V param2) static <T,U, V, W, X, Y, Z, T2, U2, V2, W2, R>
Function<T,R> partial(PartialFunctionApplication.UndecupleFunction<T, U, V, W, X, Y, Z, T2, U2, V2, W2, R> fn, U param1, V param2, W param3, X param4, Y param5, Z param6, T2 param7, U2 param8, V2 param9, W2 param10)
-
Constructor Details
-
PartialFunctionApplication
public PartialFunctionApplication()
-
-
Method Details
-
partial
-
partial
public static <T,U, Function<T,V, R> R> partial(PartialFunctionApplication.TriFunction<T, U, V, R> fn, U param1, V param2) -
partial
public static <T,U, Function<T,V, W, R> R> partial(PartialFunctionApplication.QuadrupleFunction<T, U, V, W, R> fn, U param1, V param2, W param3) -
partial
public static <T,U, Function<T,V, W, X, R> R> partial(PartialFunctionApplication.QuintupleFunction<T, U, V, W, X, R> fn, U param1, V param2, W param3, X param4) -
partial
public static <T,U, Function<T,V, W, X, Y, R> R> partial(PartialFunctionApplication.SextupleFunction<T, U, V, W, X, Y, R> fn, U param1, V param2, W param3, X param4, Y param5) -
partial
public static <T,U, Function<T,V, W, X, Y, Z, R> R> partial(PartialFunctionApplication.SeptupleFunction<T, U, V, W, X, Y, Z, R> fn, U param1, V param2, W param3, X param4, Y param5, Z param6) -
partial
public static <T,U, Function<T,V, W, X, Y, Z, T2, R> R> partial(PartialFunctionApplication.OctubleFunction<T, U, V, W, X, Y, Z, T2, R> fn, U param1, V param2, W param3, X param4, Y param5, Z param6, T2 param7) -
partial
public static <T,U, Function<T,V, W, X, Y, Z, T2, U2, R> R> partial(PartialFunctionApplication.NonupleFunction<T, U, V, W, X, Y, Z, T2, U2, R> fn, U param1, V param2, W param3, X param4, Y param5, Z param6, T2 param7, U2 param8) -
partial
public static <T,U, Function<T,V, W, X, Y, Z, T2, U2, V2, R> R> partial(PartialFunctionApplication.DecupleFunction<T, U, V, W, X, Y, Z, T2, U2, V2, R> fn, U param1, V param2, W param3, X param4, Y param5, Z param6, T2 param7, U2 param8, V2 param9) -
partial
public static <T,U, Function<T,V, W, X, Y, Z, T2, U2, V2, W2, R> R> partial(PartialFunctionApplication.UndecupleFunction<T, U, V, W, X, Y, Z, T2, U2, V2, W2, R> fn, U param1, V param2, W param3, X param4, Y param5, Z param6, T2 param7, U2 param8, V2 param9, W2 param10) -
partial
public static <T,U, Function<T,V, W, X, Y, Z, T2, U2, V2, W2, X2, R> R> partial(PartialFunctionApplication.DuodecupleFunction<T, U, V, W, X, Y, Z, T2, U2, V2, W2, X2, R> fn, U param1, V param2, W param3, X param4, Y param5, Z param6, T2 param7, U2 param8, V2 param9, W2 param10, X2 param11) -
partial
public static <T,U, Function<T,V, W, X, Y, Z, T2, U2, V2, W2, X2, Y2, R> R> partial(PartialFunctionApplication.TredecupleFunction<T, U, V, W, X, Y, Z, T2, U2, V2, W2, X2, Y2, R> fn, U param1, V param2, W param3, X param4, Y param5, Z param6, T2 param7, U2 param8, V2 param9, W2 param10, X2 param11, Y2 param12)
-