public abstract class PACK extends RelationalOperator
| Constructor and Description |
|---|
PACK() |
| Modifier and Type | Method and Description |
|---|---|
static Relation |
computePack(Relation relation,
NameIdentifier[] packAttributes) |
int |
getMaximumArgumentCount()
Gets the maximum argument count for this operator.
|
int |
getMinimumArgumentCount()
Gets the minimum argument count for this operator.
|
java.lang.String |
getName()
Gets the operator name
|
boolean |
isMonoRelationOperator()
Checks if the operator takes only one Relation as input
|
static PACKInvocationResultDetails |
validateExpressionDetails(Heading inputHeading,
java.util.LinkedHashSet<NameIdentifier> packAttributeNames,
java.lang.String inputPredicate,
java.util.Collection<? extends KeyDef> inputKeySpecifications) |
toStringpublic static Relation computePack(Relation relation, NameIdentifier[] packAttributes) throws EvaluationException
relation - the relation subjected to a PACK operationpackAttributes - the attributes using which to PACK the given relationEvaluationException - If the evaluation fails for any reason. See the contained getCause() exception for more detail.public static PACKInvocationResultDetails validateExpressionDetails(Heading inputHeading, java.util.LinkedHashSet<NameIdentifier> packAttributeNames, java.lang.String inputPredicate, java.util.Collection<? extends KeyDef> inputKeySpecifications) throws AttributeNotIntervalTypedException, NonExistingAttributeException
inputHeading - the heading of a relation subjected to a PACK operationpackAttributeNames - the attributes using which to PACK the given relationinputPredicate - the predicate of which the relation subjected to PACK is the extensioninputKeySpecifications - the key specifications known to be satisfied by the relation subjected to PACKAttributeNotIntervalTypedException - If an attribute mentioned in the pack list is not interval-typed in the given headingNonExistingAttributeException - If an attribute name is mentioned in the pack list that does not appear in the headingpublic final int getMaximumArgumentCount()
RelationalOperatorgetMaximumArgumentCount in class RelationalOperatorpublic final int getMinimumArgumentCount()
RelationalOperatorgetMinimumArgumentCount in class RelationalOperatorpublic final java.lang.String getName()
RelationalOperatorgetName in class RelationalOperatorpublic final boolean isMonoRelationOperator()
RelationalOperatorisMonoRelationOperator in class RelationalOperator