public abstract class MINUS extends RelationalOperator
Constructor and Description |
---|
MINUS() |
Modifier and Type | Method and Description |
---|---|
static Relation |
computePlainDifference(Relation minuend,
Relation subtrahend)
Computes the difference between minuend and subtrahend
|
static Relation |
computeUsingDifference(Relation minuend,
Relation subtrahend,
java.util.LinkedHashSet<NameIdentifier> usingAttributes)
Computes the difference between minuend and subtrahend, with the usingAtributres treated in 'USING'/'pointwise' mode
|
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 MINUSInvocationResultDetails |
validateExpressionDetails(Heading minuendHeading,
Heading subtrahendHeading,
java.lang.String relationPredicate1,
java.lang.String relationPredicate2,
java.util.LinkedHashSet<NameIdentifier> usingAttributes) |
toString
public static Relation computePlainDifference(Relation minuend, Relation subtrahend) throws EvaluationException
minuend
- the relation from which is to be subtracted (in 'USING' mode)subtrahend
- the relation to be subtracted from the minuend (in 'USING' mode)EvaluationException
- If the evaluation fails for any reason. See the contained getCause() exception for more detail.public static Relation computeUsingDifference(Relation minuend, Relation subtrahend, java.util.LinkedHashSet<NameIdentifier> usingAttributes) throws EvaluationException
minuend
- the relation from which is to be subtracted (in 'USING' mode)subtrahend
- the relation to be subtracted from the minuend (in 'USING' mode)usingAttributes
- the interval-typed attributes of the relations that are to be treated in 'USING' modeEvaluationException
- If the evaluation failed for any reason. See the contained getCause() exception for more detail.public static MINUSInvocationResultDetails validateExpressionDetails(Heading minuendHeading, Heading subtrahendHeading, java.lang.String relationPredicate1, java.lang.String relationPredicate2, java.util.LinkedHashSet<NameIdentifier> usingAttributes) throws MinusHeadingsIncompatibleException, AttributeNotIntervalTypedException, NonExistingAttributeException
minuendHeading
- the heading of the first argument in a unionsubtrahendHeading
- the heading of the second argument in a unionrelationPredicate2
- The relation predicate of the second argument in a unionrelationPredicate1
- The relation predicate of the first argument in a unionusingAttributes
- The in-order list of attributes that are to be treated in 'USING' mode by the differenceMinusHeadingsIncompatibleException
- if the given headings are not union compatibleAttributeNotIntervalTypedException
- If an attribute named in the usingAttributes appears in the heading but is not interval-typedNonExistingAttributeException
- If an attribute named in the usingAttributes 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