Class CompositeAdjacencyCursor

  • All Implemented Interfaces:
    java.lang.AutoCloseable, AdjacencyCursor

    public class CompositeAdjacencyCursor
    extends java.lang.Object
    implements AdjacencyCursor
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      long advance​(long target)
      Read and decode target ids until it is larger than or equal (>=) the provided target.
      long advanceBy​(int n)
      Advance this cursor by n elements.
      void close()  
      java.util.List<AdjacencyCursor> cursors()  
      boolean hasNextVLong()
      Return true iff there is at least one more target to decode.
      void init​(long index, int degree)
      Initialize this cursor to point to the given index.
      long nextVLong()
      Read and decode the next target id.
      long peekVLong()
      Decode and peek the next target id.
      int remaining()
      Return how many targets are still left to be decoded.
      @NotNull AdjacencyCursor shallowCopy​(@Nullable AdjacencyCursor destination)
      Create a shallow copy of this cursor.
      int size()
      Return how many targets can be decoded in total.
      long skipUntil​(long target)
      Read and decode target ids until it is strictly larger than (>) the provided target.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • size

        public int size()
        Description copied from interface: AdjacencyCursor
        Return how many targets can be decoded in total. This is equivalent to the degree.
        Specified by:
        size in interface AdjacencyCursor
      • hasNextVLong

        public boolean hasNextVLong()
        Description copied from interface: AdjacencyCursor
        Return true iff there is at least one more target to decode.
        Specified by:
        hasNextVLong in interface AdjacencyCursor
      • remaining

        public int remaining()
        Description copied from interface: AdjacencyCursor
        Return how many targets are still left to be decoded.
        Specified by:
        remaining in interface AdjacencyCursor
      • close

        public void close()
        Specified by:
        close in interface AdjacencyCursor
        Specified by:
        close in interface java.lang.AutoCloseable
      • skipUntil

        public long skipUntil​(long target)
        Description copied from interface: AdjacencyCursor
        Read and decode target ids until it is strictly larger than (>) the provided target. If there are no such targets before this cursor is exhausted, -1 is returned.
        Specified by:
        skipUntil in interface AdjacencyCursor
      • advance

        public long advance​(long target)
        Description copied from interface: AdjacencyCursor
        Read and decode target ids until it is larger than or equal (>=) the provided target. If there are no such targets before this cursor is exhausted, -1 is returned.
        Specified by:
        advance in interface AdjacencyCursor
      • advanceBy

        public long advanceBy​(int n)
        Description copied from interface: AdjacencyCursor
        Advance this cursor by n elements. For a cursor in its initial position, this is equivalent to nth.
        Specified by:
        advanceBy in interface AdjacencyCursor
        Parameters:
        n - the number of elements to advance by. Must be positive.
        Returns:
        the target after the advancement or -1 if the cursor is exhausted.
      • shallowCopy

        @NotNull
        public @NotNull AdjacencyCursor shallowCopy​(@Nullable
                                                    @Nullable AdjacencyCursor destination)
        Description copied from interface: AdjacencyCursor
        Create a shallow copy of this cursor. Iteration state is copied and will advance independently from this cursor. The underlying data might be shared between instances. If the provided destination argument is not null, it might be re-used instead of having to create a new instance. It is *not* guaranteed that the destination will be reused. If the destination is not if the same type than this cursor, the behavior of this method in undefined.
        Specified by:
        shallowCopy in interface AdjacencyCursor
      • init

        public void init​(long index,
                         int degree)
        Description copied from interface: AdjacencyCursor
        Initialize this cursor to point to the given index. The correct value for the index is highly implementation specific. The better way get initialize a cursor is through AdjacencyList.adjacencyCursor(long) or related.
        Specified by:
        init in interface AdjacencyCursor