de.grogra.xl.impl.base
Class GraphImpl
java.lang.Object
de.grogra.xl.impl.base.Graph
de.grogra.xl.impl.base.GraphImpl
- All Implemented Interfaces:
- Graph, java.lang.Cloneable
- Direct Known Subclasses:
- Graph, Graph
public abstract class GraphImpl
- extends Graph
Methods inherited from class de.grogra.xl.impl.base.Graph |
allowNoninjectiveMatchesByDefault, allowNoninjectiveMatchesForNextQuery, beginModifications, canEnumerateNodes, commitModifications, createMatcher, createQueryState, createThreadData, derive, enumerateEdges, getDerivationMode, getModel, getPredecessor, getQueues, getThreadData, setDerivationMode |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
GraphImpl
public GraphImpl(RuntimeModel model)
addEdgeBits
public abstract void addEdgeBits(java.lang.Object source,
java.lang.Object target,
int bits)
- Adds a set of edge bits from a
source
node
to a target
node. This method is invoked
within the right hand sides of XL productions ==>>
,
==>
.
- Parameters:
source
- the source node of the edgetarget
- the target node of the edgebits
- the edge bits that are to be added
addNode
public abstract void addNode(java.lang.Object node)
- Adds a node to this graph extent. This method is invoked by the
XL runtime system before invocations of
addEdgeBits(java.lang.Object, java.lang.Object, int)
.
Implementations may perform tasks in preparation of the addition
of edges, if necessary.
- Parameters:
node
- the node for which edges will be added later on
createInterpretiveMark
public java.lang.Object createInterpretiveMark()
createQueue
public GraphQueue createQueue(QueueCollection qc,
QueueDescriptor descr)
- Specified by:
createQueue
in class Graph
removeEdgeBits
public abstract void removeEdgeBits(java.lang.Object source,
java.lang.Object target,
int bits)
- Removes a set of edge bits from a
source
node
to a target
node. This method is invoked
within the right hand sides of XL productions ==>>
,
==>
.
- Parameters:
source
- the source node of the edgetarget
- the target node of the edgebits
- the edge bits that are to be removed
removeNode
public void removeNode(java.lang.Object node)