org.mindswap.pellet
Class DependencySet

java.lang.Object
  extended by org.mindswap.pellet.DependencySet

public class DependencySet
extends java.lang.Object

DependencySet for concepts and edges in the ABox for backjumping

Author:
Evren Sirin

Field Summary
static DependencySet DUMMY
          A dummy dependency set that is used just to indicate there is a dependency
static DependencySet EMPTY
          An empty dependency set
static DependencySet INDEPENDENT
          Used for assertions that are true by nature, i.e.
static java.util.logging.Logger log
           
static int NO_BRANCH
           
static IntSet ZERO
           
 
Constructor Summary
DependencySet(aterm.ATermAppl explainAtom)
          Creates a dependency set with no dependency and single explanation atom
DependencySet(int branch)
          Create a dependency set that depends on a single branch
DependencySet(java.util.Set<aterm.ATermAppl> explain)
          Creates a dependency set with no dependency and a set of explanation atoms
 
Method Summary
 void add(int b)
          Add the integer value b to this DependencySet.
 DependencySet cache()
          Return a dummy representation of this DependencySet such that this.isIndependent() == this.copyForCache().isIndependent() The returned copy will not be accurate w.r.t.
 boolean contains(int b)
          Return true if b is in this set.
 DependencySet copy(int newBranch)
          Creates a new DependencySet object with a new branch number where the IntSet is shared (changing one will change the other).
 int getBranch()
          Get the branch number when the dependency set was created
 IntSet getDepends()
           
 java.util.Set<aterm.ATermAppl> getExplain()
          Return the set of explanations associated with this DependencySet.
 boolean isIndependent()
          Return true if there is no dependency on a non-deterministic branch
 int max()
          Return the maximum value in this set.
 void remove(int b)
          Remove the integer value b from this DependencySet.
 void removeExplain(aterm.ATermAppl assertion)
          Remove explanation sets which contain references to a syntactic assertion
 void setDepends(IntSet depends)
           
 void setExplain(java.util.Set<aterm.ATermAppl> explain)
           
 int size()
          Return the number of elements in this set.
 java.lang.String toString()
           
 DependencySet union(DependencySet ds, boolean doExplanation)
          Create a new DependencySet and all the elements of this and ds.
 DependencySet union(IntSet set)
          Create a new DependencySet and all the elements of this and set .
 DependencySet union(java.util.Set<aterm.ATermAppl> explain, boolean doExplanation)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

public static final java.util.logging.Logger log

NO_BRANCH

public static final int NO_BRANCH

EMPTY

public static final DependencySet EMPTY
An empty dependency set


INDEPENDENT

public static final DependencySet INDEPENDENT
Used for assertions that are true by nature, i.e. an individual always has type owl:Thing


ZERO

public static final IntSet ZERO

DUMMY

public static final DependencySet DUMMY
A dummy dependency set that is used just to indicate there is a dependency

Constructor Detail

DependencySet

public DependencySet(int branch)
Create a dependency set that depends on a single branch

Parameters:
branch - Branch number

DependencySet

public DependencySet(aterm.ATermAppl explainAtom)
Creates a dependency set with no dependency and single explanation atom


DependencySet

public DependencySet(java.util.Set<aterm.ATermAppl> explain)
Creates a dependency set with no dependency and a set of explanation atoms

Method Detail

copy

public DependencySet copy(int newBranch)
Creates a new DependencySet object with a new branch number where the IntSet is shared (changing one will change the other).

Returns:

contains

public boolean contains(int b)
Return true if b is in this set.

Parameters:
b -
Returns:

add

public void add(int b)
Add the integer value b to this DependencySet.

Parameters:
b -

remove

public void remove(int b)
Remove the integer value b from this DependencySet.

Parameters:
b -

isIndependent

public boolean isIndependent()
Return true if there is no dependency on a non-deterministic branch

Returns:

getBranch

public int getBranch()
Get the branch number when the dependency set was created


size

public int size()
Return the number of elements in this set.

Returns:

max

public int max()
Return the maximum value in this set.

Returns:

union

public DependencySet union(IntSet set)
Create a new DependencySet and all the elements of this and set .

Parameters:
ds -
Returns:

union

public DependencySet union(DependencySet ds,
                           boolean doExplanation)
Create a new DependencySet and all the elements of this and ds.

Parameters:
ds -
doExplanation -
Returns:

union

public DependencySet union(java.util.Set<aterm.ATermAppl> explain,
                           boolean doExplanation)
Parameters:
explain -
doExplanation -
Returns:

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

removeExplain

public void removeExplain(aterm.ATermAppl assertion)
Remove explanation sets which contain references to a syntactic assertion

Parameters:
assertion -

setDepends

public void setDepends(IntSet depends)

getDepends

public IntSet getDepends()

setExplain

public void setExplain(java.util.Set<aterm.ATermAppl> explain)
Parameters:
explain - the explain to set

getExplain

public java.util.Set<aterm.ATermAppl> getExplain()
Return the set of explanations associated with this DependencySet.

Returns:

cache

public DependencySet cache()
Return a dummy representation of this DependencySet such that this.isIndependent() == this.copyForCache().isIndependent() The returned copy will not be accurate w.r.t. any other function call, e.g. contains(int) for the copy will return different results for the copy. This function does not create a new DependencySet object so will not require additional memory. Caching this copy is more appropriate so we don't waste space for storing the actual dependency set or the explanation which are not used in caches anyway.

Returns:


Copyright © 2004 Evren Sirin. All Rights Reserved.