Class SegmentOffsetTree
java.lang.Object
com.vladsch.flexmark.util.sequence.builder.tree.SegmentTree
com.vladsch.flexmark.util.sequence.builder.tree.SegmentOffsetTree
Segment tree which uses offsets instead of aggregated length of segments
Used to find original base offsets in SegmentedSequence result
NOTE: although it is a SegmentTree, most of the SegmentTree functions use index
into sequence for context and cannot be used with offset data.
Their use will throw IllegalStateException if invoked.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.vladsch.flexmark.util.sequence.builder.tree.SegmentTree
SegmentTree.SegmentTreeData -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final @org.jetbrains.annotations.NotNull int[]Fields inherited from class com.vladsch.flexmark.util.sequence.builder.tree.SegmentTree
F_ANCHOR_FLAGS, MAX_VALUE, segmentBytes, treeData -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedSegmentOffsetTree(@org.jetbrains.annotations.NotNull int[] treeData, @org.jetbrains.annotations.NotNull byte[] segmentBytes, @org.jetbrains.annotations.NotNull int[] startIndices) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSegments(@NotNull IBasedSegmentBuilder<?> builder, int startIndex, int endIndex, int startOffset, int endOffset, int startPos, int endPos) Deprecated.voidaddSegments(@NotNull IBasedSegmentBuilder<?> builder, @NotNull SegmentTreeRange treeRange) Deprecated.intaggrLength(int pos) Deprecated.static @NotNull SegmentOffsetTreebuild(@NotNull BasedSequence baseSeq) static @NotNull SegmentOffsetTreebuild(@NotNull BasedSegmentBuilder builder) static @NotNull SegmentOffsetTreebuild(@NotNull Iterable<Seg> segments, @NotNull CharSequence allText) intendOffset(int pos) @Nullable SegmentfindSegment(int index, int startPos, int endPos, @NotNull BasedSequence baseSeq, @Nullable Segment hint) Deprecated.@Nullable SegmentfindSegment(int index, @NotNull BasedSequence baseSeq, @Nullable Segment hint) Deprecated.@Nullable SegmentfindSegmentByOffset(int offset, @NotNull BasedSequence baseSeq, @Nullable Segment hint) @Nullable SegmentTreePosfindSegmentPos(int index) Deprecated.@Nullable SegmentTreePosfindSegmentPos(int index, int startPos, int endPos) Deprecated.@Nullable SegmentTreePosfindSegmentPosByOffset(int offset) @Nullable SegmentgetNextText(@NotNull Segment segment, @NotNull BasedSequence baseSeq) @Nullable SegmentgetPrevAnchor(int pos, @NotNull BasedSequence baseSeq) Deprecated.@Nullable SegmentgetPreviousText(@NotNull Segment segment, @NotNull BasedSequence baseSeq) @NotNull SegmentgetSegment(int pos, @NotNull BasedSequence baseSeq) @NotNull SegmentTreeRangegetSegmentRange(int startIndex, int endIndex, int startPos, int endPos, @NotNull BasedSequence baseSeq, @Nullable Segment hint) Deprecated.intgetStartIndex(int pos) booleanhasPreviousAnchor(int pos) Deprecated.intpreviousAnchorOffset(int pos) Deprecated.@NotNull StringtoString(@NotNull BasedSequence baseSeq) Methods inherited from class com.vladsch.flexmark.util.sequence.builder.tree.SegmentTree
aggrLength, buildTreeData, byteOffset, byteOffset, byteOffsetData, byteOffsetData, findSegment, findSegmentPos, getAnchorOffset, getByteOffset, getCharSequence, getPrevAnchor, getSegment, getSegment, getSegmentBytes, getSegmentOffsetTree, getTextEndOffset, getTextStartOffset, getTreeData, hasPreviousAnchor, previousAnchorOffset, setTreeData, size, toString
-
Field Details
-
startIndices
@NotNull protected final @org.jetbrains.annotations.NotNull int[] startIndices
-
-
Constructor Details
-
SegmentOffsetTree
protected SegmentOffsetTree(@NotNull @org.jetbrains.annotations.NotNull int[] treeData, @NotNull @org.jetbrains.annotations.NotNull byte[] segmentBytes, @NotNull @org.jetbrains.annotations.NotNull int[] startIndices)
-
-
Method Details
-
build
@NotNull public static @NotNull SegmentOffsetTree build(@NotNull @NotNull Iterable<Seg> segments, @NotNull @NotNull CharSequence allText) -
build
@NotNull public static @NotNull SegmentOffsetTree build(@NotNull @NotNull BasedSegmentBuilder builder) -
build
-
endOffset
public int endOffset(int pos) -
getStartIndex
public int getStartIndex(int pos) -
getSegment
- Overrides:
getSegmentin classSegmentTree
-
findSegmentPosByOffset
-
getPreviousText
@Nullable public @Nullable Segment getPreviousText(@NotNull @NotNull Segment segment, @NotNull @NotNull BasedSequence baseSeq) -
getNextText
@Nullable public @Nullable Segment getNextText(@NotNull @NotNull Segment segment, @NotNull @NotNull BasedSequence baseSeq) -
findSegmentByOffset
@Nullable public @Nullable Segment findSegmentByOffset(int offset, @NotNull @NotNull BasedSequence baseSeq, @Nullable @Nullable Segment hint) -
toString
- Overrides:
toStringin classSegmentTree
-
hasPreviousAnchor
Deprecated.- Overrides:
hasPreviousAnchorin classSegmentTree
-
previousAnchorOffset
Deprecated.- Overrides:
previousAnchorOffsetin classSegmentTree
-
aggrLength
Deprecated.- Overrides:
aggrLengthin classSegmentTree
-
findSegmentPos
Deprecated.- Overrides:
findSegmentPosin classSegmentTree
-
findSegment
@Deprecated @Nullable public @Nullable Segment findSegment(int index, @NotNull @NotNull BasedSequence baseSeq, @Nullable @Nullable Segment hint) Deprecated.- Overrides:
findSegmentin classSegmentTree
-
findSegment
@Deprecated @Nullable public @Nullable Segment findSegment(int index, int startPos, int endPos, @NotNull @NotNull BasedSequence baseSeq, @Nullable @Nullable Segment hint) Deprecated.- Overrides:
findSegmentin classSegmentTree
-
getSegmentRange
@Deprecated @NotNull public @NotNull SegmentTreeRange getSegmentRange(int startIndex, int endIndex, int startPos, int endPos, @NotNull @NotNull BasedSequence baseSeq, @Nullable @Nullable Segment hint) Deprecated.- Overrides:
getSegmentRangein classSegmentTree
-
addSegments
@Deprecated public void addSegments(@NotNull @NotNull IBasedSegmentBuilder<?> builder, @NotNull @NotNull SegmentTreeRange treeRange) Deprecated.Description copied from class:SegmentTreeAdd segments selected by given treeRange- Overrides:
addSegmentsin classSegmentTree- Parameters:
builder- based segment buildertreeRange- treeRange for which to add segments
-
addSegments
@Deprecated public void addSegments(@NotNull @NotNull IBasedSegmentBuilder<?> builder, int startIndex, int endIndex, int startOffset, int endOffset, int startPos, int endPos) Deprecated.Description copied from class:SegmentTreeAdd segments of subsequence of this tree to builder- Overrides:
addSegmentsin classSegmentTree- Parameters:
builder- builder to which to add the segmentsstartIndex- start index of sub-sequence of segment treeendIndex- end index of sub-sequence of segment treestartOffset- start offset of the subsequence to use as start anchorendOffset- end offset of the subsequence to use as end anchorstartPos- start pos of sub-sequence segments in treeendPos- end pos of sub-sequence segments in tree
-
findSegmentPos
@Deprecated @Nullable public @Nullable SegmentTreePos findSegmentPos(int index, int startPos, int endPos) Deprecated.- Overrides:
findSegmentPosin classSegmentTree
-
getPrevAnchor
@Deprecated @Nullable public @Nullable Segment getPrevAnchor(int pos, @NotNull @NotNull BasedSequence baseSeq) Deprecated.- Overrides:
getPrevAnchorin classSegmentTree
-