0.10.8-alpha
ca.uqac.lif.cep.functions.BinaryFunction< T, V, U > Class Template Referenceabstract

Function of two inputs and one output. More...

Public Member Functions

 BinaryFunction (Class< T > t, Class< V > v, Class< U > u)
 Creates a new instance of a binary function. More...
 
void evaluate (Object[] inputs, Object[] outputs, Context context, EventTracker tracker)
 
abstract U getValue (T x, V y)
 Evaluates the function. More...
 
final int getInputArity ()
 
final int getOutputArity ()
 
getStartValue ()
 Gets a reasonable starting value if this function is used to create a CumulativeFunction. More...
 
void reset ()
 
BinaryFunction< T, V, U > duplicate (boolean with_state)
 Duplicates an object. More...
 
final Class< T > getInputTypeLeft ()
 
final Class< V > getInputTypeRight ()
 
final void getInputTypesFor (Set< Class<?>> classes, int index)
 
final Class< U > getOutputType ()
 
final Class<?> getOutputTypeFor (int index)
 
- Public Member Functions inherited from ca.uqac.lif.cep.functions.Function
void evaluate (Object[] inputs, Object[] outputs, Context context)
 Evaluates the outputs of the function, given some inputs. More...
 
abstract void evaluate (Object[] inputs, Object[] outputs, Context context, EventTracker tracker)
 Evaluates the outputs of the function, given some inputs. More...
 
void evaluate (Object[] inputs, Object[] outputs)
 Evaluates the outputs of the function, given some inputs. More...
 
boolean evaluatePartial (Object[] inputs, Object[] outputs, Context context)
 Evaluates the outputs of the function, given some inputs. More...
 
boolean evaluateLazy (Object[] inputs, Object[] outputs)
 Attempts a lazy evaluation of the function, given some inputs. More...
 
abstract int getInputArity ()
 Gets the function's input arity, i.e. More...
 
abstract int getOutputArity ()
 Gets the function's output arity, i.e. More...
 
void reset ()
 Resets the function to its initial state. More...
 
abstract void getInputTypesFor (Set< Class<?>> classes, int index)
 Populates the set of classes accepted by the function for its i-th input. More...
 
abstract Class<?> getOutputTypeFor (int index)
 Returns the type of the events produced by the function for its i-th output. More...
 
Future< Object[]> evaluateFast (Object[] inputs, Object[] outputs, Context context, ExecutorService service)
 Utility method that delegates the call to evaluate() More...
 
final Function duplicate ()
 Duplicates an object and sets it to its initial state. More...
 
abstract Function duplicate (boolean with_state)
 Duplicates an object. More...
 
Object print (ObjectPrinter<?> printer)
 
final Function read (ObjectReader<?> reader, Object o) throws FunctionException
 Reads the content of a function from a serialized object. More...
 

Protected Member Functions

void trackAssociations (T x, V y, U z, EventTracker tracker)
 Tracks the input/output associations for the evaluation of this function. More...
 
- Protected Member Functions inherited from ca.uqac.lif.cep.functions.Function
Object printState ()
 Produces an object that represents the state of the current function. More...
 
Function readState (Object o)
 Reads the state of a function and uses it to create a new instance. More...
 

Additional Inherited Members

- Static Public Attributes inherited from ca.uqac.lif.cep.functions.Function
static final int s_maxInputArity = 10
 The maximum input arity that a function can have. More...
 

Detailed Description

Function of two inputs and one output.

Parameters
<T>The type of the first input
<V>The type of the second input
<U>The type of the output
Author
Sylvain Hallé
Since
0.3

Definition at line 37 of file BinaryFunction.java.

Constructor & Destructor Documentation

◆ BinaryFunction()

ca.uqac.lif.cep.functions.BinaryFunction< T, V, U >.BinaryFunction ( Class< T >  t,
Class< V >  v,
Class< U >  u 
)

Creates a new instance of a binary function.

Parameters
tThe class of the first input
vThe class of the second input
uThe class of the output

Definition at line 64 of file BinaryFunction.java.

Member Function Documentation

◆ duplicate()

BinaryFunction<T, V, U> ca.uqac.lif.cep.functions.BinaryFunction< T, V, U >.duplicate ( boolean  with_state)

Duplicates an object.

Optionally, set the object into the same state as the source object.

Parameters
with_stateSet to true to replicate the object's state, false to create a new copy in the initial state.
Returns
Another object

Implements ca.uqac.lif.cep.Duplicable.

Definition at line 145 of file BinaryFunction.java.

◆ evaluate()

void ca.uqac.lif.cep.functions.BinaryFunction< T, V, U >.evaluate ( Object []  inputs,
Object []  outputs,
Context  context,
EventTracker  tracker 
)

Definition at line 75 of file BinaryFunction.java.

◆ getInputArity()

final int ca.uqac.lif.cep.functions.BinaryFunction< T, V, U >.getInputArity ( )

Definition at line 114 of file BinaryFunction.java.

◆ getInputTypeLeft()

final Class<T> ca.uqac.lif.cep.functions.BinaryFunction< T, V, U >.getInputTypeLeft ( )

Definition at line 150 of file BinaryFunction.java.

◆ getInputTypeRight()

final Class<V> ca.uqac.lif.cep.functions.BinaryFunction< T, V, U >.getInputTypeRight ( )

Definition at line 155 of file BinaryFunction.java.

◆ getInputTypesFor()

final void ca.uqac.lif.cep.functions.BinaryFunction< T, V, U >.getInputTypesFor ( Set< Class<?>>  classes,
int  index 
)

Definition at line 161 of file BinaryFunction.java.

◆ getOutputArity()

final int ca.uqac.lif.cep.functions.BinaryFunction< T, V, U >.getOutputArity ( )

Definition at line 120 of file BinaryFunction.java.

◆ getOutputType()

final Class<U> ca.uqac.lif.cep.functions.BinaryFunction< T, V, U >.getOutputType ( )

Definition at line 173 of file BinaryFunction.java.

◆ getOutputTypeFor()

final Class<?> ca.uqac.lif.cep.functions.BinaryFunction< T, V, U >.getOutputTypeFor ( int  index)

Definition at line 179 of file BinaryFunction.java.

◆ getStartValue()

U ca.uqac.lif.cep.functions.BinaryFunction< T, V, U >.getStartValue ( )

Gets a reasonable starting value if this function is used to create a CumulativeFunction.

You only need to override this method if the function is expected to be used in a cumulative function; otherwise returning null is fine.

Returns
A start value

Definition at line 133 of file BinaryFunction.java.

◆ getValue()

abstract U ca.uqac.lif.cep.functions.BinaryFunction< T, V, U >.getValue ( x,
y 
)
abstract

Evaluates the function.

Parameters
xThe first argument
yThe second argument
Returns
The return value of the function

◆ reset()

void ca.uqac.lif.cep.functions.BinaryFunction< T, V, U >.reset ( )

Definition at line 139 of file BinaryFunction.java.

◆ trackAssociations()

void ca.uqac.lif.cep.functions.BinaryFunction< T, V, U >.trackAssociations ( x,
y,
z,
EventTracker  tracker 
)
protected

Tracks the input/output associations for the evaluation of this function.

Parameters
xThe first argument
yThe second argument
zThe return value of the function
trackerThe tracker

Definition at line 107 of file BinaryFunction.java.


The documentation for this class was generated from the following file: