org.semanticweb.HermiT.tableau
Class DependencySetFactory

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

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

This is the main class to work with dependency sets and returns instances of PermanentDependencySet, which can not directly be created. Dependency sets are either permanent (in case they are used for a longer time and more frequently) or temporary. The temporary ones are instances of the class UnionDependencySet and they can be created directly. If a temporary dependency sets is used more frequently, it can be turned into a permanent one by this factory.

See Also:
Serialized Form

Nested Class Summary
protected static class DependencySetFactory.IntegerArray
           
 
Field Summary
protected  PermanentDependencySet m_emptySet
           
protected  PermanentDependencySet[] m_entries
           
protected  PermanentDependencySet m_firstDestroyedSet
           
protected  PermanentDependencySet m_firstUnusedSet
           
protected  DependencySetFactory.IntegerArray m_mergeArray
           
protected  java.util.List<PermanentDependencySet> m_mergeSets
           
protected  int m_resizeThreshold
           
protected  int m_size
           
protected  java.util.List<UnionDependencySet> m_unprocessedSets
           
 
Constructor Summary
DependencySetFactory()
           
 
Method Summary
 PermanentDependencySet addBranchingPoint(DependencySet dependencySet, int branchingPoint)
           
protected  void addToUnusedList(PermanentDependencySet dependencySet)
           
 void addUsage(PermanentDependencySet dependencySet)
           
 void clear()
           
protected  PermanentDependencySet createDependencySet(PermanentDependencySet rest, int branchingPoint)
           
protected  void destroyDependencySet(PermanentDependencySet dependencySet)
           
 PermanentDependencySet emptySet()
           
protected  PermanentDependencySet getDepdendencySet(PermanentDependencySet rest, int branchingPoint)
           
 PermanentDependencySet getPermanent(DependencySet dependencySet)
           
 PermanentDependencySet removeBranchingPoint(DependencySet dependencySet, int branchingPoint)
           
protected  void removeFromEntries(PermanentDependencySet dependencySet)
           
protected  void removeFromUnusedList(PermanentDependencySet dependencySet)
           
 void removeUnusedSets()
           
 void removeUsage(PermanentDependencySet dependencySet)
           
protected  void resizeEntries()
           
 int sizeInMemory()
           
 PermanentDependencySet unionWith(DependencySet set1, DependencySet set2)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_mergeArray

protected final DependencySetFactory.IntegerArray m_mergeArray

m_mergeSets

protected final java.util.List<PermanentDependencySet> m_mergeSets

m_unprocessedSets

protected final java.util.List<UnionDependencySet> m_unprocessedSets

m_emptySet

protected PermanentDependencySet m_emptySet

m_firstUnusedSet

protected PermanentDependencySet m_firstUnusedSet

m_firstDestroyedSet

protected PermanentDependencySet m_firstDestroyedSet

m_entries

protected PermanentDependencySet[] m_entries

m_size

protected int m_size

m_resizeThreshold

protected int m_resizeThreshold
Constructor Detail

DependencySetFactory

public DependencySetFactory()
Method Detail

sizeInMemory

public int sizeInMemory()

clear

public void clear()

emptySet

public PermanentDependencySet emptySet()

removeUnusedSets

public void removeUnusedSets()

addUsage

public void addUsage(PermanentDependencySet dependencySet)

removeUsage

public void removeUsage(PermanentDependencySet dependencySet)

addBranchingPoint

public PermanentDependencySet addBranchingPoint(DependencySet dependencySet,
                                                int branchingPoint)

getDepdendencySet

protected PermanentDependencySet getDepdendencySet(PermanentDependencySet rest,
                                                   int branchingPoint)

createDependencySet

protected PermanentDependencySet createDependencySet(PermanentDependencySet rest,
                                                     int branchingPoint)

destroyDependencySet

protected void destroyDependencySet(PermanentDependencySet dependencySet)

removeFromEntries

protected void removeFromEntries(PermanentDependencySet dependencySet)

removeFromUnusedList

protected void removeFromUnusedList(PermanentDependencySet dependencySet)

addToUnusedList

protected void addToUnusedList(PermanentDependencySet dependencySet)

resizeEntries

protected void resizeEntries()

removeBranchingPoint

public PermanentDependencySet removeBranchingPoint(DependencySet dependencySet,
                                                   int branchingPoint)

unionWith

public PermanentDependencySet unionWith(DependencySet set1,
                                        DependencySet set2)

getPermanent

public PermanentDependencySet getPermanent(DependencySet dependencySet)