Class CharSubSequence
- All Implemented Interfaces:
BasedOptionsHolder, BasedSequence, IRichSequence<BasedSequence>, SequenceUtils, CharSequence, Comparable<CharSequence>
NOTE: '\0' changed to '�' use NullEncoder.decodeNull mapper to get original null chars.
-
Nested Class Summary
Nested classes/interfaces inherited from interface BasedOptionsHolder
BasedOptionsHolder.OptionsNested classes/interfaces inherited from interface BasedSequence
BasedSequence.EmptyBasedSequence -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CharSubSequenceprivate final char[]private final intprivate final intFields inherited from interface BasedOptionsHolder
F_APPLICATION_OPTIONS, F_COLLECT_FIRST256_STATS, F_COLLECT_SEGMENTED_STATS, F_FULL_SEGMENTED_SEQUENCES, F_LIBRARY_OPTIONS, F_NO_ANCHORS, F_TREE_SEGMENTED_SEQUENCES, O_COLLECT_FIRST256_STATS, O_COLLECT_SEGMENTED_STATS, O_FULL_SEGMENTED_SEQUENCES, O_NO_ANCHORS, O_TREE_SEGMENTED_SEQUENCES, SEGMENTED_STATSFields inherited from interface BasedSequence
EMPTY, EMPTY_ARRAY, EMPTY_LIST, EMPTY_SEGMENTS, EOL, LINE_SEP, NULL, SPACEFields inherited from interface 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 -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateCharSubSequence(char[] chars, int hash) privateCharSubSequence(CharSubSequence baseSeq, int startIndex, int endIndex) -
Method Summary
Modifier and TypeMethodDescriptionbooleanallOptions(int options) Options test for options for this sequencebooleananyOptions(int options) Options test for options for this sequence@NotNull CharSubSequencebaseSubSequence(int startIndex, int endIndex) Get a portion of this sequence's base sequencecharcharAt(int index) @NotNull char[]getBase()Get the underlying object on which this sequence contents are based@NotNull CharSubSequenceGet the base sequence for the textintGet the end offset of this sequence intoBasedSequence.getBaseSequence()andBasedSequence.getBase()original text source.intgetIndexOffset(int index) Get the offset of index in this sequence mapped to offset intoBasedSequence.getBaseSequence()andBasedSequence.getBase()original text source.<T> TgetOption(DataKeyBase<T> dataKey) Options holder, default has none, only available on BasedSequenceWithOptionsintOptions test for options for this sequence@Nullable DataHolderOptions holder, default has none, only available on BasedSequenceWithOptions@NotNull RangeGet the range of this sequence in originalBasedSequence.getBaseSequence()andBasedSequence.getBase()original text source.intGet the start offset of this sequence intoBasedSequence.getBaseSequence()andBasedSequence.getBase()original text source.intlength()static CharSubSequenceof(char[] chars, int startIndex, int endIndex) Deprecated.NOTE: use BasedSequence.of() for creating based sequencesstatic CharSubSequenceof(CharSequence charSequence) static CharSubSequenceof(CharSequence charSequence, int startIndex) private static CharSubSequenceof(CharSequence charSequence, int startIndex, int endIndex) @NotNull CharSubSequencesubSequence(int startIndex, int endIndex) Get a portion of this sequenceMethods inherited from class BasedSequenceImpl
addSegments, baseColumnAtEnd, baseColumnAtIndex, baseColumnAtStart, baseEndOfLine, baseEndOfLine, baseEndOfLineAnyEOL, baseEndOfLineAnyEOL, baseLineColumnAtEnd, baseLineColumnAtIndex, baseLineColumnAtStart, baseLineRangeAtEnd, baseLineRangeAtIndex, baseLineRangeAtStart, baseStartOfLine, baseStartOfLine, baseStartOfLineAnyEOL, baseStartOfLineAnyEOL, baseSubSequence, containsAllOf, containsOnlyIn, containsOnlyNotIn, containsSomeIn, containsSomeNotIn, containsSomeOf, create, emptyArray, extendByAny, extendByAny, extendByAnyNot, extendByAnyNot, extendByOneOfAny, extendByOneOfAnyNot, extendToEndOfLine, extendToEndOfLine, extendToEndOfLine, extendToEndOfLine, extendToStartOfLine, extendToStartOfLine, extendToStartOfLine, extendToStartOfLine, firstNonNull, getBuilder, getEmptyPrefix, getEmptySuffix, getSegmentTree, intersect, isBaseCharAt, isContinuationOf, isContinuedBy, normalizeEndWithEOL, normalizeEOL, nullSequence, prefixOf, prefixWith, prefixWithIndent, prefixWithIndent, safeBaseCharAt, safeCharAt, sequenceOf, spliceAtEnd, suffixOf, toMapped, toStringOrNull, unescape, unescape, unescapeNoEntitiesMethods inherited from class IRichSequenceBase
append, append, appendEOL, appendRangesTo, appendRangesTo, appendRangesTo, appendRangesTo, appendSpace, appendSpaces, appendTo, appendTo, appendTo, appendTo, appendTo, appendTo, blankLinesRemovedRanges, blankLinesRemovedRanges, blankLinesRemovedRanges, blankLinesRemovedRanges, columnAtIndex, compareTo, countLeading, countLeading, countLeading, countLeadingColumns, countLeadingNot, countLeadingNot, countLeadingNot, countLeadingNotSpace, countLeadingNotSpace, countLeadingNotSpace, countLeadingNotSpaceTab, countLeadingNotSpaceTab, countLeadingNotSpaceTab, countLeadingNotWhitespace, countLeadingNotWhitespace, countLeadingNotWhitespace, countLeadingSpace, countLeadingSpace, countLeadingSpace, countLeadingSpaceTab, countLeadingSpaceTab, countLeadingSpaceTab, countLeadingWhitespace, countLeadingWhitespace, countLeadingWhitespace, countOfAny, countOfAny, countOfAny, countOfAnyNot, countOfAnyNot, countOfAnyNot, countOfNotSpaceTab, countOfNotWhitespace, countOfSpaceTab, countOfWhitespace, countTrailing, countTrailing, countTrailing, countTrailingNot, countTrailingNot, countTrailingNot, countTrailingNotSpace, countTrailingNotSpace, countTrailingNotSpace, countTrailingNotSpaceTab, countTrailingNotSpaceTab, countTrailingNotSpaceTab, countTrailingNotWhitespace, countTrailingNotWhitespace, countTrailingNotWhitespace, countTrailingSpace, countTrailingSpace, countTrailingSpace, countTrailingSpaceTab, countTrailingSpaceTab, countTrailingSpaceTab, countTrailingWhitespace, countTrailingWhitespace, countTrailingWhitespace, delete, endCharAt, endOfDelimitedBy, endOfDelimitedByAny, endOfDelimitedByAnyNot, endOfLine, endOfLineAnyEOL, endSequence, endSequence, endsWith, endsWith, endsWith, endsWithAnyEOL, endsWithEOL, endsWithIgnoreCase, endsWithSpace, endsWithSpaceTab, endsWithWhitespace, eolEndLength, eolEndLength, eolEndRange, eolStartLength, eolStartRange, equals, equals, equalsIgnoreCase, extractRanges, extractRanges, firstChar, hashCode, ifNull, ifNullEmptyAfter, ifNullEmptyBefore, indexOf, indexOf, indexOf, indexOf, indexOf, indexOf, indexOfAll, indexOfAny, indexOfAny, indexOfAny, indexOfAnyNot, indexOfAnyNot, indexOfAnyNot, indexOfNot, indexOfNot, indexOfNot, insert, isBlank, isCharAt, isEmpty, isIn, isIn, isNotBlank, isNotEmpty, isNotNull, isNull, lastChar, lastIndexOf, lastIndexOf, lastIndexOf, lastIndexOf, lastIndexOf, lastIndexOf, lastIndexOfAny, lastIndexOfAny, lastIndexOfAny, lastIndexOfAnyNot, lastIndexOfAnyNot, lastIndexOfAnyNot, lastIndexOfNot, lastIndexOfNot, lastIndexOfNot, leadingBlankLinesRange, leadingBlankLinesRange, leadingBlankLinesRange, leadingBlankLinesRange, lineAt, lineAtAnyEOL, lineColumnAtIndex, lineRangeAt, lineRangeAtAnyEOL, matchChars, matchChars, matchChars, matchChars, matchCharsIgnoreCase, matchCharsIgnoreCase, matchCharsReversed, matchCharsReversed, matchCharsReversedIgnoreCase, matchedCharCount, matchedCharCount, matchedCharCount, matchedCharCount, matchedCharCount, matchedCharCountIgnoreCase, matchedCharCountIgnoreCase, matchedCharCountReversed, matchedCharCountReversed, matchedCharCountReversed, matchedCharCountReversed, matchedCharCountReversedIgnoreCase, matchedCharCountReversedIgnoreCase, matches, matches, matchesIgnoreCase, midCharAt, midSequence, midSequence, normalizeEndWithEOL, normalizeEOL, nullIf, nullIf, nullIf, nullIf, nullIfBlank, nullIfEmpty, nullIfEndsWith, nullIfEndsWith, nullIfEndsWithIgnoreCase, nullIfNot, nullIfNot, nullIfNot, nullIfNotEndsWith, nullIfNotEndsWith, nullIfNotEndsWithIgnoreCase, nullIfNotStartsWith, nullIfNotStartsWith, nullIfNotStartsWithIgnoreCase, nullIfStartsWith, nullIfStartsWith, nullIfStartsWithIgnoreCase, padding, padding, padEnd, padEnd, padStart, padStart, prefixOnceWith, prefixOnceWithEOL, prefixOnceWithSpace, prefixWithEOL, prefixWithSpace, prefixWithSpaces, removePrefix, removePrefix, removePrefixIgnoreCase, removeProperPrefix, removeProperPrefix, removeProperPrefixIgnoreCase, removeProperSuffix, removeProperSuffix, removeProperSuffixIgnoreCase, removeSuffix, removeSuffix, removeSuffixIgnoreCase, replace, replace, safeSubSequence, safeSubSequence, sequenceOf, sequenceOf, split, split, split, split, split, splitEOL, splitEOL, splitList, splitList, splitList, splitList, splitList, splitListEOL, splitListEOL, splitListEOL, startOfDelimitedBy, startOfDelimitedByAny, startOfDelimitedByAnyNot, startOfLine, startOfLineAnyEOL, startsWith, startsWith, startsWith, startsWithAnyEOL, startsWithEOL, startsWithIgnoreCase, startsWithSpace, startsWithSpaceTab, startsWithWhitespace, subSequence, subSequence, subSequenceAfter, subSequenceBefore, subSequenceBeforeAfter, suffixOnceWith, suffixOnceWithEOL, suffixOnceWithSpace, suffixWith, suffixWithEOL, suffixWithSpace, suffixWithSpaces, toLowerCase, toNbSp, toSpc, toString, toUpperCase, toVisibleWhitespaceString, trailingBlankLinesRange, trailingBlankLinesRange, trailingBlankLinesRange, trailingBlankLinesRange, trim, trim, trim, trim, trimEnd, trimEnd, trimEnd, trimEnd, trimEndRange, trimEndRange, trimEndRange, trimEndRange, trimEOL, trimLeadBlankLines, trimmed, trimmed, trimmed, trimmed, trimmedEnd, trimmedEnd, trimmedEnd, trimmedEnd, trimmedEOL, trimmedStart, trimmedStart, trimmedStart, trimmedStart, trimRange, trimRange, trimRange, trimRange, trimStart, trimStart, trimStart, trimStart, trimStartRange, trimStartRange, trimStartRange, trimStartRange, trimTailBlankLines, trimToEndOfLine, trimToEndOfLine, trimToEndOfLine, trimToEndOfLine, trimToEndOfLine, trimToStartOfLine, trimToStartOfLine, trimToStartOfLine, trimToStartOfLine, trimToStartOfLine, validateIndex, validateIndexInclusiveEnd, validateStartEndMethods inherited from interface BasedSequence
extendToAny, extendToAnyMethods inherited from interface CharSequence
chars, codePoints, getChars, toStringMethods inherited from interface Comparable
compareToMethods inherited from interface IRichSequence
append, append, appendEOL, appendRangesTo, appendRangesTo, appendRangesTo, appendRangesTo, appendSpace, appendSpaces, appendTo, appendTo, appendTo, appendTo, appendTo, appendTo, blankLinesRemovedRanges, blankLinesRemovedRanges, blankLinesRemovedRanges, blankLinesRemovedRanges, columnAtIndex, countLeading, countLeading, countLeading, countLeading, countLeading, countLeadingColumns, countLeadingNot, countLeadingNot, countLeadingNot, countLeadingNotSpace, countLeadingNotSpace, countLeadingNotSpace, countLeadingNotSpaceTab, countLeadingNotSpaceTab, countLeadingNotSpaceTab, countLeadingNotWhitespace, countLeadingNotWhitespace, countLeadingNotWhitespace, countLeadingSpace, countLeadingSpace, countLeadingSpace, countLeadingSpaceTab, countLeadingSpaceTab, countLeadingSpaceTab, countLeadingWhitespace, countLeadingWhitespace, countLeadingWhitespace, countOf, countOfAny, countOfAny, countOfAny, countOfAnyNot, countOfAnyNot, countOfAnyNot, countOfNotSpaceTab, countOfNotWhitespace, countOfSpaceTab, countOfWhitespace, countTrailing, countTrailing, countTrailing, countTrailing, countTrailingNot, countTrailingNot, countTrailingNot, countTrailingNotSpace, countTrailingNotSpace, countTrailingNotSpace, countTrailingNotSpaceTab, countTrailingNotSpaceTab, countTrailingNotSpaceTab, countTrailingNotWhitespace, countTrailingNotWhitespace, countTrailingNotWhitespace, countTrailingSpace, countTrailingSpace, countTrailingSpace, countTrailingSpaceTab, countTrailingSpaceTab, countTrailingSpaceTab, countTrailingWhitespace, countTrailingWhitespace, countTrailingWhitespace, delete, endCharAt, endOfDelimitedBy, endOfDelimitedByAny, endOfDelimitedByAnyNot, endOfLine, endOfLineAnyEOL, endSequence, endSequence, endsWith, endsWith, endsWith, endsWithAnyEOL, endsWithEOL, endsWithIgnoreCase, endsWithSpace, endsWithSpaceTab, endsWithWhitespace, eolEndLength, eolEndLength, eolEndRange, eolLength, eolStartLength, eolStartLength, eolStartRange, equals, equals, equalsIgnoreCase, extractRanges, extractRanges, firstChar, getColumnAtIndex, getLineColumnAtIndex, hashCode, ifNull, ifNullEmptyAfter, ifNullEmptyBefore, indexOf, indexOf, indexOf, indexOf, indexOf, indexOf, indexOfAll, indexOfAny, indexOfAny, indexOfAny, indexOfAnyNot, indexOfAnyNot, indexOfAnyNot, indexOfNot, indexOfNot, indexOfNot, insert, insert, isBlank, isCharAt, isEmpty, isIn, isIn, isNotBlank, isNotEmpty, isNotNull, isNull, lastChar, lastIndexOf, lastIndexOf, lastIndexOf, lastIndexOf, lastIndexOf, lastIndexOf, lastIndexOfAny, lastIndexOfAny, lastIndexOfAny, lastIndexOfAnyNot, lastIndexOfAnyNot, lastIndexOfAnyNot, lastIndexOfNot, lastIndexOfNot, lastIndexOfNot, leadingBlankLinesRange, leadingBlankLinesRange, leadingBlankLinesRange, leadingBlankLinesRange, lineAt, lineAtAnyEOL, lineColumnAtIndex, lineRangeAt, lineRangeAtAnyEOL, matchChars, matchChars, matchChars, matchChars, matchCharsIgnoreCase, matchCharsIgnoreCase, matchCharsReversed, matchCharsReversed, matchCharsReversedIgnoreCase, matchedCharCount, matchedCharCount, matchedCharCount, matchedCharCount, matchedCharCount, matchedCharCountIgnoreCase, matchedCharCountIgnoreCase, matchedCharCountReversed, matchedCharCountReversed, matchedCharCountReversed, matchedCharCountReversed, matchedCharCountReversedIgnoreCase, matchedCharCountReversedIgnoreCase, matches, matches, matchesIgnoreCase, midCharAt, midSequence, midSequence, normalizeEndWithEOL, normalizeEOL, nullIf, nullIf, nullIf, nullIf, nullIfBlank, nullIfEmpty, nullIfEndsWith, nullIfEndsWith, nullIfEndsWithIgnoreCase, nullIfEndsWithNot, nullIfNot, nullIfNot, nullIfNot, nullIfNotEndsWith, nullIfNotEndsWith, nullIfNotEndsWithIgnoreCase, nullIfNotStartsWith, nullIfNotStartsWith, nullIfNotStartsWithIgnoreCase, nullIfStartsWith, nullIfStartsWith, nullIfStartsWithIgnoreCase, nullIfStartsWithNot, padding, padding, padEnd, padEnd, padStart, padStart, prefixOnceWith, prefixOnceWithEOL, prefixOnceWithSpace, prefixWithEOL, prefixWithSpace, prefixWithSpaces, removePrefix, removePrefix, removePrefixIgnoreCase, removeProperPrefix, removeProperPrefix, removeProperPrefixIgnoreCase, removeProperSuffix, removeProperSuffix, removeProperSuffixIgnoreCase, removeSuffix, removeSuffix, removeSuffixIgnoreCase, replace, replace, safeSubSequence, safeSubSequence, sequenceOf, sequenceOf, split, split, split, split, split, split, split, split, splitEOL, splitEOL, splitList, splitList, splitList, splitList, splitList, splitListEOL, splitListEOL, splitListEOL, startOfDelimitedBy, startOfDelimitedByAny, startOfDelimitedByAnyNot, startOfLine, startOfLineAnyEOL, startsWith, startsWith, startsWith, startsWithAnyEOL, startsWithEOL, startsWithIgnoreCase, startsWithSpace, startsWithSpaceTab, startsWithWhitespace, subSequence, subSequence, subSequenceAfter, subSequenceBefore, suffixOnceWith, suffixOnceWithEOL, suffixOnceWithSpace, suffixWith, suffixWithEOL, suffixWithSpace, suffixWithSpaces, toLowerCase, toNbSp, toSpc, toUpperCase, toVisibleWhitespaceString, trailingBlankLinesRange, trailingBlankLinesRange, trailingBlankLinesRange, trailingBlankLinesRange, trim, trim, trim, trim, trimEnd, trimEnd, trimEnd, trimEnd, trimEndRange, trimEndRange, trimEndRange, trimEndRange, trimEOL, trimLeadBlankLines, trimmed, trimmed, trimmed, trimmed, trimmedEnd, trimmedEnd, trimmedEnd, trimmedEnd, trimmedEOL, trimmedStart, trimmedStart, trimmedStart, trimmedStart, trimRange, trimRange, trimRange, trimRange, trimStart, trimStart, trimStart, trimStart, trimStartRange, trimStartRange, trimStartRange, trimStartRange, trimTailBlankLines, trimToEndOfLine, trimToEndOfLine, trimToEndOfLine, trimToEndOfLine, trimToEndOfLine, trimToStartOfLine, trimToStartOfLine, trimToStartOfLine, trimToStartOfLine, trimToStartOfLine
-
Field Details
-
baseChars
private final char[] baseChars -
base
-
startOffset
private final int startOffset -
endOffset
private final int endOffset
-
-
Constructor Details
-
CharSubSequence
private CharSubSequence(char[] chars, int hash) -
CharSubSequence
-
-
Method Details
-
getOptionFlags
public int getOptionFlags()Description copied from interface:BasedOptionsHolderOptions test for options for this sequencedefault reports true for global default options (if any) , variation available on BasedSequenceWithOptions
- Returns:
- option flags for this sequence
-
allOptions
public boolean allOptions(int options) Description copied from interface:BasedOptionsHolderOptions test for options for this sequencedefault reports true for global default options (if any) , variation available on BasedSequenceWithOptions
- Parameters:
options- option flags- Returns:
- true if all option flags passed are set for this sequence
-
anyOptions
public boolean anyOptions(int options) Description copied from interface:BasedOptionsHolderOptions test for options for this sequencedefault reports true for global default options (if any) , variation available on BasedSequenceWithOptions
- Parameters:
options- option flags- Returns:
- true if any option flags passed are set for this sequence
-
getOption
Description copied from interface:BasedOptionsHolderOptions holder, default has none, only available on BasedSequenceWithOptions- Type Parameters:
T- type of value held by key- Parameters:
dataKey- in options- Returns:
- true if data key is available
-
getOptions
Description copied from interface:BasedOptionsHolderOptions holder, default has none, only available on BasedSequenceWithOptions- Returns:
- data holder with options or null if none for this sequence
-
getBaseSequence
Description copied from interface:BasedSequenceGet the base sequence for the text- Returns:
- base sequence
-
getBase
@NotNull public @NotNull char[] getBase()Description copied from interface:BasedSequenceGet the underlying object on which this sequence contents are based- Returns:
- underlying object containing original text
-
getStartOffset
public int getStartOffset()Description copied from interface:BasedSequenceGet the start offset of this sequence intoBasedSequence.getBaseSequence()andBasedSequence.getBase()original text source.- Returns:
- start offset in original text
-
getEndOffset
public int getEndOffset()Description copied from interface:BasedSequenceGet the end offset of this sequence intoBasedSequence.getBaseSequence()andBasedSequence.getBase()original text source.- Returns:
- end offset in original text
-
length
public int length() -
getSourceRange
Description copied from interface:BasedSequenceGet the range of this sequence in originalBasedSequence.getBaseSequence()andBasedSequence.getBase()original text source.- Returns:
- Range of start offset and end offset
-
getIndexOffset
public int getIndexOffset(int index) Description copied from interface:BasedSequenceGet the offset of index in this sequence mapped to offset intoBasedSequence.getBaseSequence()andBasedSequence.getBase()original text source. NOTE: if the character at given index does not equal the corresponding character in the base sequence then this method should return -1 otherwise segmented based sequence will be created for original base character- Parameters:
index- index for which to get the offset in original source- Returns:
- offset of index of this sequence in original text
-
charAt
public char charAt(int index) -
subSequence
Description copied from interface:IRichSequenceGet 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.
- Parameters:
startIndex- offset from startIndex of this sequenceendIndex- offset from startIndex of this sequence- Returns:
- based sequence whose contents reflect the selected portion
-
baseSubSequence
Description copied from interface:BasedSequenceGet a portion of this sequence's base sequenceNOTE: this means that if this sequence applies modifications to the original sequence then these modifications are NOT be applied to the returned sequence.
NOTE: It should only be implemented in classes which provide base sequences such as
CharSubSequenceandSubSequenceothers use inherited implementation ofBasedSequenceImpl- Specified by:
baseSubSequencein interfaceBasedSequence- Overrides:
baseSubSequencein classBasedSequenceImpl- Parameters:
startIndex- offset from 0 of original sequenceendIndex- offset from 0 of original sequence- Returns:
- based sequence whose contents reflect the selected portion
-
of
-
of
-
of
Deprecated.NOTE: use BasedSequence.of() for creating based sequences- Parameters:
chars- char arraystartIndex- start index in arrayendIndex- end index in array- Returns:
- CharSubSequence based sequence of array
-
of
- Parameters:
charSequence- char sequencestartIndex- start index in sequenceendIndex- end index in sequence- Returns:
- char based sequence
-