Class BasedOffsetTracker


  • public class BasedOffsetTracker
    extends java.lang.Object
    • Field Detail

      • sequence

        @NotNull
        protected final @NotNull BasedSequence sequence
      • segmentOffsetTree

        @NotNull
        protected final @NotNull SegmentOffsetTree segmentOffsetTree
      • lastSegment

        @Nullable
        private @Nullable Segment lastSegment
    • Constructor Detail

      • BasedOffsetTracker

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

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

      • 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 java.lang.String toString()
        Overrides:
        toString in class java.lang.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