agg.xt_basis
Class Completion_NAC

java.lang.Object
  extended by agg.xt_basis.MorphCompletionStrategy
      extended by agg.xt_basis.Completion_NAC
All Implemented Interfaces:
StrategyProperties, CompletionPropertyBits, java.lang.Cloneable

public class Completion_NAC
extends MorphCompletionStrategy

A decorator class which adds support for negative application conditions (NACs) to a given completion strategy implementation.


Field Summary
 
Fields inherited from class agg.xt_basis.MorphCompletionStrategy
itsName, itsProperties
 
Fields inherited from interface agg.xt_basis.CompletionPropertyBits
BITNAME, DANGLING, IDENTIFICATION, INJECTIVE, NAC, PAC
 
Constructor Summary
Completion_NAC(MorphCompletionStrategy strat)
          Construct myself to be a NAC-supporting completion strategy.
 
Method Summary
 java.lang.Object clone()
          Return a clone of myself.
 void dispose()
           
 AttrContext getAttrContext()
           
 java.util.Dictionary<java.lang.Object,Variable> getInstanceVarMap()
           
 java.lang.String getName()
           
 MorphCompletionStrategy getSourceStrategy()
           
 boolean isDomainOfTypeEmpty(Type t)
           
 boolean isDomainOfTypeEmpty(Type t, Type src, Type tar)
           
protected  boolean next(OrdinaryMorphism morph)
          Compute the next completion of morph.
protected  boolean next(OrdinaryMorphism morph, java.util.Enumeration<Node> nodes, java.util.Enumeration<Arc> edges)
          Compute the next completion of morph for the nodes and edges specified by Vector varnodes and Vector varedges.
 void reinitializeSolver(boolean doUpdateQueries)
           
 void removeFromObjectVarMap(GraphObject anObj)
           
protected  void removeFromTypeObjectsMap(GraphObject anObj)
           
 void resetSolver(boolean doUpdateQueries)
           
 void resetSolverVariables()
           
protected  void resetTypeMap(Graph g)
           
protected  void resetTypeMap(java.util.Hashtable<java.lang.String,java.util.Vector<GraphObject>> typeMap)
           
protected  void resetVariableDomain(boolean instanceNull)
           
protected  void resetVariableDomain(GraphObject go)
           
protected  void setPartialMorphism(OrdinaryMorphism morph)
           
 void setProperties(MorphCompletionStrategy fromStrategy)
           
 void setRelatedInstanceVarMap(java.util.Dictionary<java.lang.Object,Variable> relatedVarMap)
           
 
Methods inherited from class agg.xt_basis.MorphCompletionStrategy
equals, forceBackState, getProperties, getSize, getSupportedProperties, hasRelatedInstanceVarMap, initialize, initialize, isInjective, removeProperty, reset, setProperty, showProperties, unsetAttrContextVariable
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Completion_NAC

public Completion_NAC(MorphCompletionStrategy strat)
Construct myself to be a NAC-supporting completion strategy. This uses the given strat for the basic (non-NAC related) morphism completion functionality.

Post: getProperties().get(NAC) == true.

Method Detail

dispose

public void dispose()
Overrides:
dispose in class MorphCompletionStrategy

getName

public java.lang.String getName()
Overrides:
getName in class MorphCompletionStrategy

getSourceStrategy

public MorphCompletionStrategy getSourceStrategy()

getAttrContext

public AttrContext getAttrContext()
Overrides:
getAttrContext in class MorphCompletionStrategy

setProperties

public void setProperties(MorphCompletionStrategy fromStrategy)

resetSolver

public void resetSolver(boolean doUpdateQueries)
Overrides:
resetSolver in class MorphCompletionStrategy

reinitializeSolver

public void reinitializeSolver(boolean doUpdateQueries)
Overrides:
reinitializeSolver in class MorphCompletionStrategy

resetSolverVariables

public void resetSolverVariables()
Overrides:
resetSolverVariables in class MorphCompletionStrategy

removeFromObjectVarMap

public void removeFromObjectVarMap(GraphObject anObj)
Overrides:
removeFromObjectVarMap in class MorphCompletionStrategy

removeFromTypeObjectsMap

protected void removeFromTypeObjectsMap(GraphObject anObj)
Overrides:
removeFromTypeObjectsMap in class MorphCompletionStrategy

resetTypeMap

protected void resetTypeMap(java.util.Hashtable<java.lang.String,java.util.Vector<GraphObject>> typeMap)
Overrides:
resetTypeMap in class MorphCompletionStrategy

resetTypeMap

protected void resetTypeMap(Graph g)
Overrides:
resetTypeMap in class MorphCompletionStrategy

resetVariableDomain

protected void resetVariableDomain(boolean instanceNull)
Overrides:
resetVariableDomain in class MorphCompletionStrategy

resetVariableDomain

protected void resetVariableDomain(GraphObject go)
Overrides:
resetVariableDomain in class MorphCompletionStrategy

setPartialMorphism

protected void setPartialMorphism(OrdinaryMorphism morph)
Overrides:
setPartialMorphism in class MorphCompletionStrategy

isDomainOfTypeEmpty

public boolean isDomainOfTypeEmpty(Type t)
Overrides:
isDomainOfTypeEmpty in class MorphCompletionStrategy

isDomainOfTypeEmpty

public boolean isDomainOfTypeEmpty(Type t,
                                   Type src,
                                   Type tar)
Overrides:
isDomainOfTypeEmpty in class MorphCompletionStrategy

setRelatedInstanceVarMap

public void setRelatedInstanceVarMap(java.util.Dictionary<java.lang.Object,Variable> relatedVarMap)
Overrides:
setRelatedInstanceVarMap in class MorphCompletionStrategy

getInstanceVarMap

public java.util.Dictionary<java.lang.Object,Variable> getInstanceVarMap()
Overrides:
getInstanceVarMap in class MorphCompletionStrategy

clone

public java.lang.Object clone()
Description copied from class: MorphCompletionStrategy
Return a clone of myself. My property bitset is cloned as well.

Overrides:
clone in class MorphCompletionStrategy

next

protected final boolean next(OrdinaryMorphism morph)
Description copied from class: MorphCompletionStrategy
Compute the next completion of morph. Invoke this method successively with the same argument to get all completions of a morphism.

Overrides:
next in class MorphCompletionStrategy
Parameters:
morph - the morphism to totalize.
Returns:
false if there are no more completions.

next

protected final boolean next(OrdinaryMorphism morph,
                             java.util.Enumeration<Node> nodes,
                             java.util.Enumeration<Arc> edges)
Description copied from class: MorphCompletionStrategy
Compute the next completion of morph for the nodes and edges specified by Vector varnodes and Vector varedges. Invoke this method successively with the same arguments to get all completions of a morphism.

Overrides:
next in class MorphCompletionStrategy
Returns:
false if there are no more completions.