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) |
toString
public 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()
RelationalOperator
getMaximumArgumentCount
in class RelationalOperator
public final int getMinimumArgumentCount()
RelationalOperator
getMinimumArgumentCount
in class RelationalOperator
public final java.lang.String getName()
RelationalOperator
getName
in class RelationalOperator
public final boolean isMonoRelationOperator()
RelationalOperator
isMonoRelationOperator
in class RelationalOperator