Package org.forgerock.util
Interface Function<VIN,VOUT,E extends Exception>
-
- Type Parameters:
VIN- The type of the function parameter, orVoidif the function does not expect a parameter.VOUT- The type of the function result, orVoidif the function does not return anything (i.e. it only has side-effects).E- The type of the exception thrown by the function, orNeverThrowsExceptionif no exception is thrown by the function.
- All Known Implementing Classes:
CloseSilentlyFunction,HsmKeyStoreLoader,JsonValueTraverseFunction,TranslateJsonSchema
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface Function<VIN,VOUT,E extends Exception>
A synchronous function which returns a result immediately.Exception handling: implementations which do not throw any exceptions should declare that they throw an exception of type
NeverThrowsException.Example usage:
public class IsPossiblePrime implements Function<String, Boolean, IllegalArgumentException> { public Boolean apply(String value) throws IllegalArgumentException { // Parse the parameter now and potentially immediately throw an // exception. final BigInteger possiblePrime = new BigInteger(value); // Determine if the parameter is a prime number. return possiblePrime.isProbablePrime(1000); } }- See Also:
AsyncFunction,NeverThrowsException
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default <V> Function<VIN,V,E>andThen(Function<? super VOUT,? extends V,E> after)Returns a composed function that first applies this function to its input, and then applies theafterfunction to the result.VOUTapply(VIN value)Applies this function to the input parametervalueand returns the result.default <V> Function<V,VOUT,E>compose(Function<? super V,? extends VIN,E> before)Returns a composed function that first applies thebeforefunction to its input, and then applies this function to the result.static <V,E extends Exception>
Function<V,V,E>identity()Returns an identity function that returns the input as output.
-
-
-
Method Detail
-
apply
VOUT apply(VIN value) throws E extends Exception
Applies this function to the input parametervalueand returns the result.
-
compose
default <V> Function<V,VOUT,E> compose(Function<? super V,? extends VIN,E> before) throws E extends Exception
Returns a composed function that first applies thebeforefunction to its input, and then applies this function to the result. If evaluation of either function throws an exception, it is relayed to the caller of the composed function.- Type Parameters:
V- the type of input to thebeforefunction, and to the composed function- Parameters:
before- the function to apply before this function is applied- Returns:
- a composed function that first applies the
beforefunction and then applies this function - Throws:
NullPointerException- if before is nullE extends Exception- See Also:
andThen(Function)
-
andThen
default <V> Function<VIN,V,E> andThen(Function<? super VOUT,? extends V,E> after)
Returns a composed function that first applies this function to its input, and then applies theafterfunction to the result. If evaluation of either function throws an exception, it is relayed to the caller of the composed function.- Type Parameters:
V- the type of output of theafterfunction, and of the composed function- Parameters:
after- the function to apply after this function is applied- Returns:
- a composed function that first applies this function and then
applies the
afterfunction - Throws:
NullPointerException- if after is null- See Also:
compose(Function)
-
identity
static <V,E extends Exception> Function<V,V,E> identity()
Returns an identity function that returns the input as output.- Type Parameters:
V- the input/output typeE- The type of the exception thrown by the function, orNeverThrowsExceptionif no exception is thrown by the function.- Returns:
- an identity function that will return a result promise of the input.
-
-