agg.parser
Class PriorityExcludePair

java.lang.Object
  extended by agg.parser.ExcludePair
      extended by agg.parser.PriorityExcludePair
All Implemented Interfaces:
CriticalPair

public class PriorityExcludePair
extends ExcludePair


Field Summary
 
Fields inherited from class agg.parser.ExcludePair
boundB1_l1, boundB1_r1, checkDependencyCond2, complete, computable, consistencyCheck, consistentOnly, contextC1_l1, contextC1_r1, criticalNACOfR2exists, dangling, danglingEdge, danglingEdges, delete, dependencyCond1, dependencyCond2, equalVariableNameOfAttrMapping, essential, grammar, ignoreIdenticalRules, levelOfTypeGraphCheck, maxOverlapping, maxOverlapSize, ownStrategy, preservedChanged, preservedK1_l1, preservedK1_r1, produce, reduce, reduceSameMatch, stop, strategy, strongAttrCheck, typesTG_L2, typesTG_NAC2, typesTG_PAC2, withInheritance, withNACs, withPACs
 
Fields inherited from interface agg.parser.CriticalPair
CONFLICT, CONFLICTFREE, DEPENDENCY, EXCLUDE, TRIGGER_DEPENDENCY, TRIGGER_SWITCH_DEPENDENCY
 
Constructor Summary
PriorityExcludePair()
          Creates a new object to compute critical pairs.
 
Method Summary
protected  boolean checkGraphConsistency(Graph g, int l)
           
 java.util.Vector<Pair<Pair<OrdinaryMorphism,OrdinaryMorphism>,Pair<OrdinaryMorphism,OrdinaryMorphism>>> isCritical(int kind, Rule r1, Rule r2)
          computes if there is a critical pair of a special kind.
 
Methods inherited from class agg.parser.ExcludePair
attributeCheckFailed, checkGlobalNACsOfRule2, destroyOverlapping, disableCheckOfGraphConstraints, dispose, enableComplete, enableConsistent, enableEqualVariableNameOfAttrMapping, enableIgnoreIdenticalRules, enableNACs, enablePACs, enableReduce, enableReduceSameMatch, enableStrongAttrCheck, extendLeftGraphByNAC, extendLeftGraphByPAC, getNumberOfKindOfPairs, isExclude, resetCheckOfGraphConstraints, ruleChangesAttributes, setGraGra, setMorphismCompletionStrategy, stop, unsetAllTransientAttrValuesOfOverlapGrah, unsetAllTransientAttrValuesOfRule
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PriorityExcludePair

public PriorityExcludePair()
Creates a new object to compute critical pairs.

Method Detail

isCritical

public java.util.Vector<Pair<Pair<OrdinaryMorphism,OrdinaryMorphism>,Pair<OrdinaryMorphism,OrdinaryMorphism>>> isCritical(int kind,
                                                                                                                          Rule r1,
                                                                                                                          Rule r2)
                                                                                                                   throws InvalidAlgorithmException
computes if there is a critical pair of a special kind. Remenber: null is returned if the pair is not critical, otherwiser an object which can explain in which way this pair is critical. One possible object can be a Vector of overlaping graphs. If a kind kind is requested which cannot be computed a InvalidAlgorithmException is thrown.

Specified by:
isCritical in interface CriticalPair
Overrides:
isCritical in class ExcludePair
Parameters:
kind - specifies the kind of critical pair
r1 - defines the first part which can be critical
r2 - the second part which can be critical
Returns:
The object which is critic of the two rules
Throws:
InvalidAlgorithmException - Thrown if a illegal algorithm is selected.

checkGraphConsistency

protected boolean checkGraphConsistency(Graph g,
                                        int l)
Overrides:
checkGraphConsistency in class ExcludePair