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
IllegalStateException
if 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 protected
SegmentOffsetTree(@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 void
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 java.lang.Iterable<Seg> segments, @NotNull java.lang.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 java.lang.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
-
-
-
-
Method Detail
-
build
@NotNull public static @NotNull SegmentOffsetTree build(@NotNull @NotNull java.lang.Iterable<Seg> segments, @NotNull @NotNull java.lang.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:
getSegment
in 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 java.lang.String toString(@NotNull @NotNull BasedSequence baseSeq)
- Overrides:
toString
in classSegmentTree
-
hasPreviousAnchor
@Deprecated public boolean hasPreviousAnchor(int pos)
Deprecated.- Overrides:
hasPreviousAnchor
in classSegmentTree
-
previousAnchorOffset
@Deprecated public int previousAnchorOffset(int pos)
Deprecated.- Overrides:
previousAnchorOffset
in classSegmentTree
-
aggrLength
@Deprecated public int aggrLength(int pos)
Deprecated.- Overrides:
aggrLength
in classSegmentTree
-
findSegmentPos
@Deprecated @Nullable public @Nullable SegmentTreePos findSegmentPos(int index)
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
-
-