Package gnu.lists
Class IString
- All Implemented Interfaces:
BoundedHashable
,Array<Char>
,AVector<Char>
,Consumable
,Sequence<Char>
,Externalizable
,Serializable
,CharSequence
,Comparable<IString>
,Iterable<Char>
,Collection<Char>
,List<Char>
,RandomAccess
,SequencedCollection<Char>
- Direct Known Subclasses:
IString.SubString
public class IString
extends AbstractSequence<Char>
implements CharSequence, Externalizable, Comparable<IString>, AVector<Char>, RandomAccess, Consumable
A string implementation with contant-time codepoint indexing.
Suitable for SRFI-135 or SRFI-140.
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class gnu.lists.AbstractSequence
noInts
Fields inherited from interface gnu.lists.Sequence
ATTRIBUTE_VALUE, BOOLEAN_VALUE, CDATA_VALUE, CHAR_VALUE, COMMENT_VALUE, DOCUMENT_VALUE, DOUBLE_VALUE, ELEMENT_VALUE, EOF_VALUE, eofValue, FLOAT_VALUE, INT_S16_VALUE, INT_S32_VALUE, INT_S64_VALUE, INT_S8_VALUE, INT_U16_VALUE, INT_U32_VALUE, INT_U64_VALUE, INT_U8_VALUE, OBJECT_VALUE, PRIM_VALUE, PROCESSING_INSTRUCTION_VALUE, TEXT_BYTE_VALUE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionchar
charAt
(int i) To implement CharSequenceint
void
int
effectiveIndex
(int index) boolean
byte[]
getRaw
(int index) Given an "effective index", return element as object.int
hashCode()
int
indexByCodePoints
(int index) used for string-refint
length()
int
int
offsetByCodePoints
(int i) Map character offset to char offset.void
int
size()
See java.util.List.subSequence
(int from, int to) Substring using offsets in code-units (16-bit chars).char[]
toString()
static IString
valueOf
(CharSequence str) static IString
valueOf
(CharSequence str, int start, int count) void
Methods inherited from class gnu.lists.AbstractSequence
add, add, addAll, addAll, addPos, asImmutable, badRank, boundedHash, checkCanWrite, checkRank, clear, compare, compare, compare, consume, consumeNext, consumePosRange, contains, containsAll, copyPos, createPos, createRelativePos, effectiveIndex, effectiveIndex, effectiveIndex, effectiveIndex, elements, endPos, equals, fill, fill, fillPosRange, firstAttributePos, firstChildPos, firstChildPos, fromEndIndex, get, get, get, get, get, getAttribute, getAttributeLength, getBooleanRaw, getByteRaw, getCharRaw, getContainingSequenceSize, getDoubleRaw, getElementKind, getFloatRaw, getIndexDifference, getInt, getInt, getInt, getInt, getInt, getIntRaw, getIterator, getIterator, getIteratorAtPos, getLongRaw, getLowBound, getNextKind, getNextTypeName, getNextTypeObject, getPosNext, getPosPrevious, getRowMajor, getShortRaw, getSize, getSize, gotoAttributesStart, gotoChildrenStart, gotoParent, hasNext, hasPrevious, indexOf, isAfterPos, isEmpty, iterator, lastIndexOf, listIterator, listIterator, nextIndex, nextIndex, nextMatching, nextPos, parentPos, previousPos, rank, releasePos, remove, remove, removeAll, removePos, removePosRange, retainAll, set, set, setAt, setBuffer, setPosNext, setPosPrevious, setRaw, stableCompare, startPos, subList, subSequence, subSequencePos, toArray, toArray, toString, unsupported, unsupportedException
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface gnu.lists.Array
asImmutable, effectiveIndex, effectiveIndex, effectiveIndex, effectiveIndex, get, get, get, get, get, getBooleanRaw, getByteRaw, getCharRaw, getDoubleRaw, getElementKind, getFloatRaw, getInt, getInt, getInt, getInt, getInt, getIntRaw, getLongRaw, getLowBound, getRowMajor, getShortRaw, getSize, getSize, isEmpty, rank, set, setRaw
Methods inherited from interface gnu.kawa.util.BoundedHashable
boundedHash
Methods inherited from interface java.lang.CharSequence
chars, codePoints, isEmpty
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods inherited from interface java.util.List
add, add, addAll, addAll, addFirst, addLast, clear, contains, containsAll, getFirst, getLast, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeFirst, removeLast, replaceAll, retainAll, reversed, sort, spliterator, subList, toArray, toArray
-
Constructor Details
-
IString
-
-
Method Details
-
valueOf
-
valueOf
-
effectiveIndex
public int effectiveIndex(int index) - Specified by:
effectiveIndex
in interfaceArray<Char>
- Overrides:
effectiveIndex
in classAbstractSequence<Char>
-
getRaw
Description copied from interface:Array
Given an "effective index", return element as object. -
indexByCodePoints
public int indexByCodePoints(int index) used for string-ref -
offsetByCodePoints
public int offsetByCodePoints(int i) Map character offset to char offset. Caller is responsible for checking thati >=0 && i <= cplength
. -
lengthByCodePoints
public int lengthByCodePoints() -
size
public int size()Description copied from interface:Sequence
See java.util.List. -
charAt
public char charAt(int i) To implement CharSequence- Specified by:
charAt
in interfaceCharSequence
-
toString
- Specified by:
toString
in interfaceCharSequence
- Overrides:
toString
in classAbstractSequence<Char>
-
length
public int length()- Specified by:
length
in interfaceCharSequence
-
subSequence
Substring using offsets in code-units (16-bit chars).- Specified by:
subSequence
in interfaceCharSequence
-
writeExternal
- Specified by:
writeExternal
in interfaceExternalizable
- Throws:
IOException
-
readExternal
- Specified by:
readExternal
in interfaceExternalizable
- Throws:
IOException
ClassNotFoundException
-
toCharArray
public char[] toCharArray() -
getBytes
- Throws:
UnsupportedEncodingException
-
consume
- Specified by:
consume
in interfaceConsumable
- Overrides:
consume
in classAbstractSequence<Char>
-
hashCode
public int hashCode()- Specified by:
hashCode
in interfaceCollection<Char>
- Specified by:
hashCode
in interfaceList<Char>
- Overrides:
hashCode
in classAbstractSequence<Char>
-
equals
- Specified by:
equals
in interfaceCollection<Char>
- Specified by:
equals
in interfaceList<Char>
- Overrides:
equals
in classAbstractSequence<Char>
-
compareTo
- Specified by:
compareTo
in interfaceComparable<IString>
-