|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectbe.SIRAPRISE.typeimplementations.EQ_BOOLEAN_BOOLEAN
public final class EQ_BOOLEAN_BOOLEAN
Boolean equality differs from all other scalar equality operators in that it also happens to be associative. For all other types, the question of associativity does not pose itself because the return type boolean is not the same as the arguments For boolean, the return type happens to be the same, and furthermore we are unfortunate enough for the operator to be damn associative, which brings us in need of another interface to be implemented (b1 = b2) = b3 === b1 = (b2 = b3) (b1 & b2 | ^b1 & ^b2) = b3 === (b3 & b2 | ^b3 & ^b2) = b1 (b1 & b2 | ^b1 & ^b2) & b3 | ^(b1 & b2 | ^b1 & ^b2) & ^b3 === (b3 & b2 | ^b3 & ^b2) = b1 (b1 & b2 & b3 | ^b1 & ^b2 & b3) | (^(b1 & b2) & ^(^b1 & ^b2)) & ^b3 === (b3 & b2 | ^b3 & ^b2) = b1 (b1 & b2 & b3 | ^b1 & ^b2 & b3) | ((^b1 | ^b2) & (b1 | b2)) & ^b3 === (b3 & b2 | ^b3 & ^b2) = b1 (b1 & b2 & b3 | ^b1 & ^b2 & b3) | ((^b1 & b2) | (b1 & ^b2)) & ^b3 === (b3 & b2 | ^b3 & ^b2) = b1 (b1 & b2 & b3 | ^b1 & ^b2 & b3) | ((^b1 & b2) & ^b3 | (b1 & ^b2) & ^b3) === (b3 & b2 | ^b3 & ^b2) = b1 (b1 & b2 & b3 | ^b1 & ^b2 & b3) | ^b1 & b2 & ^b3 | b1 & ^b2 & ^b3 === (b3 & b2 | ^b3 & ^b2) = b1 ...
| 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 |
ScalarValueBuffer |
getIdentityElement()
Gets the identity element of the operator in its domain. |
static EQ_BOOLEAN_BOOLEAN |
getInstance()
|
java.lang.String |
getNegated(java.lang.String operand1,
java.lang.String operand2)
Gets the expression that is the negation of an invocation of this operator implementation |
java.lang.String |
getReturnTypeName()
Gets the name of the type of the return value |
boolean |
isDeterministic()
Tells whether the operator is deterministic with respect to the arguments of its invocations. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static EQ_BOOLEAN_BOOLEAN getInstance()
public ValueBuffer executeOperator(java.util.LinkedList<ValueBuffer> args)
OperatorImplementation
executeOperator in interface OperatorImplementationargs - 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.
public java.lang.String[] getArgumentTypeNames()
OperatorImplementation
getArgumentTypeNames in interface OperatorImplementationpublic ScalarValueBuffer getIdentityElement()
AggregationOperatorImplementation
getIdentityElement in interface AggregationOperatorImplementation
public java.lang.String getNegated(java.lang.String operand1,
java.lang.String operand2)
BinaryBooleanOperatorImplementation
getNegated in interface BinaryBooleanOperatorImplementationoperand1 - The first operand of the invocation to be negatedoperand2 - The second operand of the invocation to be negated
public java.lang.String getReturnTypeName()
OperatorImplementation
getReturnTypeName in interface OperatorImplementationpublic boolean isDeterministic()
OperatorImplementation_V0104
isDeterministic in interface OperatorImplementation_V0104
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||