public final class RENAME_RELATION extends java.lang.Object implements OperatorImplementation_V0105
| Constructor and Description |
|---|
RENAME_RELATION(Heading argumentHeading,
java.util.Map<NameIdentifier,NameIdentifier> renames)
Creates the RENAME_RELATION
|
| Modifier and Type | Method and Description |
|---|---|
static RelationBuffer |
computeRename(RelationBuffer relationBuffer,
java.util.Map<NameIdentifier,NameIdentifier> renames,
java.util.Set<NameIdentifier> retainedAttributeNames) |
static Heading |
computeRenamedHeading(Heading argumentHeading,
java.util.Map<NameIdentifier,NameIdentifier> renames) |
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
|
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) |
static RENAMEInvocationResultDetails |
validateExpressionDetails(Heading heading,
java.util.Map<NameIdentifier,NameIdentifier> renameFromToMap,
java.lang.String inputPredicate,
java.util.Collection<? extends KeyDef> inputKeySpecifications) |
void |
writeExternal(java.io.ObjectOutput out) |
public RENAME_RELATION(Heading argumentHeading, java.util.Map<NameIdentifier,NameIdentifier> renames)
argumentHeading - the input argument's headingrenames - The specification of the rename to applypublic static Heading computeRenamedHeading(Heading argumentHeading, java.util.Map<NameIdentifier,NameIdentifier> renames)
argumentHeading - The heading of an argument subjected to renamerenames - The renames to be appliedpublic static RelationBuffer computeRename(RelationBuffer relationBuffer, java.util.Map<NameIdentifier,NameIdentifier> renames, java.util.Set<NameIdentifier> retainedAttributeNames)
relationBuffer - the buffer holding a relation to be subjected to a rename operationrenames - the set of rename entries to be appliedretainedAttributeNames - The retained attribute names (i.e. the attributes that are not subjected to a rename)public static RENAMEInvocationResultDetails validateExpressionDetails(Heading heading, java.util.Map<NameIdentifier,NameIdentifier> renameFromToMap, java.lang.String inputPredicate, java.util.Collection<? extends KeyDef> inputKeySpecifications) throws DuplicateAttributeException, NonExistingAttributeException
heading - The heading of a relation to be subjected to a renamerenameFromToMap - the set of rename entries to be appliedinputPredicate - The predicate of which the relation subjected to a restriction is the extensioninputKeySpecifications - The keys known to be satisfied by the relation subjected to a restrictionDuplicateAttributeException - If more than one attribute is being renamed to the same attributeNonExistingAttributeException - If an attribute is specified in the renames that does not appear in the headingpublic ValueBuffer executeOperator(java.util.LinkedList<ValueBuffer> args)
OperatorImplementation_V0104executeOperator 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()
OperatorImplementation_V0104getArgumentTypeNames in interface OperatorImplementation_V0104public TypeDeclaration getReturnTypeDeclaration()
OperatorImplementation_V0105getReturnTypeDeclaration in interface OperatorImplementation_V0105public java.lang.String getReturnTypeName()
OperatorImplementation_V0104getReturnTypeName 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