@InterfaceAudience.Public public class StructIterator extends Object implements Iterator<Object>
Iterator over encoded Struct members.
This iterates over each serialized Struct field from the specified
DataTypes<?>[] definition. It allows you to read the field or skip
over its serialized bytes using next() and skip(),
respectively. This is in contrast to the Struct method which allow
you to Struct.decode(PositionedByteRange) or
Struct.skip(PositionedByteRange) over the entire Struct at
once.
This iterator may also be used to read bytes from any Struct for
which the specified DataType<?>[] is a prefix. For example, if the
specified Struct definition has a RawInteger and a
RawStringTerminated field, you may parse the serialized output
of a Struct whose fields are RawInteger,
RawStringTerminated, and RawBytes. The iterator would
return a number followed by a String. The trailing byte[]
would be ignored.
| Modifier and Type | Field and Description |
|---|---|
protected int |
idx |
protected PositionedByteRange |
src |
protected DataType[] |
types |
| Constructor and Description |
|---|
StructIterator(PositionedByteRange src,
DataType[] types)
Construct
StructIterator over the values encoded in src
using the specified types definition. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
hasNext() |
Object |
next() |
void |
remove() |
int |
skip()
Bypass the next encoded value.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforEachRemainingprotected final PositionedByteRange src
protected int idx
public StructIterator(PositionedByteRange src, DataType[] types)
StructIterator over the values encoded in src
using the specified types definition.src - The buffer from which to read encoded values.types - The sequence of types to use as the schema for this
Struct.public int skip()
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.