Package net.sf.saxon.str
Class Slice16
java.lang.Object
net.sf.saxon.str.UnicodeString
net.sf.saxon.str.Slice16
- All Implemented Interfaces:
Comparable<UnicodeString>,AtomicMatchKey
A Unicode string consisting entirely of 16-bit BMP characters, implemented as a range
of an underlying byte array
-
Constructor Summary
ConstructorsConstructorDescriptionSlice16(char[] chars, int start, int end) Create a slice of an underlying char array -
Method Summary
Modifier and TypeMethodDescriptionintcodePointAt(long index) Get the code point at a given position in the stringGet an iterator over the code points present in the string.char[]intgetEnd()intgetStart()intgetWidth()Get the number of bits needed to hold all the characters in this stringinthashCode()Compute a hashCode.longindexOf(int codePoint, long from) Get the position of the first occurrence of the specified codepoint, starting the search at a given position in the stringlongindexWhere(IntPredicate predicate, long from) Get the position of the first occurrence of the specified codepoint, starting the search at a given position in the stringlonglength()Get the length of the stringsubstring(long start, long end) Get a substring of this string, with a given start and end positiontoString()Convert to a string.Methods inherited from class net.sf.saxon.str.UnicodeString
asAtomic, checkSubstringBounds, compareTo, concat, economize, equals, estimatedLength, hasSubstring, indexOf, indexOf, isEmpty, length32, prefix, requireInt, requireNonNegativeInt, substring, tidy, verifyCharacters
-
Constructor Details
-
Slice16
public Slice16(char[] chars, int start, int end) Create a slice of an underlying char array- Parameters:
chars- the char array, containing Unicode codepoints in the range 0-65535; the caller warrants that there are no surrogate characters presentstart- the offset of the first character within the character arrayend- the offset of the first excluded character, so the length of the string isend-start
-
-
Method Details
-
length
public long length()Description copied from class:UnicodeStringGet the length of the string- Specified by:
lengthin classUnicodeString- Returns:
- the number of code points in the string
-
getWidth
public int getWidth()Description copied from class:UnicodeStringGet the number of bits needed to hold all the characters in this string- Specified by:
getWidthin classUnicodeString- Returns:
- 7 for ascii characters (not used??), 8 for latin-1, 16 for BMP, 24 for general Unicode.
-
getCharArray
public char[] getCharArray() -
getStart
public int getStart() -
getEnd
public int getEnd() -
indexOf
public long indexOf(int codePoint, long from) Description copied from class:UnicodeStringGet the position of the first occurrence of the specified codepoint, starting the search at a given position in the string- Specified by:
indexOfin classUnicodeString- Parameters:
codePoint- the sought codePointfrom- the position from which the search should start (0-based). A negative value is treated as zero. A position beyond the end of the string results in a return value of -1 (meaning not found).- Returns:
- the position (0-based) of the first occurrence found, or -1 if not found
-
codePointAt
public int codePointAt(long index) Description copied from class:UnicodeStringGet the code point at a given position in the string- Specified by:
codePointAtin classUnicodeString- Parameters:
index- the given position (0-based)- Returns:
- the code point at the given position
-
substring
Description copied from class:UnicodeStringGet a substring of this string, with a given start and end position- Specified by:
substringin classUnicodeString- Parameters:
start- the start position (0-based): that is, the position of the first code point to be includedend- the end position (0-based): specifically, the position of the first code point not to be included- Returns:
- the requested substring
-
indexWhere
Get the position of the first occurrence of the specified codepoint, starting the search at a given position in the string- Specified by:
indexWherein classUnicodeString- Parameters:
predicate- condition that the codepoint must satisfyfrom- the position from which the search should start (0-based)- Returns:
- the position (0-based) of the first codepoint to match the predicate, or -1 if not found
- Throws:
UnsupportedOperationException- if theUnicodeStringhas not been prepared for codePoint access
-
codePoints
Description copied from class:UnicodeStringGet an iterator over the code points present in the string.- Specified by:
codePointsin classUnicodeString- Returns:
- an iterator that delivers the individual code points
-
hashCode
public int hashCode()Compute a hashCode. All implementations ofUnicodeStringuse compatible hash codes and the hashing algorithm is therefore identical to that forjava.lang.String. This means that for strings containing Astral characters, the hash code needs to be computed by decomposing an Astral character into a surrogate pair.- Overrides:
hashCodein classUnicodeString- Returns:
- the hash code
-
toString
Convert to a string.
-