Interface IRichSequence<T extends IRichSequence<T>>
-
- All Superinterfaces:
CharSequence,Comparable<CharSequence>,SequenceUtils
- All Known Subinterfaces:
BasedSequence,ReplacedBasedSequence,RichSequence
- All Known Implementing Classes:
BasedSequence.EmptyBasedSequence,BasedSequenceImpl,CharSubSequence,IRichSequenceBase,MappedBasedSequence,MappedRichSequence,PrefixedSubSequence,RichSequenceImpl,SegmentedSequence,SegmentedSequenceFull,SegmentedSequenceTree,SubSequence
public interface IRichSequence<T extends IRichSequence<T>> extends CharSequence, Comparable<CharSequence>, SequenceUtils
A CharSequence that provides a rich set of manipulation methods.NOTE: '\0' changed to '�' use
NullEncoder.decodeNullmapper to get original null chars.safe access methods return '\0' for no char response.
-
-
Field Summary
-
Fields inherited from interface com.vladsch.flexmark.util.sequence.SequenceUtils
ANY_EOL, ANY_EOL_SET, BACKSLASH_SET, DECIMAL_DIGITS, EMPTY_INDICES, ENC_NUL, EOL, EOL_CHAR, EOL_CHAR1, EOL_CHAR2, EOL_CHARS, EOL_SET, HASH_SET, HEXADECIMAL_DIGITS, LINE_SEP, LS, LSEP, NBSP, NBSP_CHARS, NUL, OCTAL_DIGITS, SPACE, SPACE_EOL, SPACE_EOL_SET, SPACE_SET, SPACE_TAB, SPACE_TAB_EOL_SET, SPACE_TAB_NBSP_SET, SPACE_TAB_SET, SPC, SPLIT_INCLUDE_DELIM_PARTS, SPLIT_INCLUDE_DELIMS, SPLIT_SKIP_EMPTY, SPLIT_TRIM_PARTS, SPLIT_TRIM_SKIP_EMPTY, TAB_SET, US, US_CHARS, US_SET, visibleSpacesMap, WHITESPACE, WHITESPACE_CHARS, WHITESPACE_NBSP, WHITESPACE_NBSP_CHARS, WHITESPACE_NBSP_SET, WHITESPACE_NO_EOL_CHARS, WHITESPACE_SET
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description Tappend(CharSequence... sequences)Concatenate this sequence and list of others, returning sequence of resultTappend(Iterable<? extends CharSequence> sequences)TappendEOL()TappendRangesTo(@NotNull StringBuilder out, @Nullable CharMapper charMapper, Range... ranges)Append given ranges of this sequence to string builderTappendRangesTo(@NotNull StringBuilder out, @Nullable CharMapper charMapper, Iterable<? extends Range> ranges)TappendRangesTo(@NotNull StringBuilder out, Range... ranges)TappendRangesTo(@NotNull StringBuilder out, Iterable<? extends Range> ranges)TappendSpace()TappendSpaces(int count)TappendTo(@NotNull StringBuilder out)TappendTo(@NotNull StringBuilder out, int startIndex)TappendTo(@NotNull StringBuilder out, int startIndex, int endIndex)TappendTo(@NotNull StringBuilder out, @Nullable CharMapper charMapper)TappendTo(@NotNull StringBuilder out, @Nullable CharMapper charMapper, int startIndex)TappendTo(@NotNull StringBuilder out, @Nullable CharMapper charMapper, int startIndex, int endIndex)Append helpers@NotNull List<Range>blankLinesRemovedRanges()@NotNull List<Range>blankLinesRemovedRanges(int fromIndex)@NotNull List<Range>blankLinesRemovedRanges(int fromIndex, int endIndex)@NotNull List<Range>blankLinesRemovedRanges(@NotNull com.vladsch.flexmark.util.misc.CharPredicate eolChars, int fromIndex, int endIndex)intcolumnAtIndex(int index)default intcountLeading()Deprecated.default intcountLeading(char c)Deprecated.consider using built-in sets of characters, ..._SET, or Use CharPredicate.anyOf(...)intcountLeading(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)Count leading/trailing characters of this sequenceintcountLeading(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex)intcountLeading(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex, int endIndex)intcountLeadingColumns(int startColumn, @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)Count column of indent given by chars in the set in this sequence, expanding tabs to 4th columnintcountLeadingNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)intcountLeadingNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex)intcountLeadingNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex, int endIndex)intcountLeadingNotSpace()intcountLeadingNotSpace(int startIndex)intcountLeadingNotSpace(int startIndex, int endIndex)intcountLeadingNotSpaceTab()intcountLeadingNotSpaceTab(int startIndex)intcountLeadingNotSpaceTab(int startIndex, int endIndex)intcountLeadingNotWhitespace()intcountLeadingNotWhitespace(int startIndex)intcountLeadingNotWhitespace(int startIndex, int endIndex)intcountLeadingSpace()intcountLeadingSpace(int startIndex)intcountLeadingSpace(int startIndex, int endIndex)intcountLeadingSpaceTab()intcountLeadingSpaceTab(int startIndex)intcountLeadingSpaceTab(int startIndex, int endIndex)intcountLeadingWhitespace()intcountLeadingWhitespace(int startIndex)intcountLeadingWhitespace(int startIndex, int endIndex)default intcountOf(char c)Deprecated.intcountOfAny(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)intcountOfAny(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex)intcountOfAny(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex, int endIndex)intcountOfAnyNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)intcountOfAnyNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex)intcountOfAnyNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex, int endIndex)intcountOfNotSpaceTab()intcountOfNotWhitespace()intcountOfSpaceTab()intcountOfWhitespace()default intcountTrailing()Deprecated.intcountTrailing(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)intcountTrailing(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex)intcountTrailing(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex, int endIndex)intcountTrailingNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)intcountTrailingNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex)intcountTrailingNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex, int endIndex)intcountTrailingNotSpace()intcountTrailingNotSpace(int fromIndex)intcountTrailingNotSpace(int startIndex, int fromIndex)intcountTrailingNotSpaceTab()intcountTrailingNotSpaceTab(int fromIndex)intcountTrailingNotSpaceTab(int startIndex, int fromIndex)intcountTrailingNotWhitespace()intcountTrailingNotWhitespace(int fromIndex)intcountTrailingNotWhitespace(int startIndex, int fromIndex)intcountTrailingSpace()intcountTrailingSpace(int fromIndex)intcountTrailingSpace(int startIndex, int fromIndex)intcountTrailingSpaceTab()intcountTrailingSpaceTab(int fromIndex)intcountTrailingSpaceTab(int startIndex, int fromIndex)intcountTrailingWhitespace()intcountTrailingWhitespace(int fromIndex)intcountTrailingWhitespace(int startIndex, int fromIndex)Tdelete(int startIndex, int endIndex)Delete range in sequence@NotNull T[]emptyArray()charendCharAt(int index)Convenience method to get characters offset from end of sequence.intendOfDelimitedBy(@NotNull CharSequence s, int index)Find start/end region in this sequence delimited by any characters in argument or the CharSequenceintendOfDelimitedByAny(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int index)intendOfDelimitedByAnyNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int index)intendOfLine(int index)Get the offset of the end of line at given index, end of line delimited by \nintendOfLineAnyEOL(int index)Get the offset of the end of line at given index, end of line delimited by \n or any of \n \r \r\n for Any methods.TendSequence(int startIndex)Convenience method to get characters offset from endIndex of sequence.TendSequence(int startIndex, int endIndex)Convenience method to get characters offset from endIndex of sequence.booleanendsWith(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)booleanendsWith(@NotNull CharSequence suffix)test if this sequence ends with given charactersbooleanendsWith(@NotNull CharSequence suffix, boolean ignoreCase)test if this sequence ends with given charactersbooleanendsWithAnyEOL()booleanendsWithEOL()booleanendsWithIgnoreCase(@NotNull CharSequence suffix)test if this sequence ends with given characters, ignoring case differencesbooleanendsWithSpace()booleanendsWithSpaceTab()booleanendsWithWhitespace()inteolEndLength()Get the length of EOL character at the end of this sequence, if present.inteolEndLength(int eolEnd)Get the length of EOL character at the given index of this sequence, if present.@NotNull RangeeolEndRange(int eolEnd)Return Range of eol at given indexdefault inteolLength(int eolStart)Deprecated.default inteolStartLength()Deprecated.inteolStartLength(int eolStart)Get the length of EOL character at the given index of this sequence, if present.@NotNull RangeeolStartRange(int eolStart)Return Range of eol at given indexbooleanequals(@Nullable Object other)Comparison to another CharSequence should result in a match if their contents are equal regardless of the implementation.booleanequals(@Nullable Object other, boolean ignoreCase)Test the sequence for a match to another CharSequencebooleanequalsIgnoreCase(@Nullable Object other)Test the sequence for a match to another CharSequence, ignoring case differencesTextractRanges(Range... ranges)Build a sequence of ranges in this sequenceTextractRanges(Iterable<Range> ranges)charfirstChar()<B extends ISequenceBuilder<B,T>>
BgetBuilder()Get a sequence builder for this sequence typedefault intgetColumnAtIndex(int index)Deprecated.default @NotNull com.vladsch.flexmark.util.misc.Pair<Integer,Integer>getLineColumnAtIndex(int index)Deprecated.inthashCode()Should return hashCode of the underlying character sequence which is equal to the String value of that sequenceTifNull(T other)If this sequence is the nullSequence() instance then returns other, otherwise returns this sequence.TifNullEmptyAfter(T other)If this sequence is the nullSequence() instance then returns an empty subSequence from the end of other, otherwise returns this sequence.TifNullEmptyBefore(T other)If this sequence is the nullSequence() instance then returns an empty subSequence from the start of other, otherwise returns this sequence.intindexOf(char c)intindexOf(char c, int fromIndex)intindexOf(char c, int fromIndex, int endIndex)intindexOf(@NotNull CharSequence s)All index methods return the position or -1 if not found of the given character, characters or string.intindexOf(@NotNull CharSequence s, int fromIndex)intindexOf(@NotNull CharSequence s, int fromIndex, int endIndex)@org.jetbrains.annotations.NotNull int[]indexOfAll(@NotNull CharSequence s)Get indices of all occurrences of a sequenceintindexOfAny(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s)intindexOfAny(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int fromIndex)intindexOfAny(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int fromIndex, int endIndex)intindexOfAnyNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s)intindexOfAnyNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int fromIndex)intindexOfAnyNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int fromIndex, int endIndex)intindexOfNot(char c)intindexOfNot(char c, int fromIndex)intindexOfNot(char c, int fromIndex, int endIndex)Tinsert(int index, @NotNull CharSequence chars)Insert char sequence at given indexdefault Tinsert(@NotNull CharSequence chars, int index)Deprecated.useinsert(int, CharSequence)insteadbooleanisBlank()booleanisCharAt(int index, @NotNull com.vladsch.flexmark.util.misc.CharPredicate predicate)Safe, if index out of range returns '\0'booleanisEmpty()booleanisIn(@NotNull String[] texts)booleanisIn(@NotNull Collection<? extends CharSequence> texts)booleanisNotBlank()booleanisNotEmpty()booleanisNotNull()booleanisNull()charlastChar()intlastIndexOf(char c)intlastIndexOf(char c, int fromIndex)intlastIndexOf(char c, int startIndex, int fromIndex)intlastIndexOf(@NotNull CharSequence s)intlastIndexOf(@NotNull CharSequence s, int fromIndex)intlastIndexOf(@NotNull CharSequence s, int startIndex, int fromIndex)intlastIndexOfAny(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s)intlastIndexOfAny(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int fromIndex)intlastIndexOfAny(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int startIndex, int fromIndex)intlastIndexOfAnyNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s)intlastIndexOfAnyNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int fromIndex)intlastIndexOfAnyNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int startIndex, int fromIndex)intlastIndexOfNot(char c)intlastIndexOfNot(char c, int fromIndex)intlastIndexOfNot(char c, int startIndex, int fromIndex)@NotNull RangeleadingBlankLinesRange()@NotNull RangeleadingBlankLinesRange(int startIndex)@NotNull RangeleadingBlankLinesRange(int fromIndex, int endIndex)@NotNull RangeleadingBlankLinesRange(@NotNull com.vladsch.flexmark.util.misc.CharPredicate eolChars, int fromIndex, int endIndex)Get Range of leading blank lines at given index offsets in sequenceTlineAt(int index)Get the line characters at given index, line delimited by \nTlineAtAnyEOL(int index)Get the line characters at given index, line delimited by \n, \r or \r\n@NotNull com.vladsch.flexmark.util.misc.Pair<Integer,Integer>lineColumnAtIndex(int index)Get the line and column information from index into sequence@NotNull RangelineRangeAt(int index)Get the line characters at given index, line delimited by \n@NotNull RangelineRangeAtAnyEOL(int index)Get the line characters at given index, line delimited by \n, \r or \r\nbooleanmatchChars(@NotNull CharSequence chars)Test the sequence portion for a match to another CharSequencebooleanmatchChars(@NotNull CharSequence chars, boolean ignoreCase)booleanmatchChars(@NotNull CharSequence chars, int startIndex)booleanmatchChars(@NotNull CharSequence chars, int startIndex, boolean ignoreCase)Test the sequence portion for a match to another CharSequencebooleanmatchCharsIgnoreCase(@NotNull CharSequence chars)booleanmatchCharsIgnoreCase(@NotNull CharSequence chars, int startIndex)booleanmatchCharsReversed(@NotNull CharSequence chars, int endIndex)booleanmatchCharsReversed(@NotNull CharSequence chars, int endIndex, boolean ignoreCase)Test the sequence portion for a match to another CharSequence, reverse orderbooleanmatchCharsReversedIgnoreCase(@NotNull CharSequence chars, int endIndex)intmatchedCharCount(@NotNull CharSequence chars, int startIndex)intmatchedCharCount(@NotNull CharSequence chars, int startIndex, boolean ignoreCase)intmatchedCharCount(@NotNull CharSequence chars, int startIndex, int endIndex)intmatchedCharCount(@NotNull CharSequence chars, int startIndex, int endIndex, boolean ignoreCase)intmatchedCharCount(@NotNull CharSequence chars, int startIndex, int endIndex, boolean fullMatchOnly, boolean ignoreCase)Test the sequence portion for a match to another CharSequenceintmatchedCharCountIgnoreCase(@NotNull CharSequence chars, int startIndex)intmatchedCharCountIgnoreCase(@NotNull CharSequence chars, int startIndex, int endIndex)intmatchedCharCountReversed(@NotNull CharSequence chars, int fromIndex)intmatchedCharCountReversed(@NotNull CharSequence chars, int fromIndex, boolean ignoreCase)intmatchedCharCountReversed(@NotNull CharSequence chars, int startIndex, int fromIndex)intmatchedCharCountReversed(@NotNull CharSequence chars, int startIndex, int fromIndex, boolean ignoreCase)Test the sequence portion for a match to another CharSequence, equivalent to taking this.subSequence(startIndex, fromIndex) and then count matching chars going from end of both sequencesintmatchedCharCountReversedIgnoreCase(@NotNull CharSequence chars, int fromIndex)intmatchedCharCountReversedIgnoreCase(@NotNull CharSequence chars, int startIndex, int fromIndex)booleanmatches(@NotNull CharSequence chars)Test the sequence for a match to another CharSequencebooleanmatches(@NotNull CharSequence chars, boolean ignoreCase)booleanmatchesIgnoreCase(@NotNull CharSequence chars)charmidCharAt(int index)Convenience method to get characters offset from start or end of sequence.TmidSequence(int startIndex)Convenience method to get characters offset from start or end of sequence.TmidSequence(int startIndex, int endIndex)Convenience method to get characters offset from start or end of sequence.@NotNull StringnormalizeEndWithEOL()replace any \r\n and \r by \n, append terminating EOL if one is not present@NotNull StringnormalizeEOL()replace any \r\n and \r by \nTnullIf(boolean condition)If condition is true return nullSequence() otherwise returns this sequence.TnullIf(@NotNull BiPredicate<? super T,? super CharSequence> predicate, CharSequence... matches)If predicate returns true for this sequence and one of given sequences return nullSequence() otherwise returns this sequence.TnullIf(@NotNull Predicate<? super CharSequence> predicate, CharSequence... matches)If predicate returns true for one of given sequences return nullSequence() otherwise returns this sequence.TnullIf(CharSequence... matches)If this sequence matches one of given sequences return nullSequence() otherwise returns this sequence.TnullIfBlank()If this sequence is blank return nullSequence() otherwise returns this sequence.TnullIfEmpty()If this sequence is empty return nullSequence() otherwise returns this sequence.TnullIfEndsWith(boolean ignoreCase, CharSequence... matches)TnullIfEndsWith(CharSequence... matches)TnullIfEndsWithIgnoreCase(CharSequence... matches)default TnullIfEndsWithNot(CharSequence... matches)Deprecated.TnullIfNot(@NotNull BiPredicate<? super T,? super CharSequence> predicate, CharSequence... matches)TnullIfNot(@NotNull Predicate<? super CharSequence> predicate, CharSequence... matches)TnullIfNot(CharSequence... matches)TnullIfNotEndsWith(boolean ignoreCase, CharSequence... matches)TnullIfNotEndsWith(CharSequence... matches)TnullIfNotEndsWithIgnoreCase(CharSequence... matches)TnullIfNotStartsWith(boolean ignoreCase, CharSequence... matches)TnullIfNotStartsWith(CharSequence... matches)TnullIfNotStartsWithIgnoreCase(CharSequence... matches)TnullIfStartsWith(boolean ignoreCase, CharSequence... matches)TnullIfStartsWith(CharSequence... matches)TnullIfStartsWithIgnoreCase(CharSequence... matches)default TnullIfStartsWithNot(CharSequence... matches)Deprecated.TnullSequence()Tpadding(int length)Tpadding(int length, char pad)Get the chars needed for padding to lengthTpadEnd(int length)TpadEnd(int length, char pad)TpadStart(int length)TpadStart(int length, char pad)Pad this sequence to given lengthTprefixOnceWith(@Nullable CharSequence prefix)Prefix this sequence with a char sequence if not already starting with prefixTprefixOnceWithEOL()TprefixOnceWithSpace()TprefixWith(@Nullable CharSequence prefix)Prefix this sequence with a char sequenceTprefixWithEOL()TprefixWithSpace()TprefixWithSpaces(int count)TremovePrefix(@NotNull CharSequence prefix)Remove prefix if presentTremovePrefix(@NotNull CharSequence prefix, boolean ignoreCase)Remove prefix if presentTremovePrefixIgnoreCase(@NotNull CharSequence prefix)Remove prefix if present, ignoring case differencesTremoveProperPrefix(@NotNull CharSequence prefix)Remove prefix if present but only if this sequence is longer than the suffixTremoveProperPrefix(@NotNull CharSequence prefix, boolean ignoreCase)Remove prefix if present but only if this sequence is longer than the suffixTremoveProperPrefixIgnoreCase(@NotNull CharSequence prefix)Remove prefix if present but only if this sequence is longer than the suffix, ignoring case differencesTremoveProperSuffix(@NotNull CharSequence suffix)Remove suffix if present but only if this sequence is longer than the suffixTremoveProperSuffix(@NotNull CharSequence suffix, boolean ignoreCase)Remove suffix if present but only if this sequence is longer than the suffixTremoveProperSuffixIgnoreCase(@NotNull CharSequence suffix)Remove suffix if present but only if this sequence is longer than the suffix, ignoring case differencesTremoveSuffix(@NotNull CharSequence suffix)Remove suffix if presentTremoveSuffix(@NotNull CharSequence suffix, boolean ignoreCase)Remove suffix if presentTremoveSuffixIgnoreCase(@NotNull CharSequence suffix)Remove suffix if present, ignoring case differencesTreplace(int startIndex, int endIndex, @NotNull CharSequence replacement)Replace part of the sequence with a char sequenceTreplace(@NotNull CharSequence find, @NotNull CharSequence replace)Replace all occurrences of one sequence with anothercharsafeCharAt(int index)return char at index or '\0' if index <0 or >=length()TsafeSubSequence(int startIndex)Get a portion of this sequence, if index < 0 use 0, if > length() use lengthTsafeSubSequence(int startIndex, int endIndex)Get a portion of this sequence, if index < 0 use 0, if > length() use lengthTsequenceOf(@Nullable CharSequence charSequence)Factory functionTsequenceOf(@Nullable CharSequence charSequence, int startIndex)Factory functionTsequenceOf(@Nullable CharSequence charSequence, int startIndex, int endIndex)Factory functiondefault @NotNull T[]split(char delimiter)Deprecated.default @NotNull T[]split(char delimiter, int limit)Deprecated.default @NotNull T[]split(char delimiter, int limit, int flags)Deprecated.@NotNull T[]split(@NotNull CharSequence delimiter)@NotNull T[]split(@NotNull CharSequence delimiter, boolean includeDelims, @Nullable com.vladsch.flexmark.util.misc.CharPredicate trimChars)@NotNull T[]split(@NotNull CharSequence delimiter, int limit, boolean includeDelims, @Nullable com.vladsch.flexmark.util.misc.CharPredicate trimChars)@NotNull T[]split(@NotNull CharSequence delimiter, int limit, int flags)@NotNull T[]split(@NotNull CharSequence delimiter, int limit, int flags, @Nullable com.vladsch.flexmark.util.misc.CharPredicate trimChars)@NotNull T[]splitEOL()@NotNull T[]splitEOL(boolean includeDelims)@NotNull List<T>splitList(@NotNull CharSequence delimiter)@NotNull List<T>splitList(@NotNull CharSequence delimiter, boolean includeDelims, @Nullable com.vladsch.flexmark.util.misc.CharPredicate trimChars)@NotNull List<T>splitList(@NotNull CharSequence delimiter, int limit, boolean includeDelims, @Nullable com.vladsch.flexmark.util.misc.CharPredicate trimChars)Split helpers based on delimiter character sets contained in CharPredicate@NotNull List<T>splitList(@NotNull CharSequence delimiter, int limit, int flags)@NotNull List<T>splitList(@NotNull CharSequence delimiter, int limit, int flags, @Nullable com.vladsch.flexmark.util.misc.CharPredicate trimChars)Split helpers based on delimiter character sets contained in CharSequence@NotNull List<T>splitListEOL()@NotNull List<T>splitListEOL(boolean includeDelims)@NotNull List<T>splitListEOL(boolean includeDelims, @Nullable com.vladsch.flexmark.util.misc.CharPredicate trimChars)intstartOfDelimitedBy(@NotNull CharSequence s, int index)intstartOfDelimitedByAny(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int index)intstartOfDelimitedByAnyNot(@NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int index)intstartOfLine(int index)Get the offset of the start of line at given index, start of line delimited by \nintstartOfLineAnyEOL(int index)Get the offset of the start of line at given index, start of line delimited by \n or any of \n \r \r\n for Any methods.booleanstartsWith(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)booleanstartsWith(@NotNull CharSequence prefix)test if this sequence starts with given charactersbooleanstartsWith(@NotNull CharSequence prefix, boolean ignoreCase)test if this sequence starts with given charactersbooleanstartsWithAnyEOL()booleanstartsWithEOL()booleanstartsWithIgnoreCase(@NotNull CharSequence prefix)test if this sequence starts with given characters, ignoring case differencesbooleanstartsWithSpace()booleanstartsWithSpaceTab()booleanstartsWithWhitespace()TsubSequence(int startIndex)Get a portion of this sequence starting from a given offset to endIndex of the sequenceTsubSequence(int startIndex, int endIndex)Get a portion of this sequenceTsubSequence(@NotNull Range range)Get a portion of this sequence selected by rangeTsubSequenceAfter(@NotNull Range range)Get a portion of this sequence after one selected by rangeTsubSequenceBefore(@NotNull Range range)Get a portion of this sequence before one selected by rangeTsuffixOnceWith(@Nullable CharSequence suffix)Suffix this sequence with a char sequence if not already ending with suffixTsuffixOnceWithEOL()TsuffixOnceWithSpace()TsuffixWith(@Nullable CharSequence suffix)Prefix this sequence with a char sequenceTsuffixWithEOL()TsuffixWithSpace()TsuffixWithSpaces(int count)TtoLowerCase()Map characters of this sequence to: Uppercase, Lowercase or use custom mappingTtoMapped(CharMapper mapper)TtoNbSp()Map spaces to non break spacesTtoSpc()Map non break spaces to spaces@Nullable StringtoStringOrNull()Return string or null if BaseSequence.NULLTtoUpperCase()@NotNull StringtoVisibleWhitespaceString()@NotNull RangetrailingBlankLinesRange()@NotNull RangetrailingBlankLinesRange(int fromIndex)@NotNull RangetrailingBlankLinesRange(int startIndex, int fromIndex)@NotNull RangetrailingBlankLinesRange(com.vladsch.flexmark.util.misc.CharPredicate eolChars, int startIndex, int fromIndex)Get Range of trailing blank lines at given index offsets in sequenceTtrim()Ttrim(int keep)Ttrim(int keep, @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)Ttrim(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)TtrimEnd()TtrimEnd(int keep)TtrimEnd(int keep, @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)TtrimEnd(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)@NotNull RangetrimEndRange()@NotNull RangetrimEndRange(int keep)@NotNull RangetrimEndRange(int keep, @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)@NotNull RangetrimEndRange(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)TtrimEOL()Trim last eol at the end of this sequence,TtrimLeadBlankLines()@NotNull com.vladsch.flexmark.util.misc.Pair<T,T>trimmed()@NotNull com.vladsch.flexmark.util.misc.Pair<T,T>trimmed(int keep)@NotNull com.vladsch.flexmark.util.misc.Pair<T,T>trimmed(int keep, @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)@NotNull com.vladsch.flexmark.util.misc.Pair<T,T>trimmed(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)TtrimmedEnd()TtrimmedEnd(int keep)TtrimmedEnd(int keep, @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)TtrimmedEnd(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)TtrimmedEOL()Get Trimmed part bytrimEOL()TtrimmedStart()TtrimmedStart(int keep)TtrimmedStart(int keep, @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)Get the characters Trimmed, Trimmed from start/end of this sequence, characters to trim are passed in the sequence argumentTtrimmedStart(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)@NotNull RangetrimRange()@NotNull RangetrimRange(int keep)@NotNull RangetrimRange(int keep, @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)@NotNull RangetrimRange(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)TtrimStart()TtrimStart(int keep)TtrimStart(int keep, @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)Trim, Trim start/end of this sequence, characters to trim are passed in the sequence argumentTtrimStart(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)@NotNull RangetrimStartRange()@NotNull RangetrimStartRange(int keep)@NotNull RangetrimStartRange(int keep, @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)Range of kept sequence when trim start/end of this sequence is performed, characters to trim are passed in the sequence argument@NotNull RangetrimStartRange(@NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)TtrimTailBlankLines()Trim leading trailing blank lines in this sequenceTtrimToEndOfLine()TtrimToEndOfLine(boolean includeEol)TtrimToEndOfLine(boolean includeEol, int index)TtrimToEndOfLine(int index)TtrimToEndOfLine(@NotNull com.vladsch.flexmark.util.misc.CharPredicate eolChars, boolean includeEol, int index)Trim end to end of line containing indexTtrimToStartOfLine()TtrimToStartOfLine(boolean includeEol)TtrimToStartOfLine(boolean includeEol, int index)TtrimToStartOfLine(int index)TtrimToStartOfLine(@NotNull com.vladsch.flexmark.util.misc.CharPredicate eolChars, boolean includeEol, int index)Trim start to start of line containing index-
Methods inherited from interface java.lang.CharSequence
charAt, chars, codePoints, length, toString
-
Methods inherited from interface java.lang.Comparable
compareTo
-
-
-
-
Method Detail
-
equals
boolean equals(@Nullable @Nullable Object other)Comparison to another CharSequence should result in a match if their contents are equal regardless of the implementation. Should not resort to content comparison unless
-
hashCode
int hashCode()
Should return hashCode of the underlying character sequence which is equal to the String value of that sequence
-
emptyArray
@NotNull @NotNull T[] emptyArray()
-
nullSequence
@NotNull T nullSequence()
-
lastChar
char lastChar()
- Returns:
- the last character of the sequence or '\0' if empty
-
firstChar
char firstChar()
- Returns:
- the first character of the sequence or '\0' if empty
-
safeCharAt
char safeCharAt(int index)
return char at index or '\0' if index <0 or >=length()- Parameters:
index- index- Returns:
- char or '\0'
-
subSequence
@NotNull T subSequence(int startIndex, int endIndex)
Get a portion of this sequenceNOTE: the returned value should only depend on start/end indices. If a subsequence of this sequence with matching start/end should equal (using equals()) all such subsequences of this sequence.
- Specified by:
subSequencein interfaceCharSequence- Parameters:
startIndex- offset from startIndex of this sequenceendIndex- offset from startIndex of this sequence- Returns:
- based sequence whose contents reflect the selected portion
-
safeSubSequence
@NotNull T safeSubSequence(int startIndex, int endIndex)
Get a portion of this sequence, if index < 0 use 0, if > length() use lengthNOTE: the returned value should only depend on start/end indices. If a subsequence of this sequence with matching start/end should equal (using equals()) all such subsequences of this sequence.
- Parameters:
startIndex- offset from startIndex of this sequenceendIndex- offset from startIndex of this sequence- Returns:
- based sequence whose contents reflect the selected portion
-
safeSubSequence
@NotNull T safeSubSequence(int startIndex)
Get a portion of this sequence, if index < 0 use 0, if > length() use lengthNOTE: the returned value should only depend on start/end indices. If a subsequence of this sequence with matching start/end should equal (using equals()) all such subsequences of this sequence.
- Parameters:
startIndex- offset from startIndex of this sequence- Returns:
- based sequence whose contents reflect the selected portion
-
subSequence
@NotNull T subSequence(@NotNull @NotNull Range range)
Get a portion of this sequence selected by range- Parameters:
range- range to get, coordinates offset form start of this sequence- Returns:
- based sequence whose contents reflect the selected portion, if range.isNull() then
nullSequence()
-
subSequenceBefore
@NotNull T subSequenceBefore(@NotNull @NotNull Range range)
Get a portion of this sequence before one selected by range- Parameters:
range- range to get, coordinates offset form start of this sequence- Returns:
- based sequence whose contents reflect the selected portion, if range.isNull() then
nullSequence()
-
subSequenceAfter
@NotNull T subSequenceAfter(@NotNull @NotNull Range range)
Get a portion of this sequence after one selected by range- Parameters:
range- range to get, coordinates offset form start of this sequence- Returns:
- based sequence whose contents reflect the selected portion, if range.isNull() then
nullSequence()
-
subSequence
@NotNull T subSequence(int startIndex)
Get a portion of this sequence starting from a given offset to endIndex of the sequence- Parameters:
startIndex- offset from startIndex of this sequence- Returns:
- based sequence whose contents reflect the selected portion
-
endSequence
@NotNull T endSequence(int startIndex, int endIndex)
Convenience method to get characters offset from endIndex of sequence. no exceptions are thrown, instead a \0 is returned for an invalid index positions- Parameters:
startIndex- offset from endIndex of sequence [ 0..length() )endIndex- offset from endIndex of sequence [ 0..length() )- Returns:
- selected portion spanning length() - startIndex to length() - endIndex of this sequence
-
endSequence
@NotNull T endSequence(int startIndex)
Convenience method to get characters offset from endIndex of sequence. no exceptions are thrown, instead a \0 is returned for an invalid index positions- Parameters:
startIndex- offset from endIndex of sequence [ 0..length() )- Returns:
- selected portion spanning length() - startIndex to length() of this sequence
-
endCharAt
char endCharAt(int index)
Convenience method to get characters offset from end of sequence. no exceptions are thrown, instead a \0 is returned for an invalid index positions- Parameters:
index- offset from end of sequence- Returns:
- character located at length() - index in this sequence
-
midSequence
@NotNull T midSequence(int startIndex, int endIndex)
Convenience method to get characters offset from start or end of sequence. when offset >=0 then it is offset from the start of the sequence, when <0 then from the endno exceptions are thrown, instead a \0 is returned for an invalid index positions
- Parameters:
startIndex- offset into this sequenceendIndex- offset into this sequence- Returns:
- selected portion spanning startIndex to endIndex of this sequence. If offset is <0 then it is taken as relative to length()
-
midSequence
@NotNull T midSequence(int startIndex)
Convenience method to get characters offset from start or end of sequence. when offset >= then it is offset from the start of the sequence, when <0 then from the endno exceptions are thrown, instead a \0 is returned for an invalid index positions
- Parameters:
startIndex- offset into this sequence- Returns:
- selected portion spanning startIndex to length() of this sequence. If offset is <0 then it is taken as relative to length()
-
midCharAt
char midCharAt(int index)
Convenience method to get characters offset from start or end of sequence. when index >= then it is offset from the start of the sequence, when <0 then from the end no exceptions are thrown, instead a \0 is returned for an invalid index positions- Parameters:
index- of character to get- Returns:
- character at index or \0 if index is outside valid range for this sequence
-
sequenceOf
@NotNull T sequenceOf(@Nullable @Nullable CharSequence charSequence)
Factory function- Parameters:
charSequence- char sequence from which to construct a rich char sequence- Returns:
- rich char sequence from given inputs
-
sequenceOf
@NotNull T sequenceOf(@Nullable @Nullable CharSequence charSequence, int startIndex)
Factory function- Parameters:
charSequence- char sequence from which to construct a rich char sequencestartIndex- start index of the sequence to use- Returns:
- rich char sequence from given inputs
-
sequenceOf
@NotNull T sequenceOf(@Nullable @Nullable CharSequence charSequence, int startIndex, int endIndex)
Factory function- Parameters:
charSequence- char sequence from which to construct a rich char sequencestartIndex- start index of the sequence to useendIndex- end index of the sequence to use- Returns:
- rich char sequence from given inputs
-
getBuilder
@NotNull <B extends ISequenceBuilder<B,T>> B getBuilder()
Get a sequence builder for this sequence type- Type Parameters:
B- type of builder- Returns:
- builder which can build this type of sequence
-
indexOf
int indexOf(@NotNull @NotNull CharSequence s)All index methods return the position or -1 if not found of the given character, characters or string.The basic methods have overloads for 1, 2, or 3 characters and CharSequence parameters. If fromIndex is not given then for forward searching methods 0 is taken as the value, for reverse searching methods length() is taken as the value
For forward searching methods fromIndex is the minimum start position for search and endIndex is the maximum end position, if not given the length() of string is assumed.
For reverse searching methods fromIndex is the maximum start position for search and startIndex is the minimum end position, if not given then 0 is assumed.
- Parameters:
s- character pre whose occurrence to find- Returns:
- index where found or -1
-
indexOf
int indexOf(@NotNull @NotNull CharSequence s, int fromIndex)
-
indexOf
int indexOf(@NotNull @NotNull CharSequence s, int fromIndex, int endIndex)
-
indexOf
int indexOf(char c, int fromIndex, int endIndex)
-
indexOf
int indexOf(char c, int fromIndex)
-
indexOf
int indexOf(char c)
-
indexOfAny
int indexOfAny(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int fromIndex, int endIndex)
-
indexOfAny
int indexOfAny(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int fromIndex)
-
indexOfAny
int indexOfAny(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s)
-
indexOfNot
int indexOfNot(char c, int fromIndex, int endIndex)
-
indexOfNot
int indexOfNot(char c, int fromIndex)
-
indexOfNot
int indexOfNot(char c)
-
indexOfAnyNot
int indexOfAnyNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int fromIndex, int endIndex)
-
indexOfAnyNot
int indexOfAnyNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int fromIndex)
-
indexOfAnyNot
int indexOfAnyNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s)
-
lastIndexOf
int lastIndexOf(@NotNull @NotNull CharSequence s)
-
lastIndexOf
int lastIndexOf(@NotNull @NotNull CharSequence s, int fromIndex)
-
lastIndexOf
int lastIndexOf(@NotNull @NotNull CharSequence s, int startIndex, int fromIndex)
-
lastIndexOf
int lastIndexOf(char c, int startIndex, int fromIndex)
-
lastIndexOf
int lastIndexOf(char c, int fromIndex)
-
lastIndexOf
int lastIndexOf(char c)
-
lastIndexOfAny
int lastIndexOfAny(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int startIndex, int fromIndex)
-
lastIndexOfAny
int lastIndexOfAny(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int fromIndex)
-
lastIndexOfAny
int lastIndexOfAny(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s)
-
lastIndexOfNot
int lastIndexOfNot(char c)
-
lastIndexOfNot
int lastIndexOfNot(char c, int fromIndex)
-
lastIndexOfNot
int lastIndexOfNot(char c, int startIndex, int fromIndex)
-
lastIndexOfAnyNot
int lastIndexOfAnyNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int startIndex, int fromIndex)
-
lastIndexOfAnyNot
int lastIndexOfAnyNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int fromIndex)
-
lastIndexOfAnyNot
int lastIndexOfAnyNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s)
-
countLeading
int countLeading(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)Count leading/trailing characters of this sequenceParameters can be CharPredicate, counts any contiguous leading/trailing characters in the sequence which are contained in the given char set.
All functions have overloads: with no fromIndex then 0 is taken for leading and length() for trailing methods with fromIndex then this is taken as the start for leading and end for trailing methods with fromIndex and endIndex, counting will start at fromIndex and stop at endIndex
countLeading(CharPredicate): count contiguous leading characters from set in this sequence countLeadingNot(CharPredicate): count contiguous leading characters not from set in this sequence countTrailing(CharPredicate): count contiguous leading characters from set in this sequence countTrailingNot(CharPredicate): count contiguous leading characters not from set in this sequence
- Parameters:
chars- predicate for set of contiguous characters which should be counted- Returns:
- number of chars in contiguous span at start of sequence
-
countLeadingNot
int countLeadingNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
countLeading
int countLeading(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex)
-
countLeadingNot
int countLeadingNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex)
-
countLeading
int countLeading(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex, int endIndex)
-
countLeadingNot
int countLeadingNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex, int endIndex)
-
countLeading
@Deprecated default int countLeading(char c)
Deprecated.consider using built-in sets of characters, ..._SET, or Use CharPredicate.anyOf(...)- Parameters:
c- char- Returns:
- leading count
-
countTrailing
int countTrailing(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
countTrailingNot
int countTrailingNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
countTrailing
int countTrailing(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex)
-
countTrailingNot
int countTrailingNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex)
-
countTrailing
int countTrailing(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex, int endIndex)
-
countTrailingNot
int countTrailingNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex, int endIndex)
-
countLeadingSpace
int countLeadingSpace()
-
countLeadingNotSpace
int countLeadingNotSpace()
-
countLeadingSpace
int countLeadingSpace(int startIndex)
-
countLeadingNotSpace
int countLeadingNotSpace(int startIndex)
-
countLeadingSpace
int countLeadingSpace(int startIndex, int endIndex)
-
countLeadingNotSpace
int countLeadingNotSpace(int startIndex, int endIndex)
-
countTrailingSpace
int countTrailingSpace()
-
countTrailingNotSpace
int countTrailingNotSpace()
-
countTrailingSpace
int countTrailingSpace(int fromIndex)
-
countTrailingNotSpace
int countTrailingNotSpace(int fromIndex)
-
countTrailingSpace
int countTrailingSpace(int startIndex, int fromIndex)
-
countTrailingNotSpace
int countTrailingNotSpace(int startIndex, int fromIndex)
-
countLeadingSpaceTab
int countLeadingSpaceTab()
-
countLeadingNotSpaceTab
int countLeadingNotSpaceTab()
-
countLeadingSpaceTab
int countLeadingSpaceTab(int startIndex)
-
countLeadingNotSpaceTab
int countLeadingNotSpaceTab(int startIndex)
-
countLeadingSpaceTab
int countLeadingSpaceTab(int startIndex, int endIndex)
-
countLeadingNotSpaceTab
int countLeadingNotSpaceTab(int startIndex, int endIndex)
-
countTrailingSpaceTab
int countTrailingSpaceTab()
-
countTrailingNotSpaceTab
int countTrailingNotSpaceTab()
-
countTrailingSpaceTab
int countTrailingSpaceTab(int fromIndex)
-
countTrailingNotSpaceTab
int countTrailingNotSpaceTab(int fromIndex)
-
countTrailingSpaceTab
int countTrailingSpaceTab(int startIndex, int fromIndex)
-
countTrailingNotSpaceTab
int countTrailingNotSpaceTab(int startIndex, int fromIndex)
-
countLeadingWhitespace
int countLeadingWhitespace()
-
countLeadingNotWhitespace
int countLeadingNotWhitespace()
-
countLeadingWhitespace
int countLeadingWhitespace(int startIndex)
-
countLeadingNotWhitespace
int countLeadingNotWhitespace(int startIndex)
-
countLeadingWhitespace
int countLeadingWhitespace(int startIndex, int endIndex)
-
countLeadingNotWhitespace
int countLeadingNotWhitespace(int startIndex, int endIndex)
-
countTrailingWhitespace
int countTrailingWhitespace()
-
countTrailingNotWhitespace
int countTrailingNotWhitespace()
-
countTrailingWhitespace
int countTrailingWhitespace(int fromIndex)
-
countTrailingNotWhitespace
int countTrailingNotWhitespace(int fromIndex)
-
countTrailingWhitespace
int countTrailingWhitespace(int startIndex, int fromIndex)
-
countTrailingNotWhitespace
int countTrailingNotWhitespace(int startIndex, int fromIndex)
-
countLeading
@Deprecated default int countLeading()
Deprecated.
-
countTrailing
@Deprecated default int countTrailing()
Deprecated.
-
countOfSpaceTab
int countOfSpaceTab()
-
countOfNotSpaceTab
int countOfNotSpaceTab()
-
countOfWhitespace
int countOfWhitespace()
-
countOfNotWhitespace
int countOfNotWhitespace()
-
countOf
@Deprecated default int countOf(char c)
Deprecated.
-
countOfAny
int countOfAny(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
countOfAnyNot
int countOfAnyNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
countOfAny
int countOfAny(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex)
-
countOfAnyNot
int countOfAnyNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex)
-
countOfAny
int countOfAny(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex, int endIndex)
-
countOfAnyNot
int countOfAnyNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars, int startIndex, int endIndex)
-
countLeadingColumns
int countLeadingColumns(int startColumn, @NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)Count column of indent given by chars in the set in this sequence, expanding tabs to 4th column- Parameters:
startColumn- column of where this sequence startschars- whitespace characters- Returns:
- column of first non-whitespace as given by chars
-
trimStartRange
@NotNull @NotNull Range trimStartRange(int keep, @NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
Range of kept sequence when trim start/end of this sequence is performed, characters to trim are passed in the sequence argumentreturns range of kept sequence or if nothing matched then Range.NULL is returned, meaning keep all
If character set in the form of character sequence is not passed in the
SequenceUtils.WHITESPACEare assumed.- Parameters:
keep- minimum length of would be trimmed characters to keep. ie. keep 4, will leave 0..4 as is but remove any >4chars- set of characters to trim from start of line- Returns:
- range in this sequence to keep or Range.NULL if to keep all
-
trimEndRange
@NotNull @NotNull Range trimEndRange(int keep, @NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
trimRange
@NotNull @NotNull Range trimRange(int keep, @NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
trimStartRange
@NotNull @NotNull Range trimStartRange(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
trimEndRange
@NotNull @NotNull Range trimEndRange(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
trimRange
@NotNull @NotNull Range trimRange(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
trimStartRange
@NotNull @NotNull Range trimStartRange(int keep)
-
trimEndRange
@NotNull @NotNull Range trimEndRange(int keep)
-
trimRange
@NotNull @NotNull Range trimRange(int keep)
-
trimStartRange
@NotNull @NotNull Range trimStartRange()
-
trimEndRange
@NotNull @NotNull Range trimEndRange()
-
trimRange
@NotNull @NotNull Range trimRange()
-
trimStart
@NotNull T trimStart(int keep, @NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
Trim, Trim start/end of this sequence, characters to trim are passed in the sequence argumentreturns trimmed sequence or if nothing matched the original sequence
If character set in the form of character sequence is not passed in the
SequenceUtils.WHITESPACEare assumed.- Parameters:
keep- minimum length of would be trimmed characters to keep. ie. keep 4, will leave 0..4 as is but remove any >4chars- set of characters to trim from start of line- Returns:
- sequence after it is trimmed
-
trimEnd
@NotNull T trimEnd(int keep, @NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
trim
@NotNull T trim(int keep, @NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
trimStart
@NotNull T trimStart(int keep)
-
trimEnd
@NotNull T trimEnd(int keep)
-
trim
@NotNull T trim(int keep)
-
trimStart
@NotNull T trimStart(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
trimEnd
@NotNull T trimEnd(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
trim
@NotNull T trim(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
trimStart
@NotNull T trimStart()
-
trimEnd
@NotNull T trimEnd()
-
trim
@NotNull T trim()
-
trimmedStart
@NotNull T trimmedStart(int keep, @NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
Get the characters Trimmed, Trimmed from start/end of this sequence, characters to trim are passed in the sequence argumentreturns trimmed sequence or if nothing matched the original sequence
The pair returning functions return before and after sequence
- Parameters:
keep- minimum length of would be trimmed characters to keep. ie. keep 4, will leave 0..4 as is but remove any >4chars- set of characters to trim from start of line- Returns:
- part of the sequence that was trimmed from the start
-
trimmedEnd
@NotNull T trimmedEnd(int keep, @NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
trimmed
@NotNull @NotNull com.vladsch.flexmark.util.misc.Pair<T,T> trimmed(int keep, @NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
trimmedStart
@NotNull T trimmedStart(int keep)
-
trimmedEnd
@NotNull T trimmedEnd(int keep)
-
trimmedStart
@NotNull T trimmedStart(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
trimmedEnd
@NotNull T trimmedEnd(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
trimmed
@NotNull @NotNull com.vladsch.flexmark.util.misc.Pair<T,T> trimmed(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
trimmedStart
@NotNull T trimmedStart()
-
trimmedEnd
@NotNull T trimmedEnd()
-
padding
@NotNull T padding(int length, char pad)
Get the chars needed for padding to length- Parameters:
length- lengthpad- char to use for padding- Returns:
- padding chars
-
padding
@NotNull T padding(int length)
-
padStart
@NotNull T padStart(int length, char pad)
Pad this sequence to given length- Parameters:
length- length to padpad- char to use for padding- Returns:
- sequence padded
-
padEnd
@NotNull T padEnd(int length, char pad)
-
padStart
@NotNull T padStart(int length)
-
padEnd
@NotNull T padEnd(int length)
-
isEmpty
boolean isEmpty()
-
isBlank
boolean isBlank()
-
isNotEmpty
boolean isNotEmpty()
-
isNotBlank
boolean isNotBlank()
-
isNull
boolean isNull()
-
isNotNull
boolean isNotNull()
-
ifNull
@NotNull T ifNull(@NotNull T other)
If this sequence is the nullSequence() instance then returns other, otherwise returns this sequence.- Parameters:
other- based sequence to return if this is nullSequence()- Returns:
- this or other
-
ifNullEmptyAfter
@NotNull T ifNullEmptyAfter(@NotNull T other)
If this sequence is the nullSequence() instance then returns an empty subSequence from the end of other, otherwise returns this sequence.- Parameters:
other- based sequence from which to take the empty sequence- Returns:
- this or other.subSequence(other.length(), other.length())
-
ifNullEmptyBefore
@NotNull T ifNullEmptyBefore(@NotNull T other)
If this sequence is the nullSequence() instance then returns an empty subSequence from the start of other, otherwise returns this sequence.- Parameters:
other- based sequence from which to take the empty sequence- Returns:
- this or other.subSequence(0, 0)
-
nullIfEmpty
@NotNull T nullIfEmpty()
If this sequence is empty return nullSequence() otherwise returns this sequence.- Returns:
- this or nullSequence()
-
nullIfBlank
@NotNull T nullIfBlank()
If this sequence is blank return nullSequence() otherwise returns this sequence.- Returns:
- this or nullSequence()
-
nullIf
@NotNull T nullIf(boolean condition)
If condition is true return nullSequence() otherwise returns this sequence.- Parameters:
condition- when true return NULL else this- Returns:
- this or nullSequence()
-
nullIf
@NotNull T nullIf(@NotNull @NotNull BiPredicate<? super T,? super CharSequence> predicate, CharSequence... matches)
If predicate returns true for this sequence and one of given sequences return nullSequence() otherwise returns this sequence.- Parameters:
predicate- bi predicate for test, first argument is always this, second is one of the match sequencesmatches- match sequence list- Returns:
- this or nullSequence()
-
nullIfNot
@NotNull T nullIfNot(@NotNull @NotNull BiPredicate<? super T,? super CharSequence> predicate, CharSequence... matches)
-
nullIf
@NotNull T nullIf(@NotNull @NotNull Predicate<? super CharSequence> predicate, CharSequence... matches)
If predicate returns true for one of given sequences return nullSequence() otherwise returns this sequence.- Parameters:
predicate- sequence predicatematches- match sequence list- Returns:
- this or nullSequence()
-
nullIfNot
@NotNull T nullIfNot(@NotNull @NotNull Predicate<? super CharSequence> predicate, CharSequence... matches)
-
nullIf
@NotNull T nullIf(CharSequence... matches)
If this sequence matches one of given sequences return nullSequence() otherwise returns this sequence.- Parameters:
matches- match sequence list- Returns:
- this or nullSequence()
-
nullIfNot
@NotNull T nullIfNot(CharSequence... matches)
-
nullIfStartsWith
@NotNull T nullIfStartsWith(CharSequence... matches)
-
nullIfNotStartsWith
@NotNull T nullIfNotStartsWith(CharSequence... matches)
-
nullIfStartsWithNot
@Deprecated @NotNull default T nullIfStartsWithNot(CharSequence... matches)
Deprecated.
-
nullIfEndsWith
@NotNull T nullIfEndsWith(CharSequence... matches)
-
nullIfNotEndsWith
@NotNull T nullIfNotEndsWith(CharSequence... matches)
-
nullIfStartsWithIgnoreCase
@NotNull T nullIfStartsWithIgnoreCase(CharSequence... matches)
-
nullIfNotStartsWithIgnoreCase
@NotNull T nullIfNotStartsWithIgnoreCase(CharSequence... matches)
-
nullIfEndsWithIgnoreCase
@NotNull T nullIfEndsWithIgnoreCase(CharSequence... matches)
-
nullIfNotEndsWithIgnoreCase
@NotNull T nullIfNotEndsWithIgnoreCase(CharSequence... matches)
-
nullIfStartsWith
@NotNull T nullIfStartsWith(boolean ignoreCase, CharSequence... matches)
-
nullIfNotStartsWith
@NotNull T nullIfNotStartsWith(boolean ignoreCase, CharSequence... matches)
-
nullIfEndsWith
@NotNull T nullIfEndsWith(boolean ignoreCase, CharSequence... matches)
-
nullIfNotEndsWith
@NotNull T nullIfNotEndsWith(boolean ignoreCase, CharSequence... matches)
-
nullIfEndsWithNot
@Deprecated @NotNull default T nullIfEndsWithNot(CharSequence... matches)
Deprecated.
-
eolEndLength
int eolEndLength()
Get the length of EOL character at the end of this sequence, if present.\n - 1 \r - 1 \r\n - 2
- Returns:
- 0 if no EOL, 1, or 2 depending on the EOL suffix of this sequence
-
eolStartLength
@Deprecated default int eolStartLength()
Deprecated.
-
eolEndLength
int eolEndLength(int eolEnd)
Get the length of EOL character at the given index of this sequence, if present.\n - 1 \r - 1 \r\n - 2
- Parameters:
eolEnd- index where the EOL ends, if any, any value can be passed for this argument. If > length of this sequence then it is the same as passing length(), if 0 or less then 0 is returned.- Returns:
- 0 if no EOL, 1, or 2 depending on the EOL suffix of this sequence
-
eolStartLength
int eolStartLength(int eolStart)
Get the length of EOL character at the given index of this sequence, if present.\n - 1 \r - 1 \r\n - 2
- Parameters:
eolStart- index where the EOL starts, if any, any value can be passed for this argument. If >= length of this sequence then 0 is returned if 0 or less then it is the same as 0- Returns:
- 0 if no EOL, 1, or 2 depending on the EOL suffix of this sequence
-
eolLength
@Deprecated default int eolLength(int eolStart)
Deprecated.
-
eolEndRange
@NotNull @NotNull Range eolEndRange(int eolEnd)
Return Range of eol at given index- Parameters:
eolEnd- index where the EOL ends, if any, any value can be passed for this argument. If > length of this sequence then it is the same as passing length(), if 0 or less then 0 is returned.- Returns:
- range of eol given by index of its end or Range.NULL if no eol ends at index
-
eolStartRange
@NotNull @NotNull Range eolStartRange(int eolStart)
Return Range of eol at given index- Parameters:
eolStart- index where the EOL starts, if any, any value can be passed for this argument. If >= length of this sequence then 0 is returned if 0 or less then it is the same as 0- Returns:
- range of eol given by index of its end or Range.NULL if no eol starts at index
-
trimEOL
@NotNull T trimEOL()
Trim last eol at the end of this sequence,- Returns:
- sequence with one EOL trimmed off if it had one
-
trimmedEOL
@NotNull T trimmedEOL()
Get Trimmed part bytrimEOL()- Returns:
- trimmed off EOL if sequence had one or
nullSequence()
-
endOfDelimitedBy
int endOfDelimitedBy(@NotNull @NotNull CharSequence s, int index)Find start/end region in this sequence delimited by any characters in argument or the CharSequenceFor Any and AnyNot methods uses the CharSequence argument as a character set of possible delimiting characters
- Parameters:
s- character sequence delimiting the regionindex- from which to start looking for end of region- Returns:
- index of end of region delimited by s
-
endOfDelimitedByAny
int endOfDelimitedByAny(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int index)
-
endOfDelimitedByAnyNot
int endOfDelimitedByAnyNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int index)
-
startOfDelimitedBy
int startOfDelimitedBy(@NotNull @NotNull CharSequence s, int index)
-
startOfDelimitedByAny
int startOfDelimitedByAny(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int index)
-
startOfDelimitedByAnyNot
int startOfDelimitedByAnyNot(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate s, int index)
-
endOfLine
int endOfLine(int index)
Get the offset of the end of line at given index, end of line delimited by \n- Parameters:
index- index where to start searching for end of line- Returns:
- index of end of line delimited by \n
-
endOfLineAnyEOL
int endOfLineAnyEOL(int index)
Get the offset of the end of line at given index, end of line delimited by \n or any of \n \r \r\n for Any methods.- Parameters:
index- index where to start searching for end of line- Returns:
- index of end of line delimited by \n
-
startOfLine
int startOfLine(int index)
Get the offset of the start of line at given index, start of line delimited by \n- Parameters:
index- index where to start searching for end of line- Returns:
- index of end of line delimited by \n
-
startOfLineAnyEOL
int startOfLineAnyEOL(int index)
Get the offset of the start of line at given index, start of line delimited by \n or any of \n \r \r\n for Any methods.- Parameters:
index- index where to start searching for end of line- Returns:
- index of end of line delimited by \n
-
lineRangeAt
@NotNull @NotNull Range lineRangeAt(int index)
Get the line characters at given index, line delimited by \n- Parameters:
index- index at which to get the line- Returns:
- range in sequence for the line delimited by '\n', containing index
-
lineRangeAtAnyEOL
@NotNull @NotNull Range lineRangeAtAnyEOL(int index)
Get the line characters at given index, line delimited by \n, \r or \r\n- Parameters:
index- index at which to get the line- Returns:
- range in sequence for the line delimited by end of line, containing index
-
lineAt
@NotNull T lineAt(int index)
Get the line characters at given index, line delimited by \n- Parameters:
index- index at which to get the line- Returns:
- sub-sequence for the line containing index
-
lineAtAnyEOL
@NotNull T lineAtAnyEOL(int index)
Get the line characters at given index, line delimited by \n, \r or \r\n- Parameters:
index- index at which to get the line- Returns:
- sub-sequence for the line containing index
-
trimTailBlankLines
@NotNull T trimTailBlankLines()
Trim leading trailing blank lines in this sequence- Returns:
- return sequence with trailing blank lines trimmed off
-
trimLeadBlankLines
@NotNull T trimLeadBlankLines()
-
leadingBlankLinesRange
@NotNull @NotNull Range leadingBlankLinesRange(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate eolChars, int fromIndex, int endIndex)
Get Range of leading blank lines at given index offsets in sequence- Parameters:
eolChars- characters to consider as EOL, noteeolStartLength(int)should report length of EOL found if length > 1fromIndex- minimum index in sequence to check and include in range of blank lines can be any value, if less than 0 it is the same as 0, if greater than length() it is the same as length()endIndex- index in sequence from which to start blank line search, also maximum index to include in blank lines range can be any value, if less than 0 it is the same as 0, if greater than length() it is the same as length()- Returns:
- range of blank lines at or before fromIndex and ranging to minimum of startIndex, Range.NULL if none found if the range in sequence contains only whitespace characters then the whole range will be returned even if contains no EOL characters
-
trailingBlankLinesRange
@NotNull @NotNull Range trailingBlankLinesRange(com.vladsch.flexmark.util.misc.CharPredicate eolChars, int startIndex, int fromIndex)
Get Range of trailing blank lines at given index offsets in sequence- Parameters:
eolChars- characters to consider as EOL, noteeolStartLength(int)should report length of EOL found if length > 1startIndex- index in sequence from which to start blank line search, also maximum index to include in blank lines range can be any value, if less than 0 it is the same as 0, if greater than length() it is the same as length()fromIndex- maximum index in sequence to check and include in range of blank lines can be any value, if less than 0 it is the same as 0, if greater than length() it is the same as length()- Returns:
- range of blank lines at or before fromIndex and ranging to minimum of startIndex if the range in sequence contains only whitespace characters then the whole range will be returned even if contains no EOL characters
-
leadingBlankLinesRange
@NotNull @NotNull Range leadingBlankLinesRange()
-
leadingBlankLinesRange
@NotNull @NotNull Range leadingBlankLinesRange(int startIndex)
-
leadingBlankLinesRange
@NotNull @NotNull Range leadingBlankLinesRange(int fromIndex, int endIndex)
-
trailingBlankLinesRange
@NotNull @NotNull Range trailingBlankLinesRange()
-
trailingBlankLinesRange
@NotNull @NotNull Range trailingBlankLinesRange(int fromIndex)
-
trailingBlankLinesRange
@NotNull @NotNull Range trailingBlankLinesRange(int startIndex, int fromIndex)
-
blankLinesRemovedRanges
@NotNull @NotNull List<Range> blankLinesRemovedRanges(int fromIndex, int endIndex)
-
blankLinesRemovedRanges
@NotNull @NotNull List<Range> blankLinesRemovedRanges(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate eolChars, int fromIndex, int endIndex)
-
trimToEndOfLine
@NotNull T trimToEndOfLine(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate eolChars, boolean includeEol, int index)
Trim end to end of line containing index- Parameters:
eolChars- characters to consider as EOL, noteeolStartLength(int)should report length of EOL found if length > 1includeEol- true if EOL is to be included in the lineindex- index for offset contained by the line can be any value, if less than 0 it is the same as 0, if greater than length() it is the same as length()- Returns:
- trimmed version of the sequence to given EOL or the original sequence
-
trimToEndOfLine
@NotNull T trimToEndOfLine(boolean includeEol, int index)
-
trimToEndOfLine
@NotNull T trimToEndOfLine(boolean includeEol)
-
trimToEndOfLine
@NotNull T trimToEndOfLine(int index)
-
trimToEndOfLine
@NotNull T trimToEndOfLine()
-
trimToStartOfLine
@NotNull T trimToStartOfLine(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate eolChars, boolean includeEol, int index)
Trim start to start of line containing index- Parameters:
eolChars- characters to consider as EOL, noteeolStartLength(int)should report length of EOL found if length > 1includeEol- true if EOL is to be included in the lineindex- index for offset contained by the line can be any value, if less than 0 it is the same as 0, if greater than length() it is the same as length()- Returns:
- trimmed version of the sequence to given EOL or the original sequence
-
trimToStartOfLine
@NotNull T trimToStartOfLine(boolean includeEol, int index)
-
trimToStartOfLine
@NotNull T trimToStartOfLine(boolean includeEol)
-
trimToStartOfLine
@NotNull T trimToStartOfLine(int index)
-
trimToStartOfLine
@NotNull T trimToStartOfLine()
-
normalizeEOL
@NotNull @NotNull String normalizeEOL()
replace any \r\n and \r by \n- Returns:
- string with only \n for line separators
-
normalizeEndWithEOL
@NotNull @NotNull String normalizeEndWithEOL()
replace any \r\n and \r by \n, append terminating EOL if one is not present- Returns:
- string with only \n for line separators and terminated by \n
-
matches
boolean matches(@NotNull @NotNull CharSequence chars)Test the sequence for a match to another CharSequence- Parameters:
chars- characters to match against- Returns:
- true if match
-
matchesIgnoreCase
boolean matchesIgnoreCase(@NotNull @NotNull CharSequence chars)
-
matches
boolean matches(@NotNull @NotNull CharSequence chars, boolean ignoreCase)
-
equalsIgnoreCase
boolean equalsIgnoreCase(@Nullable @Nullable Object other)Test the sequence for a match to another CharSequence, ignoring case differences- Parameters:
other- characters to match against- Returns:
- true if match
-
equals
boolean equals(@Nullable @Nullable Object other, boolean ignoreCase)Test the sequence for a match to another CharSequence- Parameters:
other- characters to match againstignoreCase- case ignored when true- Returns:
- true if match
-
matchChars
boolean matchChars(@NotNull @NotNull CharSequence chars)Test the sequence portion for a match to another CharSequence- Parameters:
chars- characters to match against- Returns:
- true if characters at the start of this sequence match
-
matchCharsIgnoreCase
boolean matchCharsIgnoreCase(@NotNull @NotNull CharSequence chars)
-
matchChars
boolean matchChars(@NotNull @NotNull CharSequence chars, boolean ignoreCase)
-
matchChars
boolean matchChars(@NotNull @NotNull CharSequence chars, int startIndex, boolean ignoreCase)Test the sequence portion for a match to another CharSequence- Parameters:
chars- characters to match againststartIndex- index from which to start the matchignoreCase- if true match ignoring case differences- Returns:
- true if characters at the start index of this sequence match
-
matchChars
boolean matchChars(@NotNull @NotNull CharSequence chars, int startIndex)
-
matchCharsIgnoreCase
boolean matchCharsIgnoreCase(@NotNull @NotNull CharSequence chars, int startIndex)
-
matchedCharCount
int matchedCharCount(@NotNull @NotNull CharSequence chars, int startIndex, int endIndex, boolean fullMatchOnly, boolean ignoreCase)Test the sequence portion for a match to another CharSequence- Parameters:
chars- characters to match againststartIndex- index from which to start the matchendIndex- index at which to end the matchingfullMatchOnly- if true will do quick fail if length of chars is longer than characters after startIndex in this sequenceignoreCase- if true match ignoring case differences- Returns:
- count of characters at the start index of this sequence matching corresponding characters in chars
-
matchedCharCount
int matchedCharCount(@NotNull @NotNull CharSequence chars, int startIndex, int endIndex, boolean ignoreCase)
-
matchedCharCount
int matchedCharCount(@NotNull @NotNull CharSequence chars, int startIndex, boolean ignoreCase)
-
matchedCharCount
int matchedCharCount(@NotNull @NotNull CharSequence chars, int startIndex, int endIndex)
-
matchedCharCount
int matchedCharCount(@NotNull @NotNull CharSequence chars, int startIndex)
-
matchedCharCountIgnoreCase
int matchedCharCountIgnoreCase(@NotNull @NotNull CharSequence chars, int startIndex, int endIndex)
-
matchedCharCountIgnoreCase
int matchedCharCountIgnoreCase(@NotNull @NotNull CharSequence chars, int startIndex)
-
matchCharsReversed
boolean matchCharsReversed(@NotNull @NotNull CharSequence chars, int endIndex, boolean ignoreCase)Test the sequence portion for a match to another CharSequence, reverse order- Parameters:
chars- characters to match againstendIndex- index from which to start the match and proceed to 0ignoreCase- if true match ignoring case differences- Returns:
- true if characters at the start index of this sequence match
-
matchCharsReversed
boolean matchCharsReversed(@NotNull @NotNull CharSequence chars, int endIndex)
-
matchCharsReversedIgnoreCase
boolean matchCharsReversedIgnoreCase(@NotNull @NotNull CharSequence chars, int endIndex)
-
matchedCharCountReversed
int matchedCharCountReversed(@NotNull @NotNull CharSequence chars, int startIndex, int fromIndex, boolean ignoreCase)Test the sequence portion for a match to another CharSequence, equivalent to taking this.subSequence(startIndex, fromIndex) and then count matching chars going from end of both sequences- Parameters:
chars- characters to match againststartIndex- index at which to stop the matchfromIndex- index from which to start the match, not inclusive, matching starts at fromIndex-1 and proceeds towards 0ignoreCase- if true match ignoring case differences- Returns:
- count of characters at the from index of this sequence matching corresponding characters in chars in reverse order
-
matchedCharCountReversed
int matchedCharCountReversed(@NotNull @NotNull CharSequence chars, int startIndex, int fromIndex)
-
matchedCharCountReversedIgnoreCase
int matchedCharCountReversedIgnoreCase(@NotNull @NotNull CharSequence chars, int startIndex, int fromIndex)
-
matchedCharCountReversed
int matchedCharCountReversed(@NotNull @NotNull CharSequence chars, int fromIndex, boolean ignoreCase)
-
matchedCharCountReversed
int matchedCharCountReversed(@NotNull @NotNull CharSequence chars, int fromIndex)
-
matchedCharCountReversedIgnoreCase
int matchedCharCountReversedIgnoreCase(@NotNull @NotNull CharSequence chars, int fromIndex)
-
endsWith
boolean endsWith(@NotNull @NotNull CharSequence suffix)test if this sequence ends with given characters- Parameters:
suffix- characters to test- Returns:
- true if ends with suffix
-
endsWith
boolean endsWith(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
endsWithEOL
boolean endsWithEOL()
-
endsWithAnyEOL
boolean endsWithAnyEOL()
-
endsWithSpace
boolean endsWithSpace()
-
endsWithSpaceTab
boolean endsWithSpaceTab()
-
endsWithWhitespace
boolean endsWithWhitespace()
-
endsWithIgnoreCase
boolean endsWithIgnoreCase(@NotNull @NotNull CharSequence suffix)test if this sequence ends with given characters, ignoring case differences- Parameters:
suffix- characters to test- Returns:
- true if ends with suffix
-
endsWith
boolean endsWith(@NotNull @NotNull CharSequence suffix, boolean ignoreCase)test if this sequence ends with given characters- Parameters:
suffix- characters to testignoreCase- case ignored when true- Returns:
- true if ends with suffix
-
startsWith
boolean startsWith(@NotNull @NotNull CharSequence prefix)test if this sequence starts with given characters- Parameters:
prefix- characters to test- Returns:
- true if starts with prefix
-
startsWith
boolean startsWith(@NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate chars)
-
startsWithEOL
boolean startsWithEOL()
-
startsWithAnyEOL
boolean startsWithAnyEOL()
-
startsWithSpace
boolean startsWithSpace()
-
startsWithSpaceTab
boolean startsWithSpaceTab()
-
startsWithWhitespace
boolean startsWithWhitespace()
-
startsWithIgnoreCase
boolean startsWithIgnoreCase(@NotNull @NotNull CharSequence prefix)test if this sequence starts with given characters, ignoring case differences- Parameters:
prefix- characters to test- Returns:
- true if starts with prefix
-
startsWith
boolean startsWith(@NotNull @NotNull CharSequence prefix, boolean ignoreCase)test if this sequence starts with given characters- Parameters:
prefix- characters to testignoreCase- case ignored when true- Returns:
- true if starts with prefix
-
removeSuffix
@NotNull T removeSuffix(@NotNull @NotNull CharSequence suffix)
Remove suffix if present- Parameters:
suffix- characters to remove- Returns:
- sequence with suffix removed, or same sequence if no suffix was present
-
removeSuffixIgnoreCase
@NotNull T removeSuffixIgnoreCase(@NotNull @NotNull CharSequence suffix)
Remove suffix if present, ignoring case differences- Parameters:
suffix- characters to remove- Returns:
- sequence with suffix removed, or same sequence if no suffix was present
-
removeSuffix
@NotNull T removeSuffix(@NotNull @NotNull CharSequence suffix, boolean ignoreCase)
Remove suffix if present- Parameters:
suffix- characters to removeignoreCase- case ignored when true- Returns:
- sequence with suffix removed, or same sequence if no suffix was present
-
removePrefix
@NotNull T removePrefix(@NotNull @NotNull CharSequence prefix)
Remove prefix if present- Parameters:
prefix- characters to remove- Returns:
- sequence with prefix removed, or same sequence if no prefix was present
-
removePrefixIgnoreCase
@NotNull T removePrefixIgnoreCase(@NotNull @NotNull CharSequence prefix)
Remove prefix if present, ignoring case differences- Parameters:
prefix- characters to remove- Returns:
- sequence with prefix removed, or same sequence if no prefix was present
-
removePrefix
@NotNull T removePrefix(@NotNull @NotNull CharSequence prefix, boolean ignoreCase)
Remove prefix if present- Parameters:
prefix- characters to removeignoreCase- case ignored when true- Returns:
- sequence with prefix removed, or same sequence if no prefix was present
-
removeProperSuffix
@NotNull T removeProperSuffix(@NotNull @NotNull CharSequence suffix)
Remove suffix if present but only if this sequence is longer than the suffix- Parameters:
suffix- characters to remove- Returns:
- sequence with suffix removed, or same sequence if no suffix was present
-
removeProperSuffixIgnoreCase
@NotNull T removeProperSuffixIgnoreCase(@NotNull @NotNull CharSequence suffix)
Remove suffix if present but only if this sequence is longer than the suffix, ignoring case differences- Parameters:
suffix- characters to remove- Returns:
- sequence with suffix removed, or same sequence if no suffix was present
-
removeProperSuffix
@NotNull T removeProperSuffix(@NotNull @NotNull CharSequence suffix, boolean ignoreCase)
Remove suffix if present but only if this sequence is longer than the suffix- Parameters:
suffix- characters to removeignoreCase- case ignored when true- Returns:
- sequence with suffix removed, or same sequence if no suffix was present
-
removeProperPrefix
@NotNull T removeProperPrefix(@NotNull @NotNull CharSequence prefix)
Remove prefix if present but only if this sequence is longer than the suffix- Parameters:
prefix- characters to remove- Returns:
- sequence with prefix removed, or same sequence if no prefix was present
-
removeProperPrefixIgnoreCase
@NotNull T removeProperPrefixIgnoreCase(@NotNull @NotNull CharSequence prefix)
Remove prefix if present but only if this sequence is longer than the suffix, ignoring case differences- Parameters:
prefix- characters to remove- Returns:
- sequence with prefix removed, or same sequence if no prefix was present
-
removeProperPrefix
@NotNull T removeProperPrefix(@NotNull @NotNull CharSequence prefix, boolean ignoreCase)
Remove prefix if present but only if this sequence is longer than the suffix- Parameters:
prefix- characters to removeignoreCase- case ignored when true- Returns:
- sequence with prefix removed, or same sequence if no prefix was present
-
insert
@NotNull T insert(int index, @NotNull @NotNull CharSequence chars)
Insert char sequence at given index- Parameters:
index- index of insertion. if >length of this sequence then same as length, if <0 then same as 0chars- char sequence to insert- Returns:
- resulting sequence based sequence implementation may throw an IllegalArgumentException if inserting another based sequence out of order based on offsets
-
insert
@NotNull @Deprecated default T insert(@NotNull @NotNull CharSequence chars, int index)
Deprecated.useinsert(int, CharSequence)instead- Parameters:
chars- charsindex- index of insertion- Returns:
- resulting sequence
-
delete
@NotNull T delete(int startIndex, int endIndex)
Delete range in sequence- Parameters:
startIndex- start index of deletionendIndex- end index, not inclusive, of insertion- Returns:
- resulting sequence
-
replace
@NotNull T replace(int startIndex, int endIndex, @NotNull @NotNull CharSequence replacement)
Replace part of the sequence with a char sequence- Parameters:
startIndex- start index of replaced partendIndex- end index of replaced partreplacement- char sequence- Returns:
- resulting sequence
-
replace
@NotNull T replace(@NotNull @NotNull CharSequence find, @NotNull @NotNull CharSequence replace)
Replace all occurrences of one sequence with another- Parameters:
find- sequence to findreplace- replacement sequence- Returns:
- array of indices
-
toLowerCase
@NotNull T toLowerCase()
Map characters of this sequence to: Uppercase, Lowercase or use custom mapping- Returns:
- lowercase version of sequence
-
toUpperCase
@NotNull T toUpperCase()
-
toMapped
@NotNull T toMapped(CharMapper mapper)
-
toNbSp
@NotNull T toNbSp()
Map spaces to non break spaces- Returns:
- mapped sequence with spc changed to NbSp
-
toSpc
@NotNull T toSpc()
Map non break spaces to spaces- Returns:
- mapped sequence with NbSp changed to spc
-
toVisibleWhitespaceString
@NotNull @NotNull String toVisibleWhitespaceString()
-
splitList
@NotNull @NotNull List<T> splitList(@NotNull @NotNull CharSequence delimiter, int limit, int flags, @Nullable @Nullable com.vladsch.flexmark.util.misc.CharPredicate trimChars)
Split helpers based on delimiter character sets contained in CharSequence- Parameters:
delimiter- delimiter char sequence to use for splittinglimit- max number of segments to splitflags- flags for desired options: SPLIT_INCLUDE_DELIMS: include delimiters as part of split item SPLIT_TRIM_PARTS: trim the segments, if trimChars is not null or empty then this flag is turned on automatically SPLIT_SKIP_EMPTY: skip empty segments (or empty after trimming if enabled) SPLIT_INCLUDE_DELIM_PARTS: include delimiters as separate split item of its own SPLIT_TRIM_SKIP_EMPTY: same as SPLIT_TRIM_PARTS | SPLIT_SKIP_EMPTYtrimChars- set of characters that should be used for trimming individual split results- Returns:
- List of split results
-
splitList
@NotNull @NotNull List<T> splitList(@NotNull @NotNull CharSequence delimiter, int limit, int flags)
-
splitList
@NotNull @NotNull List<T> splitList(@NotNull @NotNull CharSequence delimiter)
-
split
@NotNull @NotNull T[] split(@NotNull @NotNull CharSequence delimiter, int limit, int flags, @Nullable @Nullable com.vladsch.flexmark.util.misc.CharPredicate trimChars)
-
split
@NotNull @NotNull T[] split(@NotNull @NotNull CharSequence delimiter, int limit, int flags)
-
split
@NotNull @NotNull T[] split(@NotNull @NotNull CharSequence delimiter)
-
split
@Deprecated @NotNull default @NotNull T[] split(char delimiter, int limit, int flags)
Deprecated.
-
split
@Deprecated @NotNull default @NotNull T[] split(char delimiter, int limit)
Deprecated.
-
split
@Deprecated @NotNull default @NotNull T[] split(char delimiter)
Deprecated.
-
splitList
@NotNull @NotNull List<T> splitList(@NotNull @NotNull CharSequence delimiter, int limit, boolean includeDelims, @Nullable @Nullable com.vladsch.flexmark.util.misc.CharPredicate trimChars)
Split helpers based on delimiter character sets contained in CharPredicate- Parameters:
delimiter- sequence of chars on which to split this sequencelimit- max number of segments to splitincludeDelims- if true include delimiters as part of split itemtrimChars- set of characters that should be used for trimming individual split results- Returns:
- List of split results
-
splitList
@NotNull @NotNull List<T> splitList(@NotNull @NotNull CharSequence delimiter, boolean includeDelims, @Nullable @Nullable com.vladsch.flexmark.util.misc.CharPredicate trimChars)
-
split
@NotNull @NotNull T[] split(@NotNull @NotNull CharSequence delimiter, int limit, boolean includeDelims, @Nullable @Nullable com.vladsch.flexmark.util.misc.CharPredicate trimChars)
-
split
@NotNull @NotNull T[] split(@NotNull @NotNull CharSequence delimiter, boolean includeDelims, @Nullable @Nullable com.vladsch.flexmark.util.misc.CharPredicate trimChars)
-
splitEOL
@NotNull @NotNull T[] splitEOL()
-
splitEOL
@NotNull @NotNull T[] splitEOL(boolean includeDelims)
-
splitListEOL
@NotNull @NotNull List<T> splitListEOL(boolean includeDelims, @Nullable @Nullable com.vladsch.flexmark.util.misc.CharPredicate trimChars)
-
indexOfAll
@NotNull @org.jetbrains.annotations.NotNull int[] indexOfAll(@NotNull @NotNull CharSequence s)Get indices of all occurrences of a sequence- Parameters:
s- sequence whose indices to find- Returns:
- array of indices
-
prefixWith
@NotNull T prefixWith(@Nullable @Nullable CharSequence prefix)
Prefix this sequence with a char sequence- Parameters:
prefix- char sequence- Returns:
- resulting sequence
-
suffixWith
@NotNull T suffixWith(@Nullable @Nullable CharSequence suffix)
Prefix this sequence with a char sequence- Parameters:
suffix- char sequence- Returns:
- resulting sequence
-
prefixOnceWith
@NotNull T prefixOnceWith(@Nullable @Nullable CharSequence prefix)
Prefix this sequence with a char sequence if not already starting with prefix- Parameters:
prefix- char sequence- Returns:
- resulting sequence
-
suffixOnceWith
@NotNull T suffixOnceWith(@Nullable @Nullable CharSequence suffix)
Suffix this sequence with a char sequence if not already ending with suffix- Parameters:
suffix- char sequence- Returns:
- resulting sequence
-
appendEOL
@NotNull T appendEOL()
-
suffixWithEOL
@NotNull T suffixWithEOL()
-
prefixWithEOL
@NotNull T prefixWithEOL()
-
prefixOnceWithEOL
@NotNull T prefixOnceWithEOL()
-
suffixOnceWithEOL
@NotNull T suffixOnceWithEOL()
-
appendSpace
@NotNull T appendSpace()
-
suffixWithSpace
@NotNull T suffixWithSpace()
-
prefixWithSpace
@NotNull T prefixWithSpace()
-
appendSpaces
@NotNull T appendSpaces(int count)
-
suffixWithSpaces
@NotNull T suffixWithSpaces(int count)
-
prefixWithSpaces
@NotNull T prefixWithSpaces(int count)
-
prefixOnceWithSpace
@NotNull T prefixOnceWithSpace()
-
suffixOnceWithSpace
@NotNull T suffixOnceWithSpace()
-
appendTo
@NotNull T appendTo(@NotNull @NotNull StringBuilder out, @Nullable @Nullable CharMapper charMapper, int startIndex, int endIndex)
Append helpers- Parameters:
out- string builderstartIndex- start indexendIndex- end indexcharMapper- mapping to use for output or null if none- Returns:
- this
-
appendTo
@NotNull T appendTo(@NotNull @NotNull StringBuilder out, @Nullable @Nullable CharMapper charMapper)
-
appendTo
@NotNull T appendTo(@NotNull @NotNull StringBuilder out, @Nullable @Nullable CharMapper charMapper, int startIndex)
-
appendTo
@NotNull T appendTo(@NotNull @NotNull StringBuilder out, int startIndex, int endIndex)
-
appendTo
@NotNull T appendTo(@NotNull @NotNull StringBuilder out)
-
appendTo
@NotNull T appendTo(@NotNull @NotNull StringBuilder out, int startIndex)
-
appendRangesTo
@NotNull T appendRangesTo(@NotNull @NotNull StringBuilder out, @Nullable @Nullable CharMapper charMapper, Range... ranges)
Append given ranges of this sequence to string builder- Parameters:
out- string builder to append tocharMapper- mapping to use for output or null if noneranges- ranges to append, null range or one for which range.isNull() is true ranges are skipped- Returns:
- this
-
appendRangesTo
@NotNull T appendRangesTo(@NotNull @NotNull StringBuilder out, Range... ranges)
-
appendRangesTo
@NotNull T appendRangesTo(@NotNull @NotNull StringBuilder out, @Nullable @Nullable CharMapper charMapper, Iterable<? extends Range> ranges)
-
appendRangesTo
@NotNull T appendRangesTo(@NotNull @NotNull StringBuilder out, Iterable<? extends Range> ranges)
-
extractRanges
@NotNull T extractRanges(Range... ranges)
Build a sequence of ranges in this sequenceNOTE: BasedSequence ranges must be non-overlapping and ordered by startOffset or IllegalArgumentException will be thrown
- Parameters:
ranges- ranges to extract- Returns:
- resulting sequence
-
append
@NotNull T append(CharSequence... sequences)
Concatenate this sequence and list of others, returning sequence of result- Parameters:
sequences- list of char sequences to append to this sequence, null sequences are skipped- Returns:
- appended sequence
-
append
@NotNull T append(Iterable<? extends CharSequence> sequences)
-
lineColumnAtIndex
@NotNull @NotNull com.vladsch.flexmark.util.misc.Pair<Integer,Integer> lineColumnAtIndex(int index)
Get the line and column information from index into sequence- Parameters:
index- index for which to get line information- Returns:
- Pair(line, column) where line and column are 0 based, throws IllegalArgumentException if index < 0 or > length.
-
getLineColumnAtIndex
@Deprecated @NotNull default @NotNull com.vladsch.flexmark.util.misc.Pair<Integer,Integer> getLineColumnAtIndex(int index)
Deprecated.
-
columnAtIndex
int columnAtIndex(int index)
-
getColumnAtIndex
@Deprecated default int getColumnAtIndex(int index)
Deprecated.
-
isCharAt
boolean isCharAt(int index, @NotNull @NotNull com.vladsch.flexmark.util.misc.CharPredicate predicate)Safe, if index out of range returns '\0'- Parameters:
index- index in stringpredicate- character set predicate- Returns:
- true if character at index tests true
-
toStringOrNull
@Nullable @Nullable String toStringOrNull()
Return string or null if BaseSequence.NULL- Returns:
- string or null if BaseSequence.NULL
-
isIn
boolean isIn(@NotNull @NotNull String[] texts)
-
isIn
boolean isIn(@NotNull @NotNull Collection<? extends CharSequence> texts)
-
-