org.semanticweb.HermiT.tableau
Class MergingManager

java.lang.Object
  extended by org.semanticweb.HermiT.tableau.MergingManager
All Implemented Interfaces:
java.io.Serializable

public final class MergingManager
extends java.lang.Object
implements java.io.Serializable

Implements the merge rule and is used whenever the merge rule needs to be applied during the expansion of the tableau object used in the constructor of the class.

See Also:
Serialized Form

Field Summary
protected  java.lang.Object[] m_binaryAuxiliaryTuple
           
protected  ExtensionTable.Retrieval m_binaryExtensionTableSearch1Bound
           
protected  UnionDependencySet m_binaryUnionDependencySet
           
protected  ExtensionManager m_extensionManager
           
protected  Tableau m_tableau
           
protected  TableauMonitor m_tableauMonitor
           
protected  java.lang.Object[] m_ternaryAuxiliaryTuple
           
protected  ExtensionTable.Retrieval m_ternaryExtensionTableSearch1Bound
           
protected  ExtensionTable.Retrieval m_ternaryExtensionTableSearch2Bound
           
 
Constructor Summary
MergingManager(Tableau tableau)
           
 
Method Summary
 void clear()
           
protected  boolean isDescendantOfAtMostThreeLevels(Node descendant, Node ancestor)
           
 boolean mergeNodes(Node node0, Node node1, DependencySet dependencySet)
          Merges the two given nodes and adjusts the dependency set as required.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_tableau

protected final Tableau m_tableau

m_tableauMonitor

protected final TableauMonitor m_tableauMonitor

m_extensionManager

protected final ExtensionManager m_extensionManager

m_binaryExtensionTableSearch1Bound

protected final ExtensionTable.Retrieval m_binaryExtensionTableSearch1Bound

m_ternaryExtensionTableSearch1Bound

protected final ExtensionTable.Retrieval m_ternaryExtensionTableSearch1Bound

m_ternaryExtensionTableSearch2Bound

protected final ExtensionTable.Retrieval m_ternaryExtensionTableSearch2Bound

m_binaryAuxiliaryTuple

protected final java.lang.Object[] m_binaryAuxiliaryTuple

m_ternaryAuxiliaryTuple

protected final java.lang.Object[] m_ternaryAuxiliaryTuple

m_binaryUnionDependencySet

protected final UnionDependencySet m_binaryUnionDependencySet
Constructor Detail

MergingManager

public MergingManager(Tableau tableau)
Method Detail

clear

public void clear()

mergeNodes

public boolean mergeNodes(Node node0,
                          Node node1,
                          DependencySet dependencySet)
Merges the two given nodes and adjusts the dependency set as required. It is automatically figured out which node has to be merged into which -- that is, the order between node0 and node1 is not important.


isDescendantOfAtMostThreeLevels

protected boolean isDescendantOfAtMostThreeLevels(Node descendant,
                                                  Node ancestor)