Class BasedOffsetTracker

java.lang.Object
com.vladsch.flexmark.util.sequence.builder.tree.BasedOffsetTracker

public class BasedOffsetTracker extends Object
  • Field Details

    • sequence

      @NotNull protected final @NotNull BasedSequence sequence
    • segmentOffsetTree

      @NotNull protected final @NotNull SegmentOffsetTree segmentOffsetTree
    • lastSegment

      @Nullable private @Nullable Segment lastSegment
  • Constructor Details

    • BasedOffsetTracker

      protected BasedOffsetTracker(@NotNull @NotNull BasedSequence sequence, @NotNull @NotNull SegmentTree segmentTree)
    • BasedOffsetTracker

      protected BasedOffsetTracker(@NotNull @NotNull BasedSequence sequence, @NotNull @NotNull SegmentOffsetTree segmentOffsetTree)
  • Method Details

    • size

      public int size()
    • getOffsetInfo

      @NotNull public @NotNull OffsetInfo getOffsetInfo(int offset, boolean isEndOffset)
      Return the range of indices in the sequence of this based offset tracker that correspond to the given offset in the base sequence from which this sequence was derived.

      NOTE: indented use is the recover the editing caret position from original text after some text transformation such as formatting, rendering HTML or paragraph wrapping.

      Parameters:
      offset - offset in base sequence
      isEndOffset - if true then offset represents the range [offset, offset) so it is located between character at offset-1 and character at offset if false then offset represents the character at offset and the range [offset, offset+1)
      Returns:
      information about the offset in this sequence
    • getSequence

      @NotNull public @NotNull BasedSequence getSequence()
    • getSegmentOffsetTree

      @NotNull public @NotNull SegmentOffsetTree getSegmentOffsetTree()
    • toString

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

      @NotNull public static @NotNull BasedOffsetTracker create(@NotNull @NotNull BasedSequence sequence)
      Create a based offset tracker for the given sequence
      Parameters:
      sequence - sequence which to create offset tracker
      Returns:
      based offset tracker
    • create

      @NotNull public static @NotNull BasedOffsetTracker create(@NotNull @NotNull BasedSequence sequence, @NotNull @NotNull SegmentOffsetTree segmentOffsetTree)
      Create a based offset tracker for the given sequence
      Parameters:
      sequence - sequence which to create offset tracker
      segmentOffsetTree - segment offset tree for the sequence
      Returns:
      based offset tracker