info.javelot.functionalj
Interface Function1

All Known Implementing Classes:
Function1Impl

public interface Function1

Interface that represents a function of 1 parameter.

About function composition

Function composition consists of composing a function f and a function g to obtain a new function h, such that h(x) = f(g(x)). Since the result of calling g becomes the parameter to the function f, f must be a function of 1 parameter. This is why the compose methods are defined only in the interface of a function of 1 parameter.

On the other hand, the function g can be a function of any number of parameters. The resulting function h will be a function of the same number of parameters as the function g. Calling h with parameters will first call g with those parameters, use the result as a parameter to calling the function f, and return that result.

Author:
Copyright © 2006 Frederic Daoud

Method Summary
 Function0 bind(Object p_param)
          Binds the parameter of this function of 1 parameter to return a new function of no parameters.
 Object call(Object p_param)
          Calls the function on the given parameter and returns the result.
 Function0 compose(Function0 p_function0)
          Composes this function with the given function to return a new function according to function composition as described in the interface Function1.
 Function1 compose(Function1 p_function1)
          Composes this function with the given function to return a new function according to function composition as described in the interface Function1.
 Function2 compose(Function2 p_function2)
          Composes this function with the given function to return a new function according to function composition as described in the interface Function1.
 Function3 compose(Function3 p_function3)
          Composes this function with the given function to return a new function according to function composition as described in the interface Function1.
 Function4 compose(Function4 p_function4)
          Composes this function with the given function to return a new function according to function composition as described in the interface Function1.
 FunctionN compose(FunctionN p_functionN)
          Composes this function with the given function to return a new function according to function composition as described in the interface Function1.
 

Method Detail

call

public Object call(Object p_param)
            throws FunctionException
Calls the function on the given parameter and returns the result.

Parameters:
p_param - the parameter to the function.
Returns:
the result of the function call.
Throws:
FunctionException - thrown if an exception occurs during the function call.

bind

public Function0 bind(Object p_param)
Binds the parameter of this function of 1 parameter to return a new function of no parameters.

Parameters:
p_param - the parameter to bind to the function.
Returns:
a new function of no parameters.

compose

public Function0 compose(Function0 p_function0)
Composes this function with the given function to return a new function according to function composition as described in the interface Function1.

Parameters:
p_function0 - the function g to compose with this function f.
Returns:
a new function h such that h(x) = f(g(x)), where x represents all parameters accepted by g.

compose

public Function1 compose(Function1 p_function1)
Composes this function with the given function to return a new function according to function composition as described in the interface Function1.

Parameters:
p_function1 - the function g to compose with this function f.
Returns:
a new function h such that h(x) = f(g(x)), where x represents all parameters accepted by g.

compose

public Function2 compose(Function2 p_function2)
Composes this function with the given function to return a new function according to function composition as described in the interface Function1.

Parameters:
p_function2 - the function g to compose with this function f.
Returns:
a new function h such that h(x) = f(g(x)), where x represents all parameters accepted by g.

compose

public Function3 compose(Function3 p_function3)
Composes this function with the given function to return a new function according to function composition as described in the interface Function1.

Parameters:
p_function3 - the function g to compose with this function f.
Returns:
a new function h such that h(x) = f(g(x)), where x represents all parameters accepted by g.

compose

public Function4 compose(Function4 p_function4)
Composes this function with the given function to return a new function according to function composition as described in the interface Function1.

Parameters:
p_function4 - the function g to compose with this function f.
Returns:
a new function h such that h(x) = f(g(x)), where x represents all parameters accepted by g.

compose

public FunctionN compose(FunctionN p_functionN)
Composes this function with the given function to return a new function according to function composition as described in the interface Function1.

Parameters:
p_functionN - the function g to compose with this function f.
Returns:
a new function h such that h(x) = f(g(x)), where x represents all parameters accepted by g.