Package io.deephaven.base.string.cache
Class AbstractCompressedString<TYPE extends AbstractCompressedString>
java.lang.Object
io.deephaven.base.string.cache.AbstractCompressedString<TYPE>
- All Implemented Interfaces:
StringAlike<TYPE>,StringCompatible,Serializable,CharSequence,Comparable<CharSequence>
- Direct Known Subclasses:
CompressedString,MappedCompressedString
public abstract class AbstractCompressedString<TYPE extends AbstractCompressedString>
extends Object
implements StringAlike<TYPE>
Base class for immutable byte[]-backed String replacements.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionfinal charcharAt(int index) final intcodePointAt(int index) final intcodePointBefore(int index) final intcodePointCount(int beginIndex, int endIndex) final intcompareTo(@NotNull CharSequence that) Implementations MUST compare StringCompatibles and Strings char-by-char.final intcompareToIgnoreCase(@NotNull CharSequence that) final TYPEfinal TYPEfinal booleancontains(CharSequence cs) final booleancontentEquals(@NotNull CharSequence cs) protected abstract TYPEconvertValue(byte[] data, int offset, int length) Convert a byte array to this type, assuming ISO-8859-1protected abstract TYPEconvertValue(String string) Convert a String to this type.final booleanendsWith(@NotNull CharSequence suffix) final booleanfinal booleanequalsIgnoreCase(@NotNull CharSequence that) final byte[]getBytes()final voidgetChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) final byte[]getData()Note: This is an API for trusted code to use.final inthashCode()Implementations MUST match the current implementation of String.hashCode().final intindexOf(int ch) final intindexOf(int ch, int fromIndex) final intindexOf(CharSequence cs) final intindexOf(CharSequence cs, int fromIndex) final TYPEintern()final booleanisEmpty()final intlastIndexOf(int ch) final intlastIndexOf(int ch, int fromIndex) final intfinal intlastIndexOf(CharSequence cs, int fromIndex) final intlength()final booleanmatches(CharSequence regex) final booleanregionMatches(boolean ignoreCase, int offset, CharSequence that, int thatOffset, int length) final TYPEreplace(char oldChar, char newChar) final TYPEreplace(CharSequence target, CharSequence replacement) final TYPEreplaceAll(CharSequence regex, CharSequence replacement) final TYPEreplaceFirst(CharSequence regex, CharSequence replacement) final TYPE[]split(CharSequence regex) final TYPE[]split(CharSequence regex, int limit) final booleanstartsWith(@NotNull CharSequence prefix) final booleanstartsWith(@NotNull CharSequence prefix, int offset) final CharSequencesubSequence(int start, int end) final TYPEsubstring(int beginIndex) final TYPEsubstring(int beginIndex, int endIndex) final char[]final TYPEfinal TYPEtoLowerCase(Locale locale) final @NotNull StringtoString()Convert this StringCompatible into a String.final TYPEfinal TYPEtoUpperCase(Locale locale) final TYPEtrim()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.CharSequence
chars, codePointsMethods inherited from interface io.deephaven.base.string.cache.StringCompatible
toCompressedString, toMappedCompressedString
-
Method Details
-
convertValue
Convert a String to this type.- Parameters:
string- The String to convert- Returns:
- A new TYPE with the same contents as String, assuming ISO-8859-1 encoding
-
convertValue
Convert a byte array to this type, assuming ISO-8859-1- Parameters:
data- The data to convertoffset- The starting index from data to convertlength- The length to convert- Returns:
- A new TYPE with the same contents as the specified region of data, assuming ISO-8859-1 encoding
-
getData
public final byte[] getData()Note: This is an API for trusted code to use. The data array must not be modified.- Returns:
- The internal data array for this instance.
-
length
public final int length()- Specified by:
lengthin interfaceCharSequence
-
charAt
public final char charAt(int index) - Specified by:
charAtin interfaceCharSequence
-
subSequence
- Specified by:
subSequencein interfaceCharSequence
-
toString
Description copied from interface:StringCompatibleConvert this StringCompatible into a String. Implementations should not cache result Strings, in order to avoid inadvertently allowing promotion of short-lived objects under generational garbage collection.- Specified by:
toStringin interfaceCharSequence- Specified by:
toStringin interfaceStringCompatible- Overrides:
toStringin classObject- Returns:
- A newly constructed String representing the same sequence of characters as this StringCompatible.
-
compareTo
Description copied from interface:StringCompatibleImplementations MUST compare StringCompatibles and Strings char-by-char.- Specified by:
compareToin interfaceComparable<TYPE extends AbstractCompressedString>- Specified by:
compareToin interfaceStringCompatible- Returns:
- 0, <0, or >0 if that compares equal-to, less-than, or greater-than this.
-
hashCode
public final int hashCode()Description copied from interface:StringCompatibleImplementations MUST match the current implementation of String.hashCode().- Specified by:
hashCodein interfaceStringCompatible- Overrides:
hashCodein classObject- Returns:
- A hashcode value for this StringCompatible that matches the value a String of the same chars.
-
equals
- Specified by:
equalsin interfaceStringCompatible- Overrides:
equalsin classObject- Returns:
- true iff that is a StringCompatible of the same class with identical members.
-
isEmpty
public final boolean isEmpty()- Specified by:
isEmptyin interfaceCharSequence- Specified by:
isEmptyin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
codePointAt
public final int codePointAt(int index) - Specified by:
codePointAtin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
codePointBefore
public final int codePointBefore(int index) - Specified by:
codePointBeforein interfaceStringAlike<TYPE extends AbstractCompressedString>
-
codePointCount
public final int codePointCount(int beginIndex, int endIndex) - Specified by:
codePointCountin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
getChars
public final void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) - Specified by:
getCharsin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
getBytes
public final byte[] getBytes()- Specified by:
getBytesin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
contentEquals
- Specified by:
contentEqualsin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
equalsIgnoreCase
- Specified by:
equalsIgnoreCasein interfaceStringAlike<TYPE extends AbstractCompressedString>
-
compareToIgnoreCase
- Specified by:
compareToIgnoreCasein interfaceStringAlike<TYPE extends AbstractCompressedString>
-
regionMatches
public final boolean regionMatches(boolean ignoreCase, int offset, CharSequence that, int thatOffset, int length) - Specified by:
regionMatchesin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
startsWith
- Specified by:
startsWithin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
startsWith
- Specified by:
startsWithin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
endsWith
- Specified by:
endsWithin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
indexOf
public final int indexOf(int ch, int fromIndex) - Specified by:
indexOfin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
indexOf
public final int indexOf(int ch) - Specified by:
indexOfin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
lastIndexOf
public final int lastIndexOf(int ch, int fromIndex) - Specified by:
lastIndexOfin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
lastIndexOf
public final int lastIndexOf(int ch) - Specified by:
lastIndexOfin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
substring
- Specified by:
substringin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
substring
- Specified by:
substringin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
concat
- Specified by:
concatin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
concat
- Specified by:
concatin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
matches
- Specified by:
matchesin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
trim
- Specified by:
trimin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
toCharArray
public final char[] toCharArray()- Specified by:
toCharArrayin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
indexOf
- Specified by:
indexOfin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
indexOf
- Specified by:
indexOfin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
lastIndexOf
- Specified by:
lastIndexOfin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
lastIndexOf
- Specified by:
lastIndexOfin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
replace
- Specified by:
replacein interfaceStringAlike<TYPE extends AbstractCompressedString>
-
contains
- Specified by:
containsin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
replaceFirst
- Specified by:
replaceFirstin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
replaceAll
- Specified by:
replaceAllin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
replace
- Specified by:
replacein interfaceStringAlike<TYPE extends AbstractCompressedString>
-
split
- Specified by:
splitin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
split
- Specified by:
splitin interfaceStringAlike<TYPE extends AbstractCompressedString>
-
toLowerCase
- Specified by:
toLowerCasein interfaceStringAlike<TYPE extends AbstractCompressedString>
-
toLowerCase
- Specified by:
toLowerCasein interfaceStringAlike<TYPE extends AbstractCompressedString>
-
toUpperCase
- Specified by:
toUpperCasein interfaceStringAlike<TYPE extends AbstractCompressedString>
-
toUpperCase
- Specified by:
toUpperCasein interfaceStringAlike<TYPE extends AbstractCompressedString>
-
intern
- Specified by:
internin interfaceStringAlike<TYPE extends AbstractCompressedString>
-