be.SIRAPRISE.typeimplementations
Interface OperatorImplementation

All Known Subinterfaces:
AggregationOperatorImplementation, OperatorImplementation_V0104
All Known Implementing Classes:
ABS_FLOAT, ABS_INT, ABS_LONG, ACOS_FLOAT, ACOSEC_FLOAT, ACOTAN_FLOAT, AND_BOOLEAN_BOOLEAN, ASEC_FLOAT, ASIN_FLOAT, ATAN_FLOAT, BEGINSWITH_NAME_NAME, BEGINSWITH_STRING_STRING, CEIL_INT_INT, CEIL_LONG_LONG, CONCAT_STRING_STRING, COS_ANGLE, COSEC_ANGLE, COTAN_ANGLE, DATESHIFT_DATE_INT_INT_INT, DIV_FLOAT_FLOAT, DIV_INT_INT, DIV_LONG_LONG, ENDSWITH_NAME_NAME, ENDSWITH_STRING_STRING, EQ_BOOLEAN_BOOLEAN, EQ_RELATION_RELATION, EXP_FLOAT, EXP_FLOAT_FLOAT, FIRSTDATE, FIRSTINT, FIRSTLONG, FLOOR_INT_INT, FLOOR_LONG_LONG, GreaterOrEqualOperatorImplementation, GT_ANGLE_ANGLE, GT_DATE_DATE, GT_DECIMAL_DECIMAL, GT_FLOAT_FLOAT, GT_FOO_FOO, GT_INT_INT, GT_LONG_LONG, GT_TIMEOFDAY_TIMEOFDAY, LASTDATE, LASTINT, LASTLONG, LENGTH_INTINTERVAL, LENGTH_LONGINTERVAL, LessOrEqualOperatorImplementation, LessThanOperatorImplementation, LN_FLOAT, LOWERCASE_STRING, MATCHES_STRING_STRING, MAX_DATE_DATE, MAX_FLOAT_FLOAT, MAX_INT_INT, MAX_LONG_LONG, MAX_TIMEOFDAY_TIMEOFDAY, MIN_DATE_DATE, MIN_FLOAT_FLOAT, MIN_INT_INT, MIN_LONG_LONG, MIN_TIMEOFDAY_TIMEOFDAY, MOD_INT_INT, MOD_LONG_LONG, MULT_FLOAT_FLOAT, MULT_INT_INT, MULT_LONG_LONG, NEXTDATE_DATE, NEXTINT_INT, NEXTLONG_LONG, NOT_BOOLEAN, OR_BOOLEAN_BOOLEAN, PI, PLUS_AVERAGE_AVERAGE, PLUS_DECIMAL_DECIMAL, PLUS_FLOAT_FLOAT, PLUS_INT_INT, PLUS_LONG_LONG, PLUS_TIMEOFDAY_TIMEOFDAY, PRIORDATE_DATE, PRIORINT_INT, PRIORLONG_LONG, ROUND_FLOAT_FLOAT, SEC_ANGLE, SIN_ANGLE, SQRT_FLOAT, SUB_FLOAT_FLOAT, SUB_INT_INT, SUB_LONG_LONG, SUB_TIMEOFDAY_TIMEOFDAY, SUBSTR_STRING_INT, SUBSTR_STRING_INT_INT, TAN_ANGLE, TOFLOAT_INT, TOFLOAT_LONG, TOINT_LONG, TOLONG_INT, UPPERCASE_STRING, XOR_BOOLEAN_BOOLEAN

public interface OperatorImplementation

Defines the methods that the implementation class for a sira_prise operator must provide. The implementation class for an operator must be the name of the operator, followed by the type names of the respective arguments, with all those names separated by a single underscore '_'. E.g. the implementation class for an exponentiation operator EXP that takes two arguments of type FLOAT, must be named EXP_FLOAT_FLOAT.

Author:
Erwin Smout

Method Summary
 ValueBuffer executeOperator(java.util.LinkedList<ValueBuffer> args)
          Performs the actual logic of the operator.
 java.lang.String[] getArgumentTypeNames()
          Gets the list of names of types of the needed argument values
 java.lang.String getReturnTypeName()
          Gets the name of the type of the return value
 

Method Detail

executeOperator

ValueBuffer executeOperator(java.util.LinkedList<ValueBuffer> args)
Performs the actual logic of the operator.

Parameters:
args - the argument list. The list must hold as many ValueBuffer objects as there are arguments to the operator, and each ValueBuffer object holds a value for some argument to the operator. ValueBuffer objects on the list must appear in the same order as the operator argument declarations.
Returns:
A ValueBuffer object holding the result value of the operator execution in internal format.

getArgumentTypeNames

java.lang.String[] getArgumentTypeNames()
Gets the list of names of types of the needed argument values

Returns:
The names of the argument types

getReturnTypeName

java.lang.String getReturnTypeName()
Gets the name of the type of the return value

Returns:
the name of the type of the return value