Class SimpleDescendingOffset

All Implemented Interfaces:
Cloneable, HotLoopCallee, ReadableOffset

public class SimpleDescendingOffset extends SimpleSettableOffset
  • Constructor Details

    • SimpleDescendingOffset

      public SimpleDescendingOffset(int rowCount)
  • Method Details

    • increment

      public void increment()
      Description copied from class: Offset
      Move to next offset
      Specified by:
      increment in class Offset
    • withinBounds

      public boolean withinBounds()
      Description copied from class: Offset
      Check if current offset position is within the valid range
      Specified by:
      withinBounds in class Offset
    • reset

      public void reset()
      Description copied from class: Offset
      Resets the Offset to the position it was created or cloned with.
      Specified by:
      reset in class Offset
    • getBaseReadableOffset

      public ReadableOffset getBaseReadableOffset()
      Description copied from class: Offset
      Returns the same offset ("this") or a readable "view" of this offset, which always returns the same value from ReadableOffset.getOffset(), as this offset. This method is useful for "unwrapping" such offsets as FilteredOffset and reduce reference indirection, when only ReadableOffset API is needed.
      Specified by:
      getBaseReadableOffset in class Offset
    • clone

      public Offset clone()
      Overrides:
      clone in class Offset
    • getOffset

      public int getOffset()
    • setCurrentOffset

      public void setCurrentOffset(int currentOffset)
      Specified by:
      setCurrentOffset in class SimpleSettableOffset
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • inspectRuntimeShape

      public void inspectRuntimeShape(RuntimeShapeInspector inspector)
      Description copied from interface: HotLoopCallee
      Implementations of this method should call inspector.visit() with all fields of this class, which meet two conditions: 1. They are used in methods of this class, annotated with CalledFromHotLoop 2. They are either: a. Nullable objects b. Instances of HotLoopCallee c. Objects, which don't always have a specific class in runtime. For example, a field of type Set could be HashSet or TreeSet in runtime, depending on how this instance (the instance on which inspectRuntimeShape() is called) is configured. d. ByteBuffer or similar objects, where byte order matters e. boolean flags, affecting branch taking f. Arrays of objects, meeting any of conditions a-e.