java.lang.Object
com.vladsch.flexmark.util.sequence.builder.tree.Segment
Direct Known Subclasses:
Segment.Base, Segment.Text

public abstract class Segment extends Object
SegmentedSequence Segment stored in byte[] in serialized format
  • Field Details

  • Constructor Details

    • Segment

      public Segment(int pos, byte[] bytes, int byteOffset, int startIndex)
  • Method Details

    • hasAll

      public boolean hasAll(int flags, int mask)
    • getPos

      public int getPos()
    • getBytes

      public byte[] getBytes()
    • getByteOffset

      public final int getByteOffset()
    • getStartIndex

      public final int getStartIndex()
    • getEndIndex

      public final int getEndIndex()
    • notInSegment

      public boolean notInSegment(int index)
    • offsetNotInSegment

      public boolean offsetNotInSegment(int offset)
    • getType

      public final Segment.SegType getType()
    • getByteLength

      public final int getByteLength()
    • length

      public abstract int length()
    • isBase

      public abstract boolean isBase()
    • isAnchor

      public abstract boolean isAnchor()
    • isText

      public abstract boolean isText()
    • isFirst256Start

      public abstract boolean isFirst256Start()
    • isRepeatedTextEnd

      public abstract boolean isRepeatedTextEnd()
    • getStartOffset

      public abstract int getStartOffset()
    • getEndOffset

      public abstract int getEndOffset()
    • getCharSequence

      public abstract CharSequence getCharSequence()
    • charAt

      public abstract char charAt(int index)
      get char at index
      Parameters:
      index - index in segmented sequence coordinates. index offset must be subtracted to convert to segment coordinates
      Returns:
      character at given index in segmented sequence
    • toString

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

      public static Segment getSegment(byte[] bytes, int byteOffset, int pos, int indexOffset, @NotNull @NotNull BasedSequence basedSequence)
    • getSegType

      public static Segment.SegType getSegType(@NotNull @NotNull Seg seg, @NotNull @NotNull CharSequence textChars)
    • getOffsetBytes

      public static int getOffsetBytes(int offset)
    • getLengthBytes

      public static int getLengthBytes(int length)
    • getIntBytes

      public static int getIntBytes(int length)
    • getSegByteLength

      public static int getSegByteLength(@NotNull Segment.SegType segType, int segStart, int segLength)
    • getSegByteLength

      public static int getSegByteLength(@NotNull @NotNull Seg seg, @NotNull @NotNull CharSequence textChars)
    • addIntBytes

      public static int addIntBytes(byte[] bytes, int offset, int value, int count)
    • getInt

      public static int getInt(byte[] bytes, int offset, int count)
    • addChar

      public static int addChar(byte[] bytes, int offset, char c)
    • getChar

      public static char getChar(byte[] bytes, int offset)
    • addChars

      public static int addChars(byte[] bytes, int offset, @NotNull @NotNull CharSequence chars, int start, int end)
    • addCharAscii

      public static int addCharAscii(byte[] bytes, int offset, char c)
    • addCharsAscii

      public static int addCharsAscii(byte[] bytes, int offset, @NotNull @NotNull CharSequence chars, int start, int end)
    • getCharAscii

      public static char getCharAscii(byte[] bytes, int offset)
    • addSegBytes

      public static int addSegBytes(byte[] bytes, int offset, @NotNull @NotNull Seg seg, @NotNull @NotNull CharSequence textChars)