Class SegmentOffsetTree
- java.lang.Object
-
- com.vladsch.flexmark.util.sequence.builder.tree.SegmentTree
-
- com.vladsch.flexmark.util.sequence.builder.tree.SegmentOffsetTree
-
public class SegmentOffsetTree extends SegmentTree
Segment tree which uses offsets instead of aggregated length of segmentsUsed 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
IllegalStateExceptionif invoked.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.vladsch.flexmark.util.sequence.builder.tree.SegmentTree
SegmentTree.SegmentTreeData
-
-
Field Summary
Fields Modifier and Type Field Description protected @org.jetbrains.annotations.NotNull int[]startIndices-
Fields inherited from class com.vladsch.flexmark.util.sequence.builder.tree.SegmentTree
F_ANCHOR_FLAGS, MAX_VALUE, segmentBytes, treeData
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedSegmentOffsetTree(@org.jetbrains.annotations.NotNull int[] treeData, @org.jetbrains.annotations.NotNull byte[] segmentBytes, @org.jetbrains.annotations.NotNull int[] startIndices)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddSegments(@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
-
-
-
-
Method Detail
-
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
@NotNull public static @NotNull SegmentOffsetTree build(@NotNull @NotNull BasedSequence baseSeq)
-
endOffset
public int endOffset(int pos)
-
getStartIndex
public int getStartIndex(int pos)
-
getSegment
@NotNull public @NotNull Segment getSegment(int pos, @NotNull @NotNull BasedSequence baseSeq)
- Overrides:
getSegmentin classSegmentTree
-
findSegmentPosByOffset
@Nullable public @Nullable SegmentTreePos findSegmentPosByOffset(int offset)
-
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
@NotNull public @NotNull String toString(@NotNull @NotNull BasedSequence baseSeq)
- Overrides:
toStringin classSegmentTree
-
hasPreviousAnchor
@Deprecated public boolean hasPreviousAnchor(int pos)
Deprecated.- Overrides:
hasPreviousAnchorin classSegmentTree
-
previousAnchorOffset
@Deprecated public int previousAnchorOffset(int pos)
Deprecated.- Overrides:
previousAnchorOffsetin classSegmentTree
-
aggrLength
@Deprecated public int aggrLength(int pos)
Deprecated.- Overrides:
aggrLengthin classSegmentTree
-
findSegmentPos
@Deprecated @Nullable public @Nullable SegmentTreePos findSegmentPos(int index)
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
-
-