Package gnu.kawa.xml
Class Nodes.NodeVector
- java.lang.Object
-
- gnu.lists.AbstractSequence<E>
-
- gnu.lists.SimpleVector<SeqPosition>
-
- gnu.kawa.xml.Nodes.NodeVector
-
- All Implemented Interfaces:
BoundedHashable
,Array<SeqPosition>
,AVector<SeqPosition>
,Consumable
,PositionConsumer
,Sequence<SeqPosition>
,Externalizable
,Serializable
,Iterable<SeqPosition>
,Collection<SeqPosition>
,List<SeqPosition>
,RandomAccess
- Enclosing class:
- Nodes
public static class Nodes.NodeVector extends SimpleVector<SeqPosition> implements PositionConsumer
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class gnu.lists.SimpleVector
COPY_ON_WRITE, GAP_FLAG, info, MAX_GAP_SIZE, READ_ONLY_FLAG, SHARED_FLAG, SUBRANGE_FLAG, VERY_SIMPLE_FLAG
-
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 NodeVector()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
clearBuffer(int start, int count)
void
consumePosRange(int iposStart, int iposEnd, Consumer out)
void
copyBuffer(int length)
protected Object
getBuffer()
int
getBufferLength()
int
getPos(int index)
int
getPosRaw(int index)
SeqPosition
getRaw(int index)
Given an "effective index", return element as object.AbstractSequence
getSeq(int index)
AbstractSequence
getSeqRaw(int index)
protected static SeqPosition
makeSeqPos(AbstractSequence seq, int ipos)
protected Nodes.NodeVector
newInstance(int newLength)
protected void
setBuffer(int index, AbstractSequence seq, int ipos)
protected void
setBuffer(Object buffer)
void
setRaw(int index, SeqPosition value)
Given an "effective index", set selected element.void
shift(int srcStart, int dstStart, int count)
void
writePosition(AbstractSequence seq, int ipos)
Consume a single position pair.void
writePosition(SeqPosition seq)
Consume node at current position.-
Methods inherited from class gnu.lists.SimpleVector
add, add, addPos, addSpace, asImmutable, checkCanWrite, delete, doCopyOnWrite, effectiveIndex, fill, forEach, gapReserve, gapReserveGeneric, getGapEnd, getGapSize, getGapStart, getOffsetBits, getRowMajor, getSegment, getSegment, getSegmentReadOnly, getSizeBits, getTag, isAfterPos, isGapBuffer, isReadOnly, isSubRange, isVerySimple, readExternal, setGapBounds, setGapBounds, setInfoField, setReadOnly, size, toDataArray, vsize, writeExternal
-
Methods inherited from class gnu.lists.AbstractSequence
addAll, addAll, badRank, boundedHash, checkRank, clear, compare, compare, compare, consume, consume, consumeNext, contains, containsAll, copyPos, createPos, createRelativePos, effectiveIndex, effectiveIndex, effectiveIndex, effectiveIndex, elements, endPos, equals, equals, 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, getShortRaw, getSize, getSize, gotoAttributesStart, gotoChildrenStart, gotoParent, hashCode, hasNext, hasPrevious, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, nextIndex, nextIndex, nextMatching, nextPos, parentPos, previousPos, rank, releasePos, remove, remove, removeAll, removePos, removePosRange, retainAll, set, set, setAt, setPosNext, setPosPrevious, stableCompare, startPos, subList, subSequence, subSequencePos, toArray, toArray, toString, 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
effectiveIndex, effectiveIndex, effectiveIndex, effectiveIndex, get, get, get, get, get, getBooleanRaw, getByteRaw, getCharRaw, getDoubleRaw, getElementKind, getFloatRaw, getInt, getInt, getInt, getInt, getInt, getIntRaw, getLongRaw, getLowBound, getShortRaw, getSize, getSize, isEmpty, rank, set
-
Methods inherited from interface gnu.kawa.util.BoundedHashable
boundedHash
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface gnu.lists.Consumable
consume
-
Methods inherited from interface java.util.List
addAll, addAll, clear, contains, containsAll, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, sort, spliterator, subList, toArray, toArray
-
-
-
-
Method Detail
-
getBufferLength
public int getBufferLength()
- Specified by:
getBufferLength
in classSimpleVector<SeqPosition>
-
copyBuffer
public void copyBuffer(int length)
- Specified by:
copyBuffer
in classSimpleVector<SeqPosition>
-
getBuffer
protected Object getBuffer()
- Specified by:
getBuffer
in classSimpleVector<SeqPosition>
-
setBuffer
protected void setBuffer(Object buffer)
- Specified by:
setBuffer
in classSimpleVector<SeqPosition>
-
getRaw
public SeqPosition getRaw(int index)
Description copied from interface:Array
Given an "effective index", return element as object.- Specified by:
getRaw
in interfaceArray<SeqPosition>
- Overrides:
getRaw
in classAbstractSequence<SeqPosition>
-
getSeq
public AbstractSequence getSeq(int index)
-
getSeqRaw
public AbstractSequence getSeqRaw(int index)
-
getPos
public int getPos(int index)
-
getPosRaw
public int getPosRaw(int index)
-
makeSeqPos
protected static SeqPosition makeSeqPos(AbstractSequence seq, int ipos)
-
setRaw
public void setRaw(int index, SeqPosition value)
Description copied from class:AbstractSequence
Given an "effective index", set selected element.- Specified by:
setRaw
in interfaceArray<SeqPosition>
- Overrides:
setRaw
in classAbstractSequence<SeqPosition>
-
setBuffer
protected void setBuffer(int index, AbstractSequence seq, int ipos)
-
clearBuffer
protected void clearBuffer(int start, int count)
- Specified by:
clearBuffer
in classSimpleVector<SeqPosition>
-
newInstance
protected Nodes.NodeVector newInstance(int newLength)
- Specified by:
newInstance
in classSimpleVector<SeqPosition>
-
writePosition
public void writePosition(SeqPosition seq)
Description copied from interface:PositionConsumer
Consume node at current position. The caller may invalidate or change the position after consume returns, so if the consumer wants to save it, it needs to copy it.- Specified by:
writePosition
in interfacePositionConsumer
-
writePosition
public void writePosition(AbstractSequence seq, int ipos)
Description copied from interface:PositionConsumer
Consume a single position pair. This PositionConsumer may assume the sequence does no reference management; i.e. that copyPos is trivial and releasePos is a no-op. If that is not the case, use consume(TreePosition) instead.- Specified by:
writePosition
in interfacePositionConsumer
-
shift
public void shift(int srcStart, int dstStart, int count)
- Overrides:
shift
in classSimpleVector<SeqPosition>
-
consumePosRange
public void consumePosRange(int iposStart, int iposEnd, Consumer out)
- Overrides:
consumePosRange
in classAbstractSequence<SeqPosition>
-
-