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
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
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:
-
Method Summary
Modifier and TypeMethodDescriptionReturns a composed function that first applies this function to its input, and then applies theafterfunction to the result.Applies this function to the input parametervalueand returns the result.Returns a composed function that first applies thebeforefunction to its input, and then applies this function to the result.identity()Returns an identity function that returns the input as output.
-
Method Details
-
apply
Applies this function to the input parametervalueand returns the result.- Parameters:
value- The input parameter.- Returns:
- The result of applying this function to
value. - Throws:
E- If this function cannot be applied tovalue.
-
compose
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
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:
-
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.
-