Class EmptyCursor<K,​V>

  • Type Parameters:
    K - Type of the simulated record's key
    V - Type of the simulated record's value
    All Implemented Interfaces:
    Closeable, AutoCloseable, Cursor<K,​V>, SequentialCursor<K,​V>

    public final class EmptyCursor<K,​V>
    extends Object
    implements Cursor<K,​V>
    Implementation of an empty Cursor, for simulating no records to cursor on.

    Cursor behaves as follows:

    • Positioning to a key or index will fail, returning false.
    • Reading the key or value will return null.
    • Deleting the current element is not supported, UnsupportedOperationException will be thrown.
    • Constructor Detail

      • EmptyCursor

        public EmptyCursor()
    • Method Detail

      • positionToKey

        public boolean positionToKey​(ByteSequence key)
        Description copied from interface: Cursor
        Positions the cursor to the provided key if it exists in the tree.
        Specified by:
        positionToKey in interface Cursor<K,​V>
        Parameters:
        key - the key where to position the cursor
        Returns:
        true if the cursor could be positioned to the key, false otherwise
      • positionToKeyOrNext

        public boolean positionToKeyOrNext​(ByteSequence key)
        Description copied from interface: Cursor
        Positions the cursor to the provided key if it exists in the tree, or else the lesser key greater than the provided key in the tree.
        Specified by:
        positionToKeyOrNext in interface Cursor<K,​V>
        Parameters:
        key - the key where to position the cursor
        Returns:
        true if the cursor could be positioned to the key or the next one, false otherwise
      • positionToLastKey

        public boolean positionToLastKey()
        Description copied from interface: Cursor
        Positions the cursor to the last key in the tree.
        Specified by:
        positionToLastKey in interface Cursor<K,​V>
        Returns:
        true if the cursor could be positioned to the last key, false otherwise
      • positionToIndex

        public boolean positionToIndex​(int index)
        Description copied from interface: Cursor
        Positions the cursor to the specified index within the tree. Implementations may take advantage of optimizations provided by the underlying storage, such as counted B-Trees.
        Specified by:
        positionToIndex in interface Cursor<K,​V>
        Parameters:
        index - the index where the cursor should be positioned, (0 is the first record).
        Returns:
        true if the cursor could be positioned to the index, false otherwise
      • next

        public boolean next()
        Description copied from interface: SequentialCursor
        Moves this cursor to the next record in the tree.
        Specified by:
        next in interface SequentialCursor<K,​V>
        Returns:
        true if the cursor has moved to the next record, false if no next record exists leaving cursor in undefined state.
      • isDefined

        public boolean isDefined()
        Description copied from interface: SequentialCursor
        Check whether this cursor is currently pointing to valid record.
        Specified by:
        isDefined in interface SequentialCursor<K,​V>
        Returns:
        true if the cursor is pointing to a valid entry, false if cursor is not pointing to a valid entry