@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, wait
forEachRemaining
protected 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.