Class SequenceBuilder
java.lang.Object
com.vladsch.flexmark.util.sequence.builder.SequenceBuilder
- All Implemented Interfaces:
ISequenceBuilder<SequenceBuilder,
,BasedSequence> Appendable
public class SequenceBuilder
extends Object
implements ISequenceBuilder<SequenceBuilder,BasedSequence>
A Builder for Segmented BasedSequences
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final @NotNull BasedSequence
private final @NotNull BasedSequence
private final @NotNull HashMap<BasedSequence,
Boolean> private @Nullable BasedSequence
private final BasedSegmentBuilder
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
SequenceBuilder
(@NotNull BasedSequence base, int options, @Nullable SegmentOptimizer optimizer, @NotNull HashMap<BasedSequence, Boolean> equivalentBases) Construct a base sequence builder for given base sequence with specific options.private
SequenceBuilder
(@NotNull BasedSequence base, @Nullable SegmentOptimizer optimizer) Construct a base sequence builder for given base sequence with default options.private
SequenceBuilder
(@NotNull BasedSequence base, @Nullable SegmentOptimizer optimizer, @NotNull HashMap<BasedSequence, Boolean> equivalentBases) -
Method Summary
Modifier and TypeMethodDescription@NotNull SequenceBuilder
addByLength
(int startOffset, int textLength) @NotNull SequenceBuilder
addByOffsets
(int startOffset, int endOffset) @NotNull SequenceBuilder
@NotNull SequenceBuilder
append
(char c) @NotNull SequenceBuilder
append
(char c, int count) @NotNull SequenceBuilder
append
(int startOffset, int endOffset) @NotNull SequenceBuilder
@NotNull SequenceBuilder
append
(@Nullable CharSequence chars, int startIndex, int endIndex) char
charAt
(int index) static @NotNull SequenceBuilder
emptyBuilder
(@NotNull BasedSequence base) static @NotNull SequenceBuilder
emptyBuilder
(@NotNull BasedSequence base, int options) static @NotNull SequenceBuilder
emptyBuilder
(@NotNull BasedSequence base, int options, @NotNull SegmentOptimizer optimizer) static @NotNull SequenceBuilder
emptyBuilder
(@NotNull BasedSequence base, @NotNull SegmentOptimizer optimizer) @NotNull BasedSequence
@NotNull SequenceBuilder
@Nullable Range
@NotNull BasedSegmentBuilder
@Nullable BasedSequence
NOTE: returns non-null value if the underlyingISegmentBuilder.getBaseSubSequenceRange()
returns non-null value(package private) boolean
isCommonBaseSequence
(@NotNull BasedSequence chars) int
length()
@NotNull BasedSequence
@NotNull BasedSequence
toSequence
(@NotNull BasedSequence altSequence) Construct sequence from this builder using another based sequence which is character identical to this builder's baseSeq@NotNull 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@NotNull 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@NotNull String
toString()
@NotNull String
@NotNull String
@NotNull 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
-
Field Details
-
segments
-
baseSeq
-
altBase
-
equivalentBases
-
resultSeq
-
-
Constructor Details
-
SequenceBuilder
private SequenceBuilder(@NotNull @NotNull BasedSequence base, @Nullable @Nullable SegmentOptimizer optimizer) Construct a base sequence builder for given base sequence with default options.NOTE: the builder is always constructed for the base sequence of the base. ie. for the based sequence returned by
BasedSequence.getBaseSequence()
, so any subsequence from a base can be used as argument for the constructor- Parameters:
base
- base sequence for which to create a builderoptimizer
- optimizer for based segment builder, or defaultCharRecoveryOptimizer
-
SequenceBuilder
private SequenceBuilder(@NotNull @NotNull BasedSequence base, @Nullable @Nullable SegmentOptimizer optimizer, @NotNull @NotNull HashMap<BasedSequence, Boolean> equivalentBases) -
SequenceBuilder
private SequenceBuilder(@NotNull @NotNull BasedSequence base, int options, @Nullable @Nullable SegmentOptimizer optimizer, @NotNull @NotNull HashMap<BasedSequence, Boolean> equivalentBases) Construct a base sequence builder for given base sequence with specific options.NOTE: the builder is always constructed for the base sequence of the base. ie. for the based sequence returned by
BasedSequence.getBaseSequence()
, so any subsequence from a base can be used as argument for the constructor- Parameters:
base
- base sequence for which to create a builderoptions
- builder optionsoptimizer
- optimizer for based segment builder, or defaultCharRecoveryOptimizer
-
-
Method Details
-
getBaseSequence
-
getSegmentBuilder
-
getLastRangeOrNull
-
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
- Specified by:
getBuilder
in interfaceISequenceBuilder<SequenceBuilder,
BasedSequence>
-
charAt
public char charAt(int index) - Specified by:
charAt
in interfaceISequenceBuilder<SequenceBuilder,
BasedSequence>
-
isCommonBaseSequence
-
append
@NotNull public @NotNull SequenceBuilder append(@Nullable @Nullable CharSequence chars, int startIndex, int endIndex) - Specified by:
append
in interfaceAppendable
- Specified by:
append
in interfaceISequenceBuilder<SequenceBuilder,
BasedSequence>
-
append
- Specified by:
append
in interfaceAppendable
- Specified by:
append
in interfaceISequenceBuilder<SequenceBuilder,
BasedSequence>
-
append
- Specified by:
append
in interfaceISequenceBuilder<SequenceBuilder,
BasedSequence>
-
append
-
append
-
addRange
-
addByOffsets
-
addByLength
-
toSequence
- Specified by:
toSequence
in interfaceISequenceBuilder<SequenceBuilder,
BasedSequence>
-
toSequence
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 @NotNull BasedSequence toSequence(@NotNull @NotNull BasedSequence altSequence, @Nullable @Nullable CharPredicate trimStart, @Nullable @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 @NotNull BasedSequence toSequenceByIndex(@NotNull @NotNull BasedSequence altSequence, @Nullable @Nullable CharPredicate trimStart, @Nullable @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
-
toStringWithRanges
-
toString
-
toStringNoAddedSpaces
-
emptyBuilder
-
emptyBuilder
@NotNull public static @NotNull SequenceBuilder emptyBuilder(@NotNull @NotNull BasedSequence base, @NotNull @NotNull SegmentOptimizer optimizer) -
emptyBuilder
@NotNull public static @NotNull SequenceBuilder emptyBuilder(@NotNull @NotNull BasedSequence base, int options) -
emptyBuilder
@NotNull public static @NotNull SequenceBuilder emptyBuilder(@NotNull @NotNull BasedSequence base, int options, @NotNull @NotNull SegmentOptimizer optimizer)
-