public final class ChooseOperatorImplementation extends java.lang.Object implements OperatorImplementation_V0105
| Constructor and Description |
|---|
ChooseOperatorImplementation(java.lang.String chooseForTypeName)
Creates the ChooseOperatorImplementation
|
| Modifier and Type | Method and Description |
|---|---|
ValueBuffer |
executeOperator(java.util.LinkedList<ValueBuffer> args)
CHOOSE returns the 2nd or 3d argument, depending on the truth value of the first
|
java.lang.String[] |
getArgumentTypeNames()
CHOOSE takes three arguments, the first of type BOOLEAN, the other two of the same type, which is also the return type
|
TypeDeclaration |
getReturnTypeDeclaration()
Gets the full type declaration of the type of the return value.
|
java.lang.String |
getReturnTypeName()
The return type is the same as the arguments' type
|
java.lang.String |
getSignature()
Gets the name of the operator implemented by this implementation object
|
boolean |
isDeterministic()
Tells whether the operator is deterministic with respect to the arguments of its invocations.
|
void |
readExternal(java.io.ObjectInput in) |
void |
writeExternal(java.io.ObjectOutput out) |
public ChooseOperatorImplementation(java.lang.String chooseForTypeName)
chooseForTypeName - The name of the (scalar !!!) type for which a CHOOSE operator implementation is to be created. CHOOSE for nonscalar types is not yet supported.public ValueBuffer executeOperator(java.util.LinkedList<ValueBuffer> args)
executeOperator in interface OperatorImplementation_V0104args - 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. Implementations have the option, but are not required, to do a check the conformance of the argument list (the argument count, notably) to the operator signature.public java.lang.String[] getArgumentTypeNames()
getArgumentTypeNames in interface OperatorImplementation_V0104public TypeDeclaration getReturnTypeDeclaration()
OperatorImplementation_V0105getReturnTypeDeclaration in interface OperatorImplementation_V0105public java.lang.String getReturnTypeName()
getReturnTypeName in interface OperatorImplementation_V0104public java.lang.String getSignature()
OperatorImplementation_V0104getSignature in interface OperatorImplementation_V0104public boolean isDeterministic()
OperatorImplementation_V0104isDeterministic in interface OperatorImplementation_V0104public void readExternal(java.io.ObjectInput in)
readExternal in interface java.io.Externalizablepublic void writeExternal(java.io.ObjectOutput out)
writeExternal in interface java.io.Externalizable