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 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(int[] treeData, byte[] segmentBytes, int[] startIndices)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addSegments(IBasedSegmentBuilder<?> builder, int startIndex, int endIndex, int startOffset, int endOffset, int startPos, int endPos)
Deprecated.void
addSegments(IBasedSegmentBuilder<?> builder, SegmentTreeRange treeRange)
Deprecated.int
aggrLength(int pos)
Deprecated.static SegmentOffsetTree
build(BasedSequence baseSeq)
static SegmentOffsetTree
build(BasedSegmentBuilder builder)
static SegmentOffsetTree
build(java.lang.Iterable<Seg> segments, java.lang.CharSequence allText)
int
endOffset(int pos)
Segment
findSegment(int index, int startPos, int endPos, BasedSequence baseSeq, Segment hint)
Deprecated.Segment
findSegment(int index, BasedSequence baseSeq, Segment hint)
Deprecated.Segment
findSegmentByOffset(int offset, BasedSequence baseSeq, Segment hint)
SegmentTreePos
findSegmentPos(int index)
Deprecated.SegmentTreePos
findSegmentPos(int index, int startPos, int endPos)
Deprecated.SegmentTreePos
findSegmentPosByOffset(int offset)
Segment
getNextText(Segment segment, BasedSequence baseSeq)
Segment
getPrevAnchor(int pos, BasedSequence baseSeq)
Deprecated.Segment
getPreviousText(Segment segment, BasedSequence baseSeq)
Segment
getSegment(int pos, BasedSequence baseSeq)
SegmentTreeRange
getSegmentRange(int startIndex, int endIndex, int startPos, int endPos, BasedSequence baseSeq, Segment hint)
Deprecated.int
getStartIndex(int pos)
boolean
hasPreviousAnchor(int pos)
Deprecated.int
previousAnchorOffset(int pos)
Deprecated.java.lang.String
toString(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 SegmentOffsetTree build(@NotNull java.lang.Iterable<Seg> segments, @NotNull java.lang.CharSequence allText)
-
build
@NotNull public static SegmentOffsetTree build(@NotNull BasedSegmentBuilder builder)
-
build
@NotNull public static SegmentOffsetTree build(@NotNull BasedSequence baseSeq)
-
endOffset
public int endOffset(int pos)
-
getStartIndex
public int getStartIndex(int pos)
-
getSegment
@NotNull public Segment getSegment(int pos, @NotNull BasedSequence baseSeq)
- Overrides:
getSegment
in classSegmentTree
-
findSegmentPosByOffset
@Nullable public SegmentTreePos findSegmentPosByOffset(int offset)
-
getPreviousText
@Nullable public Segment getPreviousText(@NotNull Segment segment, @NotNull BasedSequence baseSeq)
-
getNextText
@Nullable public Segment getNextText(@NotNull Segment segment, @NotNull BasedSequence baseSeq)
-
findSegmentByOffset
@Nullable public Segment findSegmentByOffset(int offset, @NotNull BasedSequence baseSeq, @Nullable Segment hint)
-
toString
@NotNull public java.lang.String toString(@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 SegmentTreePos findSegmentPos(int index)
Deprecated.- Overrides:
findSegmentPos
in classSegmentTree
-
findSegment
@Deprecated @Nullable public Segment findSegment(int index, @NotNull BasedSequence baseSeq, @Nullable Segment hint)
Deprecated.- Overrides:
findSegment
in classSegmentTree
-
findSegment
@Deprecated @Nullable public Segment findSegment(int index, int startPos, int endPos, @NotNull BasedSequence baseSeq, @Nullable Segment hint)
Deprecated.- Overrides:
findSegment
in classSegmentTree
-
getSegmentRange
@Deprecated @NotNull public SegmentTreeRange getSegmentRange(int startIndex, int endIndex, int startPos, int endPos, @NotNull BasedSequence baseSeq, @Nullable Segment hint)
Deprecated.- Overrides:
getSegmentRange
in classSegmentTree
-
addSegments
@Deprecated public void addSegments(@NotNull IBasedSegmentBuilder<?> builder, @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 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 SegmentTreePos findSegmentPos(int index, int startPos, int endPos)
Deprecated.- Overrides:
findSegmentPos
in classSegmentTree
-
getPrevAnchor
@Deprecated @Nullable public Segment getPrevAnchor(int pos, @NotNull BasedSequence baseSeq)
Deprecated.- Overrides:
getPrevAnchor
in classSegmentTree
-
-