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 BasedSequenceprivate final @NotNull BasedSequenceprivate final @NotNull HashMap<BasedSequence, Boolean> private @Nullable BasedSequenceprivate final BasedSegmentBuilder -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateSequenceBuilder(@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.privateSequenceBuilder(@NotNull BasedSequence base, @Nullable SegmentOptimizer optimizer) Construct a base sequence builder for given base sequence with default options.privateSequenceBuilder(@NotNull BasedSequence base, @Nullable SegmentOptimizer optimizer, @NotNull HashMap<BasedSequence, Boolean> equivalentBases) -
Method Summary
Modifier and TypeMethodDescription@NotNull SequenceBuilderaddByLength(int startOffset, int textLength) @NotNull SequenceBuilderaddByOffsets(int startOffset, int endOffset) @NotNull SequenceBuilder@NotNull SequenceBuilderappend(char c) @NotNull SequenceBuilderappend(char c, int count) @NotNull SequenceBuilderappend(int startOffset, int endOffset) @NotNull SequenceBuilder@NotNull SequenceBuilderappend(@Nullable CharSequence chars, int startIndex, int endIndex) charcharAt(int index) static @NotNull SequenceBuilderemptyBuilder(@NotNull BasedSequence base) static @NotNull SequenceBuilderemptyBuilder(@NotNull BasedSequence base, int options) static @NotNull SequenceBuilderemptyBuilder(@NotNull BasedSequence base, int options, @NotNull SegmentOptimizer optimizer) static @NotNull SequenceBuilderemptyBuilder(@NotNull BasedSequence base, @NotNull SegmentOptimizer optimizer) @NotNull BasedSequence@NotNull SequenceBuilder@Nullable Range@NotNull BasedSegmentBuilder@Nullable BasedSequenceNOTE: returns non-null value if the underlyingISegmentBuilder.getBaseSubSequenceRange()returns non-null value(package private) booleanisCommonBaseSequence(@NotNull BasedSequence chars) intlength()@NotNull BasedSequence@NotNull BasedSequencetoSequence(@NotNull BasedSequence altSequence) Construct sequence from this builder using another based sequence which is character identical to this builder's baseSeq@NotNull BasedSequencetoSequence(@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 BasedSequencetoSequenceByIndex(@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 StringtoString()@NotNull String@NotNull String@NotNull StringtoStringWithRanges(boolean toVisibleWhiteSpace) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface 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:ISequenceBuilderNOTE: returns non-null value if the underlyingISegmentBuilder.getBaseSubSequenceRange()returns non-null value- Specified by:
getSingleBasedSequencein 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:
getBuilderin interfaceISequenceBuilder<SequenceBuilder, BasedSequence>
-
charAt
public char charAt(int index) - Specified by:
charAtin interfaceISequenceBuilder<SequenceBuilder, BasedSequence>
-
isCommonBaseSequence
-
append
@NotNull public @NotNull SequenceBuilder append(@Nullable @Nullable CharSequence chars, int startIndex, int endIndex) - Specified by:
appendin interfaceAppendable- Specified by:
appendin interfaceISequenceBuilder<SequenceBuilder, BasedSequence>
-
append
- Specified by:
appendin interfaceAppendable- Specified by:
appendin interfaceISequenceBuilder<SequenceBuilder, BasedSequence>
-
append
- Specified by:
appendin interfaceISequenceBuilder<SequenceBuilder, BasedSequence>
-
append
-
append
-
addRange
-
addByOffsets
-
addByLength
-
toSequence
- Specified by:
toSequencein 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:
lengthin 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)
-