Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

Nested Class Summary

Nested classes/interfaces inherited from class de.grogra.xl.impl.base.Graph
`Graph.QState, Graph.ThreadData`

Field Summary

Fields inherited from class de.grogra.xl.impl.base.Graph
`EXCLUDE_DELETED_FLAG, INTERPRETIVE_FLAG, MODE_MASK, PARALLEL_MODE, PARALLEL_NON_DETERMINISTIC_MODE, SEQUENTIAL_MODE, SEQUENTIAL_NON_DETERMINISTIC_MODE`

Constructor Summary
`GraphImpl(RuntimeModel model)`

Method Summary
`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.
`abstract void` | `addNode(java.lang.Object node)` Adds a node to this graph extent.
`java.lang.Object` | `createInterpretiveMark()`
`GraphQueue` | `createQueue(QueueCollection qc, QueueDescriptor descr)`
`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.
`void` | `removeNode(java.lang.Object node)`

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`

Methods inherited from interface de.grogra.xl.query.Graph
`canEnumerateEdges, createProducer, enumerateNodes, getRoot`

Constructor Detail

### GraphImpl

    public GraphImpl(RuntimeModel model)

Method Detail

### 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 edge
    `target` - the target node of the edge
    `bits` - 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 edge
    `target` - the target node of the edge
    `bits` - the edge bits that are to be removed

### removeNode

    public void removeNode(java.lang.Object node)

Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD