Class DRedTcRelation<V>

java.lang.Object
tools.refinery.interpreter.rete.itc.alg.dred.DRedTcRelation<V>
All Implemented Interfaces:
ITcRelation<V>

public class DRedTcRelation<V> extends Object implements ITcRelation<V>
  • Constructor Details

    • DRedTcRelation

      public DRedTcRelation()
  • Method Details

    • clear

      public void clear()
    • isEmpty

      public boolean isEmpty()
    • removeTuple

      public void removeTuple(V source, V target)
    • addTuple

      public boolean addTuple(V source, V target)
      Returns true if the tc relation did not contain previously such a tuple that is defined by (source,target), false otherwise.
      Parameters:
      source - the source of the tuple
      target - the target of the tuple
      Returns:
      true if the relation did not contain previously the tuple
    • union

      public void union(DRedTcRelation<V> rA)
      Union operation of two tc realtions.
      Parameters:
      rA - the other tc relation
    • difference

      public void difference(DRedTcRelation<V> rA)
      Computes the difference of this tc relation and the given rA parameter.
      Parameters:
      rA - the subtrahend relation
    • getTupleEnds

      public Set<V> getTupleEnds(V source)
      Description copied from interface: ITcRelation
      Returns the set of nodes that are reachable from the given node.
      Specified by:
      getTupleEnds in interface ITcRelation<V>
      Parameters:
      source - the starting node
      Returns:
      the set of reachable nodes
    • getTupleStarts

      public Set<V> getTupleStarts(V target)
      Returns the set of nodes from which the target node is reachable.
      Parameters:
      target - the target node
      Returns:
      the set of source nodes
    • getTupleStarts

      public Set<V> getTupleStarts()
      Description copied from interface: ITcRelation
      Returns the starting nodes from a transitive closure relation.
      Specified by:
      getTupleStarts in interface ITcRelation<V>
      Returns:
      the set of starting nodes
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • containsTuple

      public boolean containsTuple(V source, V target)
      Returns true if a (source, target) node is present in the transitive closure relation, false otherwise.
      Parameters:
      source - the source node
      target - the target node
      Returns:
      true if tuple is present, false otherwise
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getTuplesForward

      public Map<V,Set<V>> getTuplesForward()