Class SequenceBuilder
- java.lang.Object
-
- com.vladsch.flexmark.util.sequence.builder.SequenceBuilder
-
- All Implemented Interfaces:
ISequenceBuilder<SequenceBuilder,BasedSequence>
,java.lang.Appendable
public class SequenceBuilder extends java.lang.Object implements ISequenceBuilder<SequenceBuilder,BasedSequence>
A Builder for Segmented BasedSequences
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description SequenceBuilder
addByLength(int startOffset, int textLength)
SequenceBuilder
addByOffsets(int startOffset, int endOffset)
SequenceBuilder
addRange(Range range)
SequenceBuilder
append(char c)
SequenceBuilder
append(char c, int count)
SequenceBuilder
append(int startOffset, int endOffset)
SequenceBuilder
append(Range chars)
SequenceBuilder
append(java.lang.CharSequence chars, int startIndex, int endIndex)
char
charAt(int index)
static SequenceBuilder
emptyBuilder(BasedSequence base)
static SequenceBuilder
emptyBuilder(BasedSequence base, int options)
static SequenceBuilder
emptyBuilder(BasedSequence base, int options, SegmentOptimizer optimizer)
static SequenceBuilder
emptyBuilder(BasedSequence base, SegmentOptimizer optimizer)
BasedSequence
getBaseSequence()
SequenceBuilder
getBuilder()
Range
getLastRangeOrNull()
BasedSegmentBuilder
getSegmentBuilder()
BasedSequence
getSingleBasedSequence()
NOTE: returns non-null value if the underlyingISegmentBuilder.getBaseSubSequenceRange()
returns non-null valueint
length()
BasedSequence
toSequence()
BasedSequence
toSequence(BasedSequence altSequence)
Construct sequence from this builder using another based sequence which is character identical to this builder's baseSeqBasedSequence
toSequence(BasedSequence altSequence, CharPredicate trimStart, CharPredicate ignoreCharDiff)
Construct sequence from this builder using another based sequence which is character identical to this builder's baseSeqBasedSequence
toSequenceByIndex(BasedSequence altSequence, CharPredicate trimStart, CharPredicate ignoreCharDiff)
Construct sequence from this builder using another based sequence which is character identical to this builder's baseSeq by lengthjava.lang.String
toString()
java.lang.String
toStringNoAddedSpaces()
java.lang.String
toStringWithRanges()
java.lang.String
toStringWithRanges(boolean toVisibleWhiteSpace)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.vladsch.flexmark.util.sequence.builder.ISequenceBuilder
add, addAll, append, append, append, isEmpty, isNotEmpty
-
-
-
-
Method Detail
-
getBaseSequence
@NotNull public BasedSequence getBaseSequence()
-
getSegmentBuilder
@NotNull public BasedSegmentBuilder getSegmentBuilder()
-
getLastRangeOrNull
@Nullable public Range getLastRangeOrNull()
-
getSingleBasedSequence
@Nullable public BasedSequence getSingleBasedSequence()
Description copied from interface:ISequenceBuilder
NOTE: returns non-null value if the underlyingISegmentBuilder.getBaseSubSequenceRange()
returns non-null value- Specified by:
getSingleBasedSequence
in interfaceISequenceBuilder<SequenceBuilder,BasedSequence>
- Returns:
- sub-sequence of base representing the single segment or null if sequence not representable by a single subsequence
-
getBuilder
@NotNull public SequenceBuilder getBuilder()
- Specified by:
getBuilder
in interfaceISequenceBuilder<SequenceBuilder,BasedSequence>
-
charAt
public char charAt(int index)
- Specified by:
charAt
in interfaceISequenceBuilder<SequenceBuilder,BasedSequence>
-
append
@NotNull public SequenceBuilder append(@Nullable java.lang.CharSequence chars, int startIndex, int endIndex)
- Specified by:
append
in interfacejava.lang.Appendable
- Specified by:
append
in interfaceISequenceBuilder<SequenceBuilder,BasedSequence>
-
append
@NotNull public SequenceBuilder append(char c)
- Specified by:
append
in interfacejava.lang.Appendable
- Specified by:
append
in interfaceISequenceBuilder<SequenceBuilder,BasedSequence>
-
append
@NotNull public SequenceBuilder append(char c, int count)
- Specified by:
append
in interfaceISequenceBuilder<SequenceBuilder,BasedSequence>
-
append
@NotNull public SequenceBuilder append(int startOffset, int endOffset)
-
append
@NotNull public SequenceBuilder append(@NotNull Range chars)
-
addRange
@NotNull public SequenceBuilder addRange(@NotNull Range range)
-
addByOffsets
@NotNull public SequenceBuilder addByOffsets(int startOffset, int endOffset)
-
addByLength
@NotNull public SequenceBuilder addByLength(int startOffset, int textLength)
-
toSequence
@NotNull public BasedSequence toSequence()
- Specified by:
toSequence
in interfaceISequenceBuilder<SequenceBuilder,BasedSequence>
-
toSequence
@NotNull public BasedSequence toSequence(@NotNull BasedSequence altSequence)
Construct sequence from this builder using another based sequence which is character identical to this builder's baseSeq- Parameters:
altSequence
- based sequence which is character identical to this builder's baseSeq- Returns:
- builder with offsets mapped to altSequence
-
toSequence
@NotNull public BasedSequence toSequence(@NotNull BasedSequence altSequence, @Nullable CharPredicate trimStart, @Nullable CharPredicate ignoreCharDiff)
Construct sequence from this builder using another based sequence which is character identical to this builder's baseSeq- Parameters:
altSequence
- based sequence which is character identical to this builder's baseSeqtrimStart
- character set of characters to trimignoreCharDiff
- chars which should be treated as equivalent for verification purposes (Space, Tab, EOL, usually)- Returns:
- builder with offsets mapped to altSequence
-
toSequenceByIndex
@NotNull public BasedSequence toSequenceByIndex(@NotNull BasedSequence altSequence, @Nullable CharPredicate trimStart, @Nullable CharPredicate ignoreCharDiff)
Construct sequence from this builder using another based sequence which is character identical to this builder's baseSeq by length- Parameters:
altSequence
- based sequence which is character identical to this builder's baseSeqtrimStart
- character set of characters to trimignoreCharDiff
- chars which should be treated as equivalent for verification purposes (Space, Tab, EOL, usually)- Returns:
- builder with offsets mapped to altSequence
-
length
public int length()
- Specified by:
length
in interfaceISequenceBuilder<SequenceBuilder,BasedSequence>
-
toStringWithRanges
@NotNull public java.lang.String toStringWithRanges()
-
toStringWithRanges
@NotNull public java.lang.String toStringWithRanges(boolean toVisibleWhiteSpace)
-
toString
@NotNull public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
toStringNoAddedSpaces
@NotNull public java.lang.String toStringNoAddedSpaces()
-
emptyBuilder
@NotNull public static SequenceBuilder emptyBuilder(@NotNull BasedSequence base)
-
emptyBuilder
@NotNull public static SequenceBuilder emptyBuilder(@NotNull BasedSequence base, @NotNull SegmentOptimizer optimizer)
-
emptyBuilder
@NotNull public static SequenceBuilder emptyBuilder(@NotNull BasedSequence base, int options)
-
emptyBuilder
@NotNull public static SequenceBuilder emptyBuilder(@NotNull BasedSequence base, int options, @NotNull SegmentOptimizer optimizer)
-
-