@OperatorGeneratorCharacteristics(maximumArgumentCount=2, minimumArgumentCount=2, name="UNGROUP", signature={EXPRESSION,STRING}) @MonoRelationOperator public abstract class UNGROUP extends RelationalOperator
Constructor and Description |
---|
UNGROUP() |
Modifier and Type | Method and Description |
---|---|
static Relation |
computeUngroup(Relation relation,
NameIdentifier... ungroupAttributes) |
static UNGROUP_RELATION |
getInstance(Heading heading,
java.util.Set<NameIdentifier> ungroupAttributes)
Gets The operator implementation for the UNGROUP operation
|
OperatorImplementation_V0105 |
getOperatorImplementation(OperatorGeneratorArgument[] args)
Gets an implementation instance of the operator.
|
getInvocationName, getMaximumArgumentCount, getMinimumArgumentCount, getName, getOperatorGeneratorSignature, isMonoRelationOperator, toString
public static Relation computeUngroup(Relation relation, NameIdentifier... ungroupAttributes) throws EvaluationException
relation
- the relation to be ungrouped according to the specs in ungroupAttributesungroupAttributes
- the list of relation-typed attributes to be ungrouped in the resultEvaluationException
- if the given relation and ungroup specs are incompatiblepublic static UNGROUP_RELATION getInstance(Heading heading, java.util.Set<NameIdentifier> ungroupAttributes) throws UnGroupAttributeIsNotRelationTypedException, UnGroupCausesDuplicateAttributeException, MultipleUngroupNotSupportedException, NonExistingAttributeException
heading
- the heading of the input typeungroupAttributes
- The RVA attributes of the input to be ungroupedUnGroupAttributeIsNotRelationTypedException
- if a non-relation-typed attribute is specified among the ungroupAttributesUnGroupCausesDuplicateAttributeException
- if an attribute of a relation-typed attribute to be ungrouped also appears in the heading of the relation to be ungrouped itselfMultipleUngroupNotSupportedException
- if the ungroupAttributes contain more than one attributeNonExistingAttributeException
- If an attribute is specified in ingroupAttributes that is not part of the headingpublic final OperatorImplementation_V0105 getOperatorImplementation(OperatorGeneratorArgument[] args) throws NotFoundException
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 :
NotFoundException
- If the given OperatorGeneratorArguments do not satisfy all of the rules of the OperatorGenerator. These rules are specific to each OperatorGenerator.