Interface IRichSequence<T extends IRichSequence<T>>
-
- All Superinterfaces:
java.lang.CharSequence,java.lang.Comparable<java.lang.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 java.lang.CharSequence, java.lang.Comparable<java.lang.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(java.lang.CharSequence... sequences)Concatenate this sequence and list of others, returning sequence of resultTappend(java.lang.Iterable<? extends java.lang.CharSequence> sequences)TappendEOL()TappendRangesTo(@NotNull java.lang.StringBuilder out, @Nullable CharMapper charMapper, Range... ranges)Append given ranges of this sequence to string builderTappendRangesTo(@NotNull java.lang.StringBuilder out, @Nullable CharMapper charMapper, java.lang.Iterable<? extends Range> ranges)TappendRangesTo(@NotNull java.lang.StringBuilder out, Range... ranges)TappendRangesTo(@NotNull java.lang.StringBuilder out, java.lang.Iterable<? extends Range> ranges)TappendSpace()TappendSpaces(int count)TappendTo(@NotNull java.lang.StringBuilder out)TappendTo(@NotNull java.lang.StringBuilder out, int startIndex)TappendTo(@NotNull java.lang.StringBuilder out, int startIndex, int endIndex)TappendTo(@NotNull java.lang.StringBuilder out, @Nullable CharMapper charMapper)TappendTo(@NotNull java.lang.StringBuilder out, @Nullable CharMapper charMapper, int startIndex)TappendTo(@NotNull java.lang.StringBuilder out, @Nullable CharMapper charMapper, int startIndex, int endIndex)Append helpers@NotNull java.util.List<Range>blankLinesRemovedRanges()@NotNull java.util.List<Range>blankLinesRemovedRanges(int fromIndex)@NotNull java.util.List<Range>blankLinesRemovedRanges(int fromIndex, int endIndex)@NotNull java.util.List<Range>blankLinesRemovedRanges(@NotNull 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 CharPredicate chars)Count leading/trailing characters of this sequenceintcountLeading(@NotNull CharPredicate chars, int startIndex)intcountLeading(@NotNull CharPredicate chars, int startIndex, int endIndex)intcountLeadingColumns(int startColumn, @NotNull CharPredicate chars)Count column of indent given by chars in the set in this sequence, expanding tabs to 4th columnintcountLeadingNot(@NotNull CharPredicate chars)intcountLeadingNot(@NotNull CharPredicate chars, int startIndex)intcountLeadingNot(@NotNull 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 CharPredicate chars)intcountOfAny(@NotNull CharPredicate chars, int startIndex)intcountOfAny(@NotNull CharPredicate chars, int startIndex, int endIndex)intcountOfAnyNot(@NotNull CharPredicate chars)intcountOfAnyNot(@NotNull CharPredicate chars, int startIndex)intcountOfAnyNot(@NotNull CharPredicate chars, int startIndex, int endIndex)intcountOfNotSpaceTab()intcountOfNotWhitespace()intcountOfSpaceTab()intcountOfWhitespace()default intcountTrailing()Deprecated.intcountTrailing(@NotNull CharPredicate chars)intcountTrailing(@NotNull CharPredicate chars, int startIndex)intcountTrailing(@NotNull CharPredicate chars, int startIndex, int endIndex)intcountTrailingNot(@NotNull CharPredicate chars)intcountTrailingNot(@NotNull CharPredicate chars, int startIndex)intcountTrailingNot(@NotNull 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 java.lang.CharSequence s, int index)Find start/end region in this sequence delimited by any characters in argument or the CharSequenceintendOfDelimitedByAny(@NotNull CharPredicate s, int index)intendOfDelimitedByAnyNot(@NotNull 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 CharPredicate chars)booleanendsWith(@NotNull java.lang.CharSequence suffix)test if this sequence ends with given charactersbooleanendsWith(@NotNull java.lang.CharSequence suffix, boolean ignoreCase)test if this sequence ends with given charactersbooleanendsWithAnyEOL()booleanendsWithEOL()booleanendsWithIgnoreCase(@NotNull java.lang.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 java.lang.Object other)Comparison to another CharSequence should result in a match if their contents are equal regardless of the implementation.booleanequals(@Nullable java.lang.Object other, boolean ignoreCase)Test the sequence for a match to another CharSequencebooleanequalsIgnoreCase(@Nullable java.lang.Object other)Test the sequence for a match to another CharSequence, ignoring case differencesTextractRanges(Range... ranges)Build a sequence of ranges in this sequenceTextractRanges(java.lang.Iterable<Range> ranges)charfirstChar()<B extends ISequenceBuilder<B,T>>
BgetBuilder()Get a sequence builder for this sequence typedefault intgetColumnAtIndex(int index)Deprecated.default @NotNull Pair<java.lang.Integer,java.lang.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 java.lang.CharSequence s)All index methods return the position or -1 if not found of the given character, characters or string.intindexOf(@NotNull java.lang.CharSequence s, int fromIndex)intindexOf(@NotNull java.lang.CharSequence s, int fromIndex, int endIndex)@org.jetbrains.annotations.NotNull int[]indexOfAll(@NotNull java.lang.CharSequence s)Get indices of all occurrences of a sequenceintindexOfAny(@NotNull CharPredicate s)intindexOfAny(@NotNull CharPredicate s, int fromIndex)intindexOfAny(@NotNull CharPredicate s, int fromIndex, int endIndex)intindexOfAnyNot(@NotNull CharPredicate s)intindexOfAnyNot(@NotNull CharPredicate s, int fromIndex)intindexOfAnyNot(@NotNull 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 java.lang.CharSequence chars)Insert char sequence at given indexdefault Tinsert(@NotNull java.lang.CharSequence chars, int index)Deprecated.useinsert(int, CharSequence)insteadbooleanisBlank()booleanisCharAt(int index, @NotNull CharPredicate predicate)Safe, if index out of range returns '\0'booleanisEmpty()booleanisIn(@NotNull java.lang.String[] texts)booleanisIn(@NotNull java.util.Collection<? extends java.lang.CharSequence> texts)booleanisNotBlank()booleanisNotEmpty()booleanisNotNull()booleanisNull()charlastChar()intlastIndexOf(char c)intlastIndexOf(char c, int fromIndex)intlastIndexOf(char c, int startIndex, int fromIndex)intlastIndexOf(@NotNull java.lang.CharSequence s)intlastIndexOf(@NotNull java.lang.CharSequence s, int fromIndex)intlastIndexOf(@NotNull java.lang.CharSequence s, int startIndex, int fromIndex)intlastIndexOfAny(@NotNull CharPredicate s)intlastIndexOfAny(@NotNull CharPredicate s, int fromIndex)intlastIndexOfAny(@NotNull CharPredicate s, int startIndex, int fromIndex)intlastIndexOfAnyNot(@NotNull CharPredicate s)intlastIndexOfAnyNot(@NotNull CharPredicate s, int fromIndex)intlastIndexOfAnyNot(@NotNull 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 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 Pair<java.lang.Integer,java.lang.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 java.lang.CharSequence chars)Test the sequence portion for a match to another CharSequencebooleanmatchChars(@NotNull java.lang.CharSequence chars, boolean ignoreCase)booleanmatchChars(@NotNull java.lang.CharSequence chars, int startIndex)booleanmatchChars(@NotNull java.lang.CharSequence chars, int startIndex, boolean ignoreCase)Test the sequence portion for a match to another CharSequencebooleanmatchCharsIgnoreCase(@NotNull java.lang.CharSequence chars)booleanmatchCharsIgnoreCase(@NotNull java.lang.CharSequence chars, int startIndex)booleanmatchCharsReversed(@NotNull java.lang.CharSequence chars, int endIndex)booleanmatchCharsReversed(@NotNull java.lang.CharSequence chars, int endIndex, boolean ignoreCase)Test the sequence portion for a match to another CharSequence, reverse orderbooleanmatchCharsReversedIgnoreCase(@NotNull java.lang.CharSequence chars, int endIndex)intmatchedCharCount(@NotNull java.lang.CharSequence chars, int startIndex)intmatchedCharCount(@NotNull java.lang.CharSequence chars, int startIndex, boolean ignoreCase)intmatchedCharCount(@NotNull java.lang.CharSequence chars, int startIndex, int endIndex)intmatchedCharCount(@NotNull java.lang.CharSequence chars, int startIndex, int endIndex, boolean ignoreCase)intmatchedCharCount(@NotNull java.lang.CharSequence chars, int startIndex, int endIndex, boolean fullMatchOnly, boolean ignoreCase)Test the sequence portion for a match to another CharSequenceintmatchedCharCountIgnoreCase(@NotNull java.lang.CharSequence chars, int startIndex)intmatchedCharCountIgnoreCase(@NotNull java.lang.CharSequence chars, int startIndex, int endIndex)intmatchedCharCountReversed(@NotNull java.lang.CharSequence chars, int fromIndex)intmatchedCharCountReversed(@NotNull java.lang.CharSequence chars, int fromIndex, boolean ignoreCase)intmatchedCharCountReversed(@NotNull java.lang.CharSequence chars, int startIndex, int fromIndex)intmatchedCharCountReversed(@NotNull java.lang.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 java.lang.CharSequence chars, int fromIndex)intmatchedCharCountReversedIgnoreCase(@NotNull java.lang.CharSequence chars, int startIndex, int fromIndex)booleanmatches(@NotNull java.lang.CharSequence chars)Test the sequence for a match to another CharSequencebooleanmatches(@NotNull java.lang.CharSequence chars, boolean ignoreCase)booleanmatchesIgnoreCase(@NotNull java.lang.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 java.lang.StringnormalizeEndWithEOL()replace any \r\n and \r by \n, append terminating EOL if one is not present@NotNull java.lang.StringnormalizeEOL()replace any \r\n and \r by \nTnullIf(boolean condition)If condition is true return nullSequence() otherwise returns this sequence.TnullIf(@NotNull java.util.function.BiPredicate<? super T,? super java.lang.CharSequence> predicate, java.lang.CharSequence... matches)If predicate returns true for this sequence and one of given sequences return nullSequence() otherwise returns this sequence.TnullIf(@NotNull java.util.function.Predicate<? super java.lang.CharSequence> predicate, java.lang.CharSequence... matches)If predicate returns true for one of given sequences return nullSequence() otherwise returns this sequence.TnullIf(java.lang.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, java.lang.CharSequence... matches)TnullIfEndsWith(java.lang.CharSequence... matches)TnullIfEndsWithIgnoreCase(java.lang.CharSequence... matches)default TnullIfEndsWithNot(java.lang.CharSequence... matches)Deprecated.TnullIfNot(@NotNull java.util.function.BiPredicate<? super T,? super java.lang.CharSequence> predicate, java.lang.CharSequence... matches)TnullIfNot(@NotNull java.util.function.Predicate<? super java.lang.CharSequence> predicate, java.lang.CharSequence... matches)TnullIfNot(java.lang.CharSequence... matches)TnullIfNotEndsWith(boolean ignoreCase, java.lang.CharSequence... matches)TnullIfNotEndsWith(java.lang.CharSequence... matches)TnullIfNotEndsWithIgnoreCase(java.lang.CharSequence... matches)TnullIfNotStartsWith(boolean ignoreCase, java.lang.CharSequence... matches)TnullIfNotStartsWith(java.lang.CharSequence... matches)TnullIfNotStartsWithIgnoreCase(java.lang.CharSequence... matches)TnullIfStartsWith(boolean ignoreCase, java.lang.CharSequence... matches)TnullIfStartsWith(java.lang.CharSequence... matches)TnullIfStartsWithIgnoreCase(java.lang.CharSequence... matches)default TnullIfStartsWithNot(java.lang.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 java.lang.CharSequence prefix)Prefix this sequence with a char sequence if not already starting with prefixTprefixOnceWithEOL()TprefixOnceWithSpace()TprefixWith(@Nullable java.lang.CharSequence prefix)Prefix this sequence with a char sequenceTprefixWithEOL()TprefixWithSpace()TprefixWithSpaces(int count)TremovePrefix(@NotNull java.lang.CharSequence prefix)Remove prefix if presentTremovePrefix(@NotNull java.lang.CharSequence prefix, boolean ignoreCase)Remove prefix if presentTremovePrefixIgnoreCase(@NotNull java.lang.CharSequence prefix)Remove prefix if present, ignoring case differencesTremoveProperPrefix(@NotNull java.lang.CharSequence prefix)Remove prefix if present but only if this sequence is longer than the suffixTremoveProperPrefix(@NotNull java.lang.CharSequence prefix, boolean ignoreCase)Remove prefix if present but only if this sequence is longer than the suffixTremoveProperPrefixIgnoreCase(@NotNull java.lang.CharSequence prefix)Remove prefix if present but only if this sequence is longer than the suffix, ignoring case differencesTremoveProperSuffix(@NotNull java.lang.CharSequence suffix)Remove suffix if present but only if this sequence is longer than the suffixTremoveProperSuffix(@NotNull java.lang.CharSequence suffix, boolean ignoreCase)Remove suffix if present but only if this sequence is longer than the suffixTremoveProperSuffixIgnoreCase(@NotNull java.lang.CharSequence suffix)Remove suffix if present but only if this sequence is longer than the suffix, ignoring case differencesTremoveSuffix(@NotNull java.lang.CharSequence suffix)Remove suffix if presentTremoveSuffix(@NotNull java.lang.CharSequence suffix, boolean ignoreCase)Remove suffix if presentTremoveSuffixIgnoreCase(@NotNull java.lang.CharSequence suffix)Remove suffix if present, ignoring case differencesTreplace(int startIndex, int endIndex, @NotNull java.lang.CharSequence replacement)Replace part of the sequence with a char sequenceTreplace(@NotNull java.lang.CharSequence find, @NotNull java.lang.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 java.lang.CharSequence charSequence)Factory functionTsequenceOf(@Nullable java.lang.CharSequence charSequence, int startIndex)Factory functionTsequenceOf(@Nullable java.lang.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 java.lang.CharSequence delimiter)@NotNull T[]split(@NotNull java.lang.CharSequence delimiter, boolean includeDelims, @Nullable CharPredicate trimChars)@NotNull T[]split(@NotNull java.lang.CharSequence delimiter, int limit, boolean includeDelims, @Nullable CharPredicate trimChars)@NotNull T[]split(@NotNull java.lang.CharSequence delimiter, int limit, int flags)@NotNull T[]split(@NotNull java.lang.CharSequence delimiter, int limit, int flags, @Nullable CharPredicate trimChars)@NotNull T[]splitEOL()@NotNull T[]splitEOL(boolean includeDelims)@NotNull java.util.List<T>splitList(@NotNull java.lang.CharSequence delimiter)@NotNull java.util.List<T>splitList(@NotNull java.lang.CharSequence delimiter, boolean includeDelims, @Nullable CharPredicate trimChars)@NotNull java.util.List<T>splitList(@NotNull java.lang.CharSequence delimiter, int limit, boolean includeDelims, @Nullable CharPredicate trimChars)Split helpers based on delimiter character sets contained in CharPredicate@NotNull java.util.List<T>splitList(@NotNull java.lang.CharSequence delimiter, int limit, int flags)@NotNull java.util.List<T>splitList(@NotNull java.lang.CharSequence delimiter, int limit, int flags, @Nullable CharPredicate trimChars)Split helpers based on delimiter character sets contained in CharSequence@NotNull java.util.List<T>splitListEOL()@NotNull java.util.List<T>splitListEOL(boolean includeDelims)@NotNull java.util.List<T>splitListEOL(boolean includeDelims, @Nullable CharPredicate trimChars)intstartOfDelimitedBy(@NotNull java.lang.CharSequence s, int index)intstartOfDelimitedByAny(@NotNull CharPredicate s, int index)intstartOfDelimitedByAnyNot(@NotNull 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 CharPredicate chars)booleanstartsWith(@NotNull java.lang.CharSequence prefix)test if this sequence starts with given charactersbooleanstartsWith(@NotNull java.lang.CharSequence prefix, boolean ignoreCase)test if this sequence starts with given charactersbooleanstartsWithAnyEOL()booleanstartsWithEOL()booleanstartsWithIgnoreCase(@NotNull java.lang.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 java.lang.CharSequence suffix)Suffix this sequence with a char sequence if not already ending with suffixTsuffixOnceWithEOL()TsuffixOnceWithSpace()TsuffixWith(@Nullable java.lang.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 java.lang.StringtoStringOrNull()Return string or null if BaseSequence.NULLTtoUpperCase()@NotNull java.lang.StringtoVisibleWhitespaceString()@NotNull RangetrailingBlankLinesRange()@NotNull RangetrailingBlankLinesRange(int fromIndex)@NotNull RangetrailingBlankLinesRange(int startIndex, int fromIndex)@NotNull RangetrailingBlankLinesRange(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 CharPredicate chars)Ttrim(@NotNull CharPredicate chars)TtrimEnd()TtrimEnd(int keep)TtrimEnd(int keep, @NotNull CharPredicate chars)TtrimEnd(@NotNull CharPredicate chars)@NotNull RangetrimEndRange()@NotNull RangetrimEndRange(int keep)@NotNull RangetrimEndRange(int keep, @NotNull CharPredicate chars)@NotNull RangetrimEndRange(@NotNull CharPredicate chars)TtrimEOL()Trim last eol at the end of this sequence,TtrimLeadBlankLines()@NotNull Pair<T,T>trimmed()@NotNull Pair<T,T>trimmed(int keep)@NotNull Pair<T,T>trimmed(int keep, @NotNull CharPredicate chars)@NotNull Pair<T,T>trimmed(@NotNull CharPredicate chars)TtrimmedEnd()TtrimmedEnd(int keep)TtrimmedEnd(int keep, @NotNull CharPredicate chars)TtrimmedEnd(@NotNull CharPredicate chars)TtrimmedEOL()Get Trimmed part bytrimEOL()TtrimmedStart()TtrimmedStart(int keep)TtrimmedStart(int keep, @NotNull CharPredicate chars)Get the characters Trimmed, Trimmed from start/end of this sequence, characters to trim are passed in the sequence argumentTtrimmedStart(@NotNull CharPredicate chars)@NotNull RangetrimRange()@NotNull RangetrimRange(int keep)@NotNull RangetrimRange(int keep, @NotNull CharPredicate chars)@NotNull RangetrimRange(@NotNull CharPredicate chars)TtrimStart()TtrimStart(int keep)TtrimStart(int keep, @NotNull CharPredicate chars)Trim, Trim start/end of this sequence, characters to trim are passed in the sequence argumentTtrimStart(@NotNull CharPredicate chars)@NotNull RangetrimStartRange()@NotNull RangetrimStartRange(int keep)@NotNull RangetrimStartRange(int keep, @NotNull 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 CharPredicate chars)TtrimTailBlankLines()Trim leading trailing blank lines in this sequenceTtrimToEndOfLine()TtrimToEndOfLine(boolean includeEol)TtrimToEndOfLine(boolean includeEol, int index)TtrimToEndOfLine(int index)TtrimToEndOfLine(@NotNull 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 CharPredicate eolChars, boolean includeEol, int index)Trim start to start of line containing index
-
-
-
Method Detail
-
equals
boolean equals(@Nullable @Nullable java.lang.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- Overrides:
equalsin classjava.lang.Object- Parameters:
other- another char sequence- Returns:
- true if character sequences are equal
-
hashCode
int hashCode()
Should return hashCode of the underlying character sequence which is equal to the String value of that sequence- Overrides:
hashCodein classjava.lang.Object- Returns:
- hash code as if it was a string of the sequence content
-
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 interfacejava.lang.CharSequence- 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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.CharSequence s, int fromIndex)
-
indexOf
int indexOf(@NotNull @NotNull java.lang.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 CharPredicate s, int fromIndex, int endIndex)
-
indexOfAny
int indexOfAny(@NotNull @NotNull CharPredicate s, int fromIndex)
-
indexOfAny
int indexOfAny(@NotNull @NotNull 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 CharPredicate s, int fromIndex, int endIndex)
-
indexOfAnyNot
int indexOfAnyNot(@NotNull @NotNull CharPredicate s, int fromIndex)
-
indexOfAnyNot
int indexOfAnyNot(@NotNull @NotNull CharPredicate s)
-
lastIndexOf
int lastIndexOf(@NotNull @NotNull java.lang.CharSequence s)
-
lastIndexOf
int lastIndexOf(@NotNull @NotNull java.lang.CharSequence s, int fromIndex)
-
lastIndexOf
int lastIndexOf(@NotNull @NotNull java.lang.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 CharPredicate s, int startIndex, int fromIndex)
-
lastIndexOfAny
int lastIndexOfAny(@NotNull @NotNull CharPredicate s, int fromIndex)
-
lastIndexOfAny
int lastIndexOfAny(@NotNull @NotNull 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 CharPredicate s, int startIndex, int fromIndex)
-
lastIndexOfAnyNot
int lastIndexOfAnyNot(@NotNull @NotNull CharPredicate s, int fromIndex)
-
lastIndexOfAnyNot
int lastIndexOfAnyNot(@NotNull @NotNull CharPredicate s)
-
countLeading
int countLeading(@NotNull @NotNull 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 CharPredicate chars)
-
countLeading
int countLeading(@NotNull @NotNull CharPredicate chars, int startIndex)
-
countLeadingNot
int countLeadingNot(@NotNull @NotNull CharPredicate chars, int startIndex)
-
countLeading
int countLeading(@NotNull @NotNull CharPredicate chars, int startIndex, int endIndex)
-
countLeadingNot
int countLeadingNot(@NotNull @NotNull 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 CharPredicate chars)
-
countTrailingNot
int countTrailingNot(@NotNull @NotNull CharPredicate chars)
-
countTrailing
int countTrailing(@NotNull @NotNull CharPredicate chars, int startIndex)
-
countTrailingNot
int countTrailingNot(@NotNull @NotNull CharPredicate chars, int startIndex)
-
countTrailing
int countTrailing(@NotNull @NotNull CharPredicate chars, int startIndex, int endIndex)
-
countTrailingNot
int countTrailingNot(@NotNull @NotNull 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 CharPredicate chars)
-
countOfAnyNot
int countOfAnyNot(@NotNull @NotNull CharPredicate chars)
-
countOfAny
int countOfAny(@NotNull @NotNull CharPredicate chars, int startIndex)
-
countOfAnyNot
int countOfAnyNot(@NotNull @NotNull CharPredicate chars, int startIndex)
-
countOfAny
int countOfAny(@NotNull @NotNull CharPredicate chars, int startIndex, int endIndex)
-
countOfAnyNot
int countOfAnyNot(@NotNull @NotNull CharPredicate chars, int startIndex, int endIndex)
-
countLeadingColumns
int countLeadingColumns(int startColumn, @NotNull @NotNull 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 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 CharPredicate chars)
-
trimRange
@NotNull @NotNull Range trimRange(int keep, @NotNull @NotNull CharPredicate chars)
-
trimStartRange
@NotNull @NotNull Range trimStartRange(@NotNull @NotNull CharPredicate chars)
-
trimEndRange
@NotNull @NotNull Range trimEndRange(@NotNull @NotNull CharPredicate chars)
-
trimRange
@NotNull @NotNull Range trimRange(@NotNull @NotNull 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 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 CharPredicate chars)
-
trim
@NotNull T trim(int keep, @NotNull @NotNull 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 CharPredicate chars)
-
trimEnd
@NotNull T trimEnd(@NotNull @NotNull CharPredicate chars)
-
trim
@NotNull T trim(@NotNull @NotNull CharPredicate chars)
-
trimStart
@NotNull T trimStart()
-
trimEnd
@NotNull T trimEnd()
-
trim
@NotNull T trim()
-
trimmedStart
@NotNull T trimmedStart(int keep, @NotNull @NotNull 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 CharPredicate chars)
-
trimmed
@NotNull @NotNull Pair<T,T> trimmed(int keep, @NotNull @NotNull CharPredicate chars)
-
trimmedStart
@NotNull T trimmedStart(int keep)
-
trimmedEnd
@NotNull T trimmedEnd(int keep)
-
trimmedStart
@NotNull T trimmedStart(@NotNull @NotNull CharPredicate chars)
-
trimmedEnd
@NotNull T trimmedEnd(@NotNull @NotNull CharPredicate chars)
-
trimmed
@NotNull @NotNull Pair<T,T> trimmed(@NotNull @NotNull 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 java.util.function.BiPredicate<? super T,? super java.lang.CharSequence> predicate, java.lang.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 java.util.function.BiPredicate<? super T,? super java.lang.CharSequence> predicate, java.lang.CharSequence... matches)
-
nullIf
@NotNull T nullIf(@NotNull @NotNull java.util.function.Predicate<? super java.lang.CharSequence> predicate, java.lang.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 java.util.function.Predicate<? super java.lang.CharSequence> predicate, java.lang.CharSequence... matches)
-
nullIf
@NotNull T nullIf(java.lang.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(java.lang.CharSequence... matches)
-
nullIfStartsWith
@NotNull T nullIfStartsWith(java.lang.CharSequence... matches)
-
nullIfNotStartsWith
@NotNull T nullIfNotStartsWith(java.lang.CharSequence... matches)
-
nullIfStartsWithNot
@Deprecated @NotNull default T nullIfStartsWithNot(java.lang.CharSequence... matches)
Deprecated.
-
nullIfEndsWith
@NotNull T nullIfEndsWith(java.lang.CharSequence... matches)
-
nullIfNotEndsWith
@NotNull T nullIfNotEndsWith(java.lang.CharSequence... matches)
-
nullIfStartsWithIgnoreCase
@NotNull T nullIfStartsWithIgnoreCase(java.lang.CharSequence... matches)
-
nullIfNotStartsWithIgnoreCase
@NotNull T nullIfNotStartsWithIgnoreCase(java.lang.CharSequence... matches)
-
nullIfEndsWithIgnoreCase
@NotNull T nullIfEndsWithIgnoreCase(java.lang.CharSequence... matches)
-
nullIfNotEndsWithIgnoreCase
@NotNull T nullIfNotEndsWithIgnoreCase(java.lang.CharSequence... matches)
-
nullIfStartsWith
@NotNull T nullIfStartsWith(boolean ignoreCase, java.lang.CharSequence... matches)
-
nullIfNotStartsWith
@NotNull T nullIfNotStartsWith(boolean ignoreCase, java.lang.CharSequence... matches)
-
nullIfEndsWith
@NotNull T nullIfEndsWith(boolean ignoreCase, java.lang.CharSequence... matches)
-
nullIfNotEndsWith
@NotNull T nullIfNotEndsWith(boolean ignoreCase, java.lang.CharSequence... matches)
-
nullIfEndsWithNot
@Deprecated @NotNull default T nullIfEndsWithNot(java.lang.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 java.lang.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 CharPredicate s, int index)
-
endOfDelimitedByAnyNot
int endOfDelimitedByAnyNot(@NotNull @NotNull CharPredicate s, int index)
-
startOfDelimitedBy
int startOfDelimitedBy(@NotNull @NotNull java.lang.CharSequence s, int index)
-
startOfDelimitedByAny
int startOfDelimitedByAny(@NotNull @NotNull CharPredicate s, int index)
-
startOfDelimitedByAnyNot
int startOfDelimitedByAnyNot(@NotNull @NotNull 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 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(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 java.util.List<Range> blankLinesRemovedRanges()
-
blankLinesRemovedRanges
@NotNull @NotNull java.util.List<Range> blankLinesRemovedRanges(int fromIndex)
-
blankLinesRemovedRanges
@NotNull @NotNull java.util.List<Range> blankLinesRemovedRanges(int fromIndex, int endIndex)
-
blankLinesRemovedRanges
@NotNull @NotNull java.util.List<Range> blankLinesRemovedRanges(@NotNull @NotNull CharPredicate eolChars, int fromIndex, int endIndex)
-
trimToEndOfLine
@NotNull T trimToEndOfLine(@NotNull @NotNull 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 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 java.lang.String normalizeEOL()
replace any \r\n and \r by \n- Returns:
- string with only \n for line separators
-
normalizeEndWithEOL
@NotNull @NotNull java.lang.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 java.lang.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 java.lang.CharSequence chars)
-
matches
boolean matches(@NotNull @NotNull java.lang.CharSequence chars, boolean ignoreCase)
-
equalsIgnoreCase
boolean equalsIgnoreCase(@Nullable @Nullable java.lang.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 java.lang.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 java.lang.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 java.lang.CharSequence chars)
-
matchChars
boolean matchChars(@NotNull @NotNull java.lang.CharSequence chars, boolean ignoreCase)
-
matchChars
boolean matchChars(@NotNull @NotNull java.lang.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 java.lang.CharSequence chars, int startIndex)
-
matchCharsIgnoreCase
boolean matchCharsIgnoreCase(@NotNull @NotNull java.lang.CharSequence chars, int startIndex)
-
matchedCharCount
int matchedCharCount(@NotNull @NotNull java.lang.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 java.lang.CharSequence chars, int startIndex, int endIndex, boolean ignoreCase)
-
matchedCharCount
int matchedCharCount(@NotNull @NotNull java.lang.CharSequence chars, int startIndex, boolean ignoreCase)
-
matchedCharCount
int matchedCharCount(@NotNull @NotNull java.lang.CharSequence chars, int startIndex, int endIndex)
-
matchedCharCount
int matchedCharCount(@NotNull @NotNull java.lang.CharSequence chars, int startIndex)
-
matchedCharCountIgnoreCase
int matchedCharCountIgnoreCase(@NotNull @NotNull java.lang.CharSequence chars, int startIndex, int endIndex)
-
matchedCharCountIgnoreCase
int matchedCharCountIgnoreCase(@NotNull @NotNull java.lang.CharSequence chars, int startIndex)
-
matchCharsReversed
boolean matchCharsReversed(@NotNull @NotNull java.lang.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 java.lang.CharSequence chars, int endIndex)
-
matchCharsReversedIgnoreCase
boolean matchCharsReversedIgnoreCase(@NotNull @NotNull java.lang.CharSequence chars, int endIndex)
-
matchedCharCountReversed
int matchedCharCountReversed(@NotNull @NotNull java.lang.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 java.lang.CharSequence chars, int startIndex, int fromIndex)
-
matchedCharCountReversedIgnoreCase
int matchedCharCountReversedIgnoreCase(@NotNull @NotNull java.lang.CharSequence chars, int startIndex, int fromIndex)
-
matchedCharCountReversed
int matchedCharCountReversed(@NotNull @NotNull java.lang.CharSequence chars, int fromIndex, boolean ignoreCase)
-
matchedCharCountReversed
int matchedCharCountReversed(@NotNull @NotNull java.lang.CharSequence chars, int fromIndex)
-
matchedCharCountReversedIgnoreCase
int matchedCharCountReversedIgnoreCase(@NotNull @NotNull java.lang.CharSequence chars, int fromIndex)
-
endsWith
boolean endsWith(@NotNull @NotNull java.lang.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 CharPredicate chars)
-
endsWithEOL
boolean endsWithEOL()
-
endsWithAnyEOL
boolean endsWithAnyEOL()
-
endsWithSpace
boolean endsWithSpace()
-
endsWithSpaceTab
boolean endsWithSpaceTab()
-
endsWithWhitespace
boolean endsWithWhitespace()
-
endsWithIgnoreCase
boolean endsWithIgnoreCase(@NotNull @NotNull java.lang.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 java.lang.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 java.lang.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 CharPredicate chars)
-
startsWithEOL
boolean startsWithEOL()
-
startsWithAnyEOL
boolean startsWithAnyEOL()
-
startsWithSpace
boolean startsWithSpace()
-
startsWithSpaceTab
boolean startsWithSpaceTab()
-
startsWithWhitespace
boolean startsWithWhitespace()
-
startsWithIgnoreCase
boolean startsWithIgnoreCase(@NotNull @NotNull java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.CharSequence find, @NotNull @NotNull java.lang.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 java.lang.String toVisibleWhitespaceString()
-
splitList
@NotNull @NotNull java.util.List<T> splitList(@NotNull @NotNull java.lang.CharSequence delimiter, int limit, int flags, @Nullable @Nullable 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 java.util.List<T> splitList(@NotNull @NotNull java.lang.CharSequence delimiter, int limit, int flags)
-
splitList
@NotNull @NotNull java.util.List<T> splitList(@NotNull @NotNull java.lang.CharSequence delimiter)
-
split
@NotNull @NotNull T[] split(@NotNull @NotNull java.lang.CharSequence delimiter, int limit, int flags, @Nullable @Nullable CharPredicate trimChars)
-
split
@NotNull @NotNull T[] split(@NotNull @NotNull java.lang.CharSequence delimiter, int limit, int flags)
-
split
@NotNull @NotNull T[] split(@NotNull @NotNull java.lang.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 java.util.List<T> splitList(@NotNull @NotNull java.lang.CharSequence delimiter, int limit, boolean includeDelims, @Nullable @Nullable 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 java.util.List<T> splitList(@NotNull @NotNull java.lang.CharSequence delimiter, boolean includeDelims, @Nullable @Nullable CharPredicate trimChars)
-
split
@NotNull @NotNull T[] split(@NotNull @NotNull java.lang.CharSequence delimiter, int limit, boolean includeDelims, @Nullable @Nullable CharPredicate trimChars)
-
split
@NotNull @NotNull T[] split(@NotNull @NotNull java.lang.CharSequence delimiter, boolean includeDelims, @Nullable @Nullable CharPredicate trimChars)
-
splitEOL
@NotNull @NotNull T[] splitEOL()
-
splitEOL
@NotNull @NotNull T[] splitEOL(boolean includeDelims)
-
splitListEOL
@NotNull @NotNull java.util.List<T> splitListEOL()
-
splitListEOL
@NotNull @NotNull java.util.List<T> splitListEOL(boolean includeDelims)
-
splitListEOL
@NotNull @NotNull java.util.List<T> splitListEOL(boolean includeDelims, @Nullable @Nullable CharPredicate trimChars)
-
indexOfAll
@NotNull @org.jetbrains.annotations.NotNull int[] indexOfAll(@NotNull @NotNull java.lang.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 java.lang.CharSequence prefix)
Prefix this sequence with a char sequence- Parameters:
prefix- char sequence- Returns:
- resulting sequence
-
suffixWith
@NotNull T suffixWith(@Nullable @Nullable java.lang.CharSequence suffix)
Prefix this sequence with a char sequence- Parameters:
suffix- char sequence- Returns:
- resulting sequence
-
prefixOnceWith
@NotNull T prefixOnceWith(@Nullable @Nullable java.lang.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 java.lang.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 java.lang.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 java.lang.StringBuilder out, @Nullable @Nullable CharMapper charMapper)
-
appendTo
@NotNull T appendTo(@NotNull @NotNull java.lang.StringBuilder out, @Nullable @Nullable CharMapper charMapper, int startIndex)
-
appendTo
@NotNull T appendTo(@NotNull @NotNull java.lang.StringBuilder out, int startIndex, int endIndex)
-
appendTo
@NotNull T appendTo(@NotNull @NotNull java.lang.StringBuilder out)
-
appendTo
@NotNull T appendTo(@NotNull @NotNull java.lang.StringBuilder out, int startIndex)
-
appendRangesTo
@NotNull T appendRangesTo(@NotNull @NotNull java.lang.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 java.lang.StringBuilder out, Range... ranges)
-
appendRangesTo
@NotNull T appendRangesTo(@NotNull @NotNull java.lang.StringBuilder out, @Nullable @Nullable CharMapper charMapper, java.lang.Iterable<? extends Range> ranges)
-
appendRangesTo
@NotNull T appendRangesTo(@NotNull @NotNull java.lang.StringBuilder out, java.lang.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(java.lang.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(java.lang.Iterable<? extends java.lang.CharSequence> sequences)
-
lineColumnAtIndex
@NotNull @NotNull Pair<java.lang.Integer,java.lang.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 Pair<java.lang.Integer,java.lang.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 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 java.lang.String toStringOrNull()
Return string or null if BaseSequence.NULL- Returns:
- string or null if BaseSequence.NULL
-
isIn
boolean isIn(@NotNull @NotNull java.lang.String[] texts)
-
isIn
boolean isIn(@NotNull @NotNull java.util.Collection<? extends java.lang.CharSequence> texts)
-
-