Class CountingTcRelation<V>
java.lang.Object
tools.refinery.interpreter.rete.itc.alg.counting.CountingTcRelation<V>
- Type Parameters:
V
-
- All Implemented Interfaces:
ITcRelation<V>
Transitive closure relation implementation for the Counting algorithm.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Returns true if the tc relation did not contain previously such a tuple that is defined by (source,target), false otherwise (in this case count is incremented with the given count parameter).protected void
clear()
boolean
containsTuple
(V source, V target) Returns true if a (source, target) node is present in the transitive closure relation, false otherwise.static <V> CountingTcRelation
<V> void
deleteTupleEnd
(V deleted) boolean
int
getTupleEnds
(V source) Returns the set of nodes that are reachable from the given node.Returns the starting nodes from a transitive closure relation.getTupleStarts
(V target) Returns the set of nodes from which the target node is reachable, if already computed.int
hashCode()
protected boolean
isEmpty()
toString()
protected void
union
(CountingTcRelation<V> rA) boolean
updateTuple
(V source, V target, boolean isInsertion) Derivation count of the tuple (source,target) is incremented or decremented.
-
Constructor Details
-
CountingTcRelation
protected CountingTcRelation(boolean backwardIndexing)
-
-
Method Details
-
isEmpty
protected boolean isEmpty() -
clear
protected void clear() -
union
-
getCount
-
addTuple
Returns true if the tc relation did not contain previously such a tuple that is defined by (source,target), false otherwise (in this case count is incremented with the given count parameter).- Parameters:
source
- the source of the tupletarget
- the target of the tuplecount
- the count of the tuple, must be positive- Returns:
- true if the relation did not contain previously the tuple
-
updateTuple
Derivation count of the tuple (source,target) is incremented or decremented. Returns true iff updated to / from zero derivation count.- Since:
- 1.7
-
deleteTupleEnd
-
toString
-
getTupleEnds
Description copied from interface:ITcRelation
Returns the set of nodes that are reachable from the given node.- Specified by:
getTupleEnds
in interfaceITcRelation<V>
- Parameters:
source
- the starting node- Returns:
- the set of reachable nodes
-
getTupleStarts
Returns the set of nodes from which the target node is reachable, if already computed.- Parameters:
target
- the target node- Returns:
- the set of source nodes
- Throws:
UnsupportedOperationException
- if backwards index not computed
-
getTupleStarts
Description copied from interface:ITcRelation
Returns the starting nodes from a transitive closure relation.- Specified by:
getTupleStarts
in interfaceITcRelation<V>
- Returns:
- the set of starting nodes
-
containsTuple
Returns true if a (source, target) node is present in the transitive closure relation, false otherwise.- Parameters:
source
- the source nodetarget
- the target node- Returns:
- true if tuple is present, false otherwise
-
equals
-
hashCode
public int hashCode() -
createFrom
-