Package gnu.lists
Class IString
- java.lang.Object
-
- gnu.lists.AbstractSequence<Char>
-
- gnu.lists.IString
-
- All Implemented Interfaces:
BoundedHashable,Array<Char>,AVector<Char>,Consumable,Sequence<Char>,java.io.Externalizable,java.io.Serializable,java.lang.CharSequence,java.lang.Comparable<IString>,java.lang.Iterable<Char>,java.util.Collection<Char>,java.util.List<Char>,java.util.RandomAccess
- Direct Known Subclasses:
IString.SubString
public class IString extends AbstractSequence<Char> implements java.lang.CharSequence, java.io.Externalizable, java.lang.Comparable<IString>, AVector<Char>, java.util.RandomAccess, Consumable
A string implementation with contant-time codepoint indexing. Suitable for SRFI-135 or SRFI-140.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classIString.SubString
-
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 Constructor Description IString(java.lang.String str)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description charcharAt(int i)To implement CharSequenceintcompareTo(IString other)voidconsume(Consumer out)inteffectiveIndex(int index)booleanequals(java.lang.Object other)byte[]getBytes(java.lang.String charsetName)ChargetRaw(int index)Given an "effective index", return element as object.inthashCode()intindexByCodePoints(int index)used for string-refintlength()intlengthByCodePoints()intoffsetByCodePoints(int i)Map character offset to char offset.voidreadExternal(java.io.ObjectInput in)intsize()See java.util.List.IStringsubSequence(int from, int to)Substring using offsets in code-units (16-bit chars).char[]toCharArray()java.lang.StringtoString()static IStringvalueOf(java.lang.CharSequence str)static IStringvalueOf(java.lang.CharSequence str, int start, int count)voidwriteExternal(java.io.ObjectOutput out)-
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
-
-
-
-
Method Detail
-
valueOf
public static IString valueOf(java.lang.CharSequence str)
-
valueOf
public static IString valueOf(java.lang.CharSequence str, int start, int count)
-
effectiveIndex
public int effectiveIndex(int index)
- Specified by:
effectiveIndexin interfaceArray<Char>- Overrides:
effectiveIndexin classAbstractSequence<Char>
-
getRaw
public Char getRaw(int index)
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 interfacejava.lang.CharSequence
-
toString
public java.lang.String toString()
- Specified by:
toStringin interfacejava.lang.CharSequence- Overrides:
toStringin classAbstractSequence<Char>
-
length
public int length()
- Specified by:
lengthin interfacejava.lang.CharSequence
-
subSequence
public IString subSequence(int from, int to)
Substring using offsets in code-units (16-bit chars).- Specified by:
subSequencein interfacejava.lang.CharSequence
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
toCharArray
public char[] toCharArray()
-
getBytes
public byte[] getBytes(java.lang.String charsetName) throws java.io.UnsupportedEncodingException- Throws:
java.io.UnsupportedEncodingException
-
consume
public void consume(Consumer out)
- Specified by:
consumein interfaceConsumable- Overrides:
consumein classAbstractSequence<Char>
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacejava.util.Collection<Char>- Specified by:
hashCodein interfacejava.util.List<Char>- Overrides:
hashCodein classAbstractSequence<Char>
-
equals
public boolean equals(java.lang.Object other)
- Specified by:
equalsin interfacejava.util.Collection<Char>- Specified by:
equalsin interfacejava.util.List<Char>- Overrides:
equalsin classAbstractSequence<Char>
-
-