Module xl.impl

Class GraphQueue

All Implemented Interfaces:
Queue, Closeable, DataOutput, Flushable, ObjectOutput, AutoCloseable, Executor
Direct Known Subclasses:
GraphQueueImpl

public abstract class GraphQueue extends HierarchicalQueue implements Queue, Executor
  • Field Details

  • Constructor Details

    • GraphQueue

      public GraphQueue(QueueDescriptor<?> descr, boolean usesObjectQueue, boolean createBackLinks)
  • Method Details

    • getDescriptor

      public QueueDescriptor<?> getDescriptor()
      Description copied from interface: Queue
      Returns the descriptor which was used to create this queue.
      Specified by:
      getDescriptor in interface Queue
      Returns:
      descriptor of this queue
      See Also:
    • createProcessor

      protected abstract GraphQueue.Processor createProcessor()
    • process

      public boolean process(int[] segments) throws RuntimeModelException
      Description copied from interface: Queue
      Processes all queued tasks. This method is invoked by QueueCollection.process(int[]).
      Specified by:
      process in interface Queue
      Returns:
      true iff the execution of tasks resulted in modifications to the Graph
      Throws:
      RuntimeModelException - if some error occurs during execution
    • clearSegmentsToExcludeImpl

      protected void clearSegmentsToExcludeImpl(int[] segs)
    • markSegment

      public void markSegment(int n)
      Specified by:
      markSegment in interface Queue
    • resetToSegment

      public void resetToSegment(int n)
      Specified by:
      resetToSegment in interface Queue
    • clear

      public void clear()
      Description copied from interface: Queue
      Clears the queue. This is invoked by the QueueCollection in order to reuse the queue for a new transformation step.
      Specified by:
      clear in interface Queue
      Overrides:
      clear in class HierarchicalQueue
    • getModel

      protected abstract RuntimeModel getModel()
    • addNode

      public abstract void addNode(Object node)
    • addEdgeBits

      public abstract void addEdgeBits(Object source, Object target, int edges)
    • addUndirectedEdgeBits

      public abstract void addUndirectedEdgeBits(Object source, Object target, int edges)
    • deleteEdgeBits

      public abstract void deleteEdgeBits(Object source, Object target, int edges)
    • deleteNode

      public abstract void deleteNode(Object node)
    • deleteCurrentEdges

      public abstract void deleteCurrentEdges(Object node, int edges, boolean outgoing)
    • moveIncoming

      public abstract void moveIncoming(Object source, Object target, int edges)
    • copyIncoming

      public abstract void copyIncoming(Object source, Object target, int edges)
    • copyIncoming

      public abstract void copyIncoming(Object source, Object target, int edges, int copyMask, int addMask)
    • moveOutgoing

      public abstract void moveOutgoing(Object source, Object target, int edges)
    • copyOutgoing

      public abstract void copyOutgoing(Object source, Object target, int edges)
    • copyOutgoing

      public abstract void copyOutgoing(Object source, Object target, int edges, int copyMask, int addMask)
    • connectIncoming

      public abstract <N> void connectIncoming(N source, N target, Operator<N> operator)
    • connectOutgoing

      public abstract <N> void connectOutgoing(N source, N target, Operator<N> operator)
    • connect

      public abstract <N, P> void connect(N source, N target, P param, Connector<N,P> redirector)
    • connectAdjacent

      public abstract void connectAdjacent(Object start, Object end, int edges)
    • embedInterpretive

      public abstract void embedInterpretive(Object interpreted, Object start, Object end)