public final class XMINUS_RELATION_RELATION_STRING extends java.lang.Object implements AggregationOperatorImplementation, OperatorGenerator
r1 | r2 | i | result |
---|---|---|---|
REL { TUP {IV:[1-7]} } | REL { TUP {IV:[5-9]} } | REL { TUP {IV:[1-7] TUP {IV:[5-9]} } | |
REL { TUP {IV:[1-7]} } | REL { TUP {IV:[5-9]} } | IV | REL { TUP {IV:[1-4] TUP {IV:[8-9]} } |
Constructor and Description |
---|
XMINUS_RELATION_RELATION_STRING()
Deprecated.
- this constructor is available only for use in the context of the Externalizable machinery
|
Modifier and Type | Method and Description |
---|---|
AggregationOperatorImplementation |
createInvocation(OperatorGeneratorArgument[] args)
Creates an instance of the operator.
|
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
|
ValueBuffer |
getIdentityElement()
Gets the identity element of the operator in its domain.
|
static AggregationOperatorImplementation |
getInstance(Heading heading,
java.util.LinkedList<NameIdentifier> treatAsRange)
Gets an instance of the operator for the given heading and USING<> attributes
|
java.util.LinkedList<OperatorGeneratorArgumentType> |
getOperatorGeneratorSignature()
Gets the "generator signature" of the operator generator.
|
TypeDeclaration |
getReturnTypeDeclaration()
Gets the full type declaration of the type of the return value.
|
java.lang.String |
getReturnTypeName()
Gets the name of the type of the return value
|
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) |
@Deprecated public XMINUS_RELATION_RELATION_STRING()
public static AggregationOperatorImplementation getInstance(Heading heading, java.util.LinkedList<NameIdentifier> treatAsRange)
heading
- The headingtreatAsRange
- The USING<> attributespublic final AggregationOperatorImplementation createInvocation(OperatorGeneratorArgument[] args)
OperatorGenerator
createInvocation
in interface OperatorGenerator
args
- The arguments from which the instance is to be created. There must be exactly as many arguments as there are elements in the list returned from OperatorGenerator.getOperatorGeneratorSignature()
. The correspondence between OperatorGeneratorArgumentType
values and OperatorGeneratorArgument
types is given in the table below :
OperatorGeneratorArgumentType value |
OperatorGeneratorArgument type |
---|---|
EXPRESSION |
NonScalarOperatorGeneratorExpressionArgument |
public ValueBuffer executeOperator(java.util.LinkedList<ValueBuffer> args)
OperatorImplementation_V0104
executeOperator
in interface OperatorImplementation_V0104
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. 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()
OperatorImplementation_V0104
getArgumentTypeNames
in interface OperatorImplementation_V0104
public ValueBuffer getIdentityElement()
AggregationOperatorImplementation
getIdentityElement
in interface AggregationOperatorImplementation
public final java.util.LinkedList<OperatorGeneratorArgumentType> getOperatorGeneratorSignature()
OperatorGenerator
OperatorGeneratorArgumentType
values as there are in the result of the operator signature's getArgumentTypeNames
method, and they should correspond, obviously, by ordinal position.getOperatorGeneratorSignature
in interface OperatorGenerator
public TypeDeclaration getReturnTypeDeclaration()
OperatorImplementation_V0105
getReturnTypeDeclaration
in interface OperatorImplementation_V0105
public java.lang.String getReturnTypeName()
OperatorImplementation_V0104
getReturnTypeName
in interface OperatorImplementation_V0104
public java.lang.String getSignature()
OperatorImplementation_V0104
getSignature
in interface OperatorImplementation_V0104
public boolean isDeterministic()
OperatorImplementation_V0104
isDeterministic
in interface OperatorImplementation_V0104
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
java.io.IOException
java.lang.ClassNotFoundException
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
java.io.IOException