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
noIntsFields 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 TypeMethodDescriptioncharcharAt(int i) To implement CharSequenceintvoidinteffectiveIndex(int index) booleanbyte[]getRaw(int index) Given an "effective index", return element as object.inthashCode()intindexByCodePoints(int index) used for string-refintlength()intintoffsetByCodePoints(int i) Map character offset to char offset.voidintsize()See java.util.List.subSequence(int from, int to) Substring using offsets in code-units (16-bit chars).char[]toString()static IStringvalueOf(CharSequence str) static IStringvalueOf(CharSequence str, int start, int count) voidMethods 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, unsupportedExceptionMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods 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, setRawMethods inherited from interface gnu.kawa.util.BoundedHashable
boundedHashMethods inherited from interface java.lang.CharSequence
chars, codePoints, isEmptyMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods 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:
effectiveIndexin interfaceArray<Char>- Overrides:
effectiveIndexin classAbstractSequence<Char>
-
getRaw
Description copied from interface:ArrayGiven 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:SequenceSee java.util.List. -
charAt
public char charAt(int i) To implement CharSequence- Specified by:
charAtin interfaceCharSequence
-
toString
- Specified by:
toStringin interfaceCharSequence- Overrides:
toStringin classAbstractSequence<Char>
-
length
public int length()- Specified by:
lengthin interfaceCharSequence
-
subSequence
Substring using offsets in code-units (16-bit chars).- Specified by:
subSequencein interfaceCharSequence
-
writeExternal
- Specified by:
writeExternalin interfaceExternalizable- Throws:
IOException
-
readExternal
- Specified by:
readExternalin interfaceExternalizable- Throws:
IOExceptionClassNotFoundException
-
toCharArray
public char[] toCharArray() -
getBytes
- Throws:
UnsupportedEncodingException
-
consume
- Specified by:
consumein interfaceConsumable- Overrides:
consumein classAbstractSequence<Char>
-
hashCode
public int hashCode()- Specified by:
hashCodein interfaceCollection<Char>- Specified by:
hashCodein interfaceList<Char>- Overrides:
hashCodein classAbstractSequence<Char>
-
equals
- Specified by:
equalsin interfaceCollection<Char>- Specified by:
equalsin interfaceList<Char>- Overrides:
equalsin classAbstractSequence<Char>
-
compareTo
- Specified by:
compareToin interfaceComparable<IString>
-