|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectagg.parser.ExcludePair
public class ExcludePair
This class contains the algorithm to decide if one rule excludes another rule.
Field Summary | |
---|---|
protected java.util.Vector<GraphObject> |
boundB1_l1
|
protected java.util.Vector<GraphObject> |
boundB1_r1
|
protected boolean |
checkDependencyCond2
|
protected boolean |
complete
|
protected boolean |
computable
|
protected boolean |
consistencyCheck
|
protected boolean |
consistentOnly
|
protected java.util.Vector<GraphObject> |
contextC1_l1
|
protected java.util.Vector<GraphObject> |
contextC1_r1
|
protected boolean |
criticalNACOfR2exists
|
protected boolean |
dangling
|
protected boolean |
danglingEdge
|
protected java.util.Vector<GraphObject> |
danglingEdges
|
protected java.util.Vector<GraphObject> |
delete
|
protected boolean |
dependencyCond1
|
protected boolean |
dependencyCond2
|
protected boolean |
equalVariableNameOfAttrMapping
|
protected boolean |
essential
|
protected GraGra |
grammar
|
protected boolean |
ignoreIdenticalRules
|
protected int |
levelOfTypeGraphCheck
|
protected boolean |
maxOverlapping
|
protected int |
maxOverlapSize
|
protected boolean |
ownStrategy
|
protected java.util.Vector<GraphObject> |
preservedChanged
|
protected java.util.Vector<GraphObject> |
preservedK1_l1
|
protected java.util.Vector<GraphObject> |
preservedK1_r1
|
protected java.util.Vector<GraphObject> |
produce
|
protected boolean |
reduce
|
boolean |
reduceSameMatch
|
protected boolean |
stop
|
protected MorphCompletionStrategy |
strategy
|
boolean |
strongAttrCheck
|
protected java.util.Vector<Pair<Type,Pair<Type,Type>>> |
typesTG_L2
|
protected java.util.Vector<Pair<Type,Pair<Type,Type>>> |
typesTG_NAC2
|
protected java.util.Vector<Pair<Type,Pair<Type,Type>>> |
typesTG_PAC2
|
protected boolean |
withInheritance
|
protected boolean |
withNACs
|
protected boolean |
withPACs
|
Fields inherited from interface agg.parser.CriticalPair |
---|
CONFLICT, CONFLICTFREE, DEPENDENCY, EXCLUDE, TRIGGER_DEPENDENCY, TRIGGER_SWITCH_DEPENDENCY |
Constructor Summary | |
---|---|
ExcludePair()
Creates a new object to compute critical pairs. |
Method Summary | |
---|---|
protected boolean |
attributeCheckFailed(Rule r1,
Rule r2,
Pair<OrdinaryMorphism,OrdinaryMorphism> overlapping,
Pair<OrdinaryMorphism,OrdinaryMorphism> helpPair)
Checks the attributes if they are critic. |
protected boolean |
checkGlobalNACsOfRule2(Rule r1,
Rule r2)
|
protected boolean |
checkGraphConsistency(Graph g,
int l)
|
protected void |
destroyOverlapping(Pair<OrdinaryMorphism,OrdinaryMorphism> p)
|
protected void |
disableCheckOfGraphConstraints(TypeSet typeSet)
Disable checking max multiplicity of types by setting level of type graph check on TypeSet.ENABLED
(r.getTypeSet().setLevelOfTypeGraphCheck(TypeSet.ENABLED) )
and disable checking graph consistency constraints. |
void |
dispose()
|
void |
enableComplete(boolean enable)
|
void |
enableConsistent(boolean enable,
GraGra gragra)
|
void |
enableEqualVariableNameOfAttrMapping(boolean enable)
|
void |
enableIgnoreIdenticalRules(boolean b)
|
void |
enableNACs(boolean enable)
Deprecated. replaced by setMorphismCompletionStrategy(MorphCompletionStrategy strat) |
void |
enablePACs(boolean enable)
Deprecated. replaced by setMorphismCompletionStrategy(MorphCompletionStrategy strat) |
void |
enableReduce(boolean enable)
|
void |
enableReduceSameMatch(boolean enable)
|
void |
enableStrongAttrCheck(boolean enable)
|
protected OrdinaryMorphism |
extendLeftGraphByNAC(OrdinaryMorphism isoLeft,
OrdinaryMorphism nac,
boolean replaceConstantAttrByVariable)
|
protected OrdinaryMorphism |
extendLeftGraphByPAC(OrdinaryMorphism isoLeft,
OrdinaryMorphism pac,
boolean replaceConstantAttrByVariable)
|
int |
getNumberOfKindOfPairs()
Returns the number of kind of pairs which will be distinguished. |
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. |
protected java.util.Vector<Pair<Pair<OrdinaryMorphism,OrdinaryMorphism>,Pair<OrdinaryMorphism,OrdinaryMorphism>>> |
isExclude(Rule r1,
Rule r2)
Checks if the first rule exclude the second rule. |
protected void |
resetCheckOfGraphConstraints(TypeSet typeSet)
Reset the level of type graph check and the value of graph consistency check. |
protected void |
ruleChangesAttributes(Rule r1,
Rule r2,
java.util.Vector<GraphObject> context,
java.util.Vector<GraphObject> boundary,
java.util.Vector<GraphObject> preserved,
java.util.Hashtable<AttrType,java.util.Vector<Pair<ValueMember,ValueMember>>> changedAttrs,
java.util.Vector<Pair<Type,Pair<Type,Type>>> neededTypes)
|
protected void |
setGraGra(GraGra grammar)
|
void |
setMorphismCompletionStrategy(MorphCompletionStrategy strat)
|
void |
stop()
|
protected void |
unsetAllTransientAttrValuesOfOverlapGrah(Graph g)
|
protected void |
unsetAllTransientAttrValuesOfRule(Rule r)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected boolean computable
protected boolean checkDependencyCond2
protected boolean dependencyCond1
protected boolean dependencyCond2
protected boolean withNACs
protected boolean withPACs
protected boolean complete
protected boolean reduce
protected boolean maxOverlapping
protected int maxOverlapSize
public boolean reduceSameMatch
protected boolean consistentOnly
protected boolean dangling
protected MorphCompletionStrategy strategy
protected boolean ownStrategy
protected boolean ignoreIdenticalRules
protected GraGra grammar
protected boolean stop
protected final java.util.Vector<Pair<Type,Pair<Type,Type>>> typesTG_L2
protected final java.util.Vector<Pair<Type,Pair<Type,Type>>> typesTG_NAC2
protected final java.util.Vector<Pair<Type,Pair<Type,Type>>> typesTG_PAC2
protected final java.util.Vector<GraphObject> contextC1_l1
protected final java.util.Vector<GraphObject> boundB1_l1
protected final java.util.Vector<GraphObject> preservedK1_l1
protected final java.util.Vector<GraphObject> contextC1_r1
protected final java.util.Vector<GraphObject> boundB1_r1
protected final java.util.Vector<GraphObject> preservedK1_r1
protected final java.util.Vector<GraphObject> delete
protected final java.util.Vector<GraphObject> produce
protected final java.util.Vector<GraphObject> preservedChanged
protected final java.util.Vector<GraphObject> danglingEdges
protected boolean criticalNACOfR2exists
protected boolean essential
public boolean strongAttrCheck
protected int levelOfTypeGraphCheck
protected boolean consistencyCheck
protected boolean withInheritance
protected boolean equalVariableNameOfAttrMapping
protected boolean danglingEdge
Constructor Detail |
---|
public ExcludePair()
Method Detail |
---|
public void dispose()
public void stop()
protected void setGraGra(GraGra grammar)
public int getNumberOfKindOfPairs()
getNumberOfKindOfPairs
in interface CriticalPair
public void enableComplete(boolean enable)
public void enableNACs(boolean enable)
withNACs = strategy.getProperties().get(CompletionPropertyBits.NAC);
public void enablePACs(boolean enable)
withPACs = strategy.getProperties().get(CompletionPropertyBits.PAC);
public void enableReduce(boolean enable)
public void enableReduceSameMatch(boolean enable)
public void enableStrongAttrCheck(boolean enable)
public void enableEqualVariableNameOfAttrMapping(boolean enable)
public void enableConsistent(boolean enable, GraGra gragra)
public void setMorphismCompletionStrategy(MorphCompletionStrategy strat)
public void enableIgnoreIdenticalRules(boolean b)
public java.util.Vector<Pair<Pair<OrdinaryMorphism,OrdinaryMorphism>,Pair<OrdinaryMorphism,OrdinaryMorphism>>> isCritical(int kind, Rule r1, Rule r2) throws InvalidAlgorithmException
Vector
of overlaping graphs. If a kind
kind is requested which cannot be computed a
InvalidAlgorithmException
is thrown.
isCritical
in interface CriticalPair
kind
- specifies the kind of critical pairr1
- defines the first part which can be criticalr2
- the second part which can be critical
InvalidAlgorithmException
- Thrown if a illegal algorithm is selected.protected java.util.Vector<Pair<Pair<OrdinaryMorphism,OrdinaryMorphism>,Pair<OrdinaryMorphism,OrdinaryMorphism>>> isExclude(Rule r1, Rule r2)
r1
- The first rule.r2
- The second rule.
protected void disableCheckOfGraphConstraints(TypeSet typeSet)
TypeSet.ENABLED
(r.getTypeSet().setLevelOfTypeGraphCheck(TypeSet.ENABLED)
)
and disable checking graph consistency constraints.
r
- protected void resetCheckOfGraphConstraints(TypeSet typeSet)
r
- protected boolean checkGlobalNACsOfRule2(Rule r1, Rule r2)
protected void destroyOverlapping(Pair<OrdinaryMorphism,OrdinaryMorphism> p)
protected void ruleChangesAttributes(Rule r1, Rule r2, java.util.Vector<GraphObject> context, java.util.Vector<GraphObject> boundary, java.util.Vector<GraphObject> preserved, java.util.Hashtable<AttrType,java.util.Vector<Pair<ValueMember,ValueMember>>> changedAttrs, java.util.Vector<Pair<Type,Pair<Type,Type>>> neededTypes)
protected OrdinaryMorphism extendLeftGraphByNAC(OrdinaryMorphism isoLeft, OrdinaryMorphism nac, boolean replaceConstantAttrByVariable)
protected OrdinaryMorphism extendLeftGraphByPAC(OrdinaryMorphism isoLeft, OrdinaryMorphism pac, boolean replaceConstantAttrByVariable)
protected boolean checkGraphConsistency(Graph g, int l)
protected boolean attributeCheckFailed(Rule r1, Rule r2, Pair<OrdinaryMorphism,OrdinaryMorphism> overlapping, Pair<OrdinaryMorphism,OrdinaryMorphism> helpPair)
r1
- The first ruler2
- The second ruleoverlapping
- The pair of overlapping morphisms
protected void unsetAllTransientAttrValuesOfOverlapGrah(Graph g)
protected void unsetAllTransientAttrValuesOfRule(Rule r)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |