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
ConstructorsModifierConstructorDescriptionprotected
SegmentOffsetTree
(@org.jetbrains.annotations.NotNull int[] treeData, @org.jetbrains.annotations.NotNull byte[] segmentBytes, @org.jetbrains.annotations.NotNull int[] startIndices) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addSegments
(@NotNull IBasedSegmentBuilder<?> builder, int startIndex, int endIndex, int startOffset, int endOffset, int startPos, int endPos) Deprecated.void
addSegments
(@NotNull IBasedSegmentBuilder<?> builder, @NotNull SegmentTreeRange treeRange) Deprecated.int
aggrLength
(int pos) Deprecated.static @NotNull SegmentOffsetTree
build
(@NotNull BasedSequence baseSeq) static @NotNull SegmentOffsetTree
build
(@NotNull BasedSegmentBuilder builder) static @NotNull SegmentOffsetTree
build
(@NotNull Iterable<Seg> segments, @NotNull CharSequence allText) int
endOffset
(int pos) @Nullable Segment
findSegment
(int index, int startPos, int endPos, @NotNull BasedSequence baseSeq, @Nullable Segment hint) Deprecated.@Nullable Segment
findSegment
(int index, @NotNull BasedSequence baseSeq, @Nullable Segment hint) Deprecated.@Nullable Segment
findSegmentByOffset
(int offset, @NotNull BasedSequence baseSeq, @Nullable Segment hint) @Nullable SegmentTreePos
findSegmentPos
(int index) Deprecated.@Nullable SegmentTreePos
findSegmentPos
(int index, int startPos, int endPos) Deprecated.@Nullable SegmentTreePos
findSegmentPosByOffset
(int offset) @Nullable Segment
getNextText
(@NotNull Segment segment, @NotNull BasedSequence baseSeq) @Nullable Segment
getPrevAnchor
(int pos, @NotNull BasedSequence baseSeq) Deprecated.@Nullable Segment
getPreviousText
(@NotNull Segment segment, @NotNull BasedSequence baseSeq) @NotNull Segment
getSegment
(int pos, @NotNull BasedSequence baseSeq) @NotNull SegmentTreeRange
getSegmentRange
(int startIndex, int endIndex, int startPos, int endPos, @NotNull BasedSequence baseSeq, @Nullable Segment hint) Deprecated.int
getStartIndex
(int pos) boolean
hasPreviousAnchor
(int pos) Deprecated.int
previousAnchorOffset
(int pos) Deprecated.@NotNull String
toString
(@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:
getSegment
in 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:
toString
in classSegmentTree
-
hasPreviousAnchor
Deprecated.- Overrides:
hasPreviousAnchor
in classSegmentTree
-
previousAnchorOffset
Deprecated.- Overrides:
previousAnchorOffset
in classSegmentTree
-
aggrLength
Deprecated.- Overrides:
aggrLength
in classSegmentTree
-
findSegmentPos
Deprecated.- Overrides:
findSegmentPos
in classSegmentTree
-
findSegment
@Deprecated @Nullable public @Nullable Segment findSegment(int index, @NotNull @NotNull BasedSequence baseSeq, @Nullable @Nullable Segment hint) Deprecated.- Overrides:
findSegment
in classSegmentTree
-
findSegment
@Deprecated @Nullable public @Nullable Segment findSegment(int index, int startPos, int endPos, @NotNull @NotNull BasedSequence baseSeq, @Nullable @Nullable Segment hint) Deprecated.- Overrides:
findSegment
in 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:
getSegmentRange
in classSegmentTree
-
addSegments
@Deprecated public void addSegments(@NotNull @NotNull IBasedSegmentBuilder<?> builder, @NotNull @NotNull SegmentTreeRange treeRange) Deprecated.Description copied from class:SegmentTree
Add segments selected by given treeRange- Overrides:
addSegments
in 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:SegmentTree
Add segments of subsequence of this tree to builder- Overrides:
addSegments
in 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:
findSegmentPos
in classSegmentTree
-
getPrevAnchor
@Deprecated @Nullable public @Nullable Segment getPrevAnchor(int pos, @NotNull @NotNull BasedSequence baseSeq) Deprecated.- Overrides:
getPrevAnchor
in classSegmentTree
-