|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.avro.io.Decoder
org.apache.avro.io.ParsingDecoder
org.apache.avro.io.JsonDecoder
public class JsonDecoder
A Decoder for Avro's JSON data encoding.
| Field Summary |
|---|
| Fields inherited from class org.apache.avro.io.ParsingDecoder |
|---|
parser |
| Constructor Summary | |
|---|---|
JsonDecoder(Schema schema,
InputStream in)
Creates a new JsonDecoder based on an InputStream. |
|
JsonDecoder(Schema schema,
String in)
Creates a new JsonDecoder based on a String input. |
|
| Method Summary | |
|---|---|
long |
arrayNext()
Processes the next block of an array andreturns the number of items in the block and let's the caller read those items. |
Symbol |
doAction(Symbol input,
Symbol top)
Handle the action symbol top when the input is sought to be taken off the stack. |
void |
init(InputStream in)
Start reading against a different input stream. |
void |
init(String in)
Re-initializes to start reading from a new String input. |
long |
mapNext()
Processes the next block of map entries and returns the count of them. |
long |
readArrayStart()
Reads and returns the size of the first block of an array. |
boolean |
readBoolean()
Reads a boolean value written by Encoder.writeBoolean(boolean). |
ByteBuffer |
readBytes(ByteBuffer old)
Reads a byte-string written by Encoder.writeBytes(java.nio.ByteBuffer). |
double |
readDouble()
Reads a double written by Encoder.writeDouble(double). |
int |
readEnum()
Reads an enumeration. |
void |
readFixed(byte[] bytes,
int start,
int len)
Reads fixed sized binary object. |
float |
readFloat()
Reads a float written by Encoder.writeFloat(float). |
int |
readIndex()
Reads the tag of a union written by Encoder.writeIndex(int). |
int |
readInt()
Reads an integer written by Encoder.writeInt(int). |
long |
readLong()
Reads a long written by Encoder.writeLong(long). |
long |
readMapStart()
Reads and returns the size of the next block of map-entries. |
void |
readNull()
"Reads" a null value. |
Utf8 |
readString(Utf8 old)
Reads a char-string written by Encoder.writeString(org.apache.avro.util.Utf8). |
void |
setItemCount(long itemCount)
|
long |
skipArray()
Used for quickly skipping through an array. |
void |
skipBytes()
Discards a byte-string written by Encoder.writeBytes(java.nio.ByteBuffer). |
protected void |
skipFixed()
|
void |
skipFixed(int length)
Discards fixed sized binary object. |
long |
skipMap()
Support for quickly skipping through a map similar to Decoder.skipArray(). |
void |
skipString()
Discards a char-string written by Encoder.writeString(org.apache.avro.util.Utf8). |
| Methods inherited from class org.apache.avro.io.ParsingDecoder |
|---|
skipAction, skipTopSymbol |
| Methods inherited from class org.apache.avro.io.Decoder |
|---|
readFixed |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public JsonDecoder(Schema schema,
InputStream in)
throws IOException
IOException
public JsonDecoder(Schema schema,
String in)
throws IOException
IOException| Method Detail |
|---|
public void init(InputStream in)
throws IOException
Decoder
init in class DecoderIOException
public void init(String in)
throws IOException
IOException
public void readNull()
throws IOException
Decoder
readNull in class DecoderIOException
public boolean readBoolean()
throws IOException
DecoderEncoder.writeBoolean(boolean).
readBoolean in class DecoderIOException
public int readInt()
throws IOException
DecoderEncoder.writeInt(int).
readInt in class DecoderIOException
public long readLong()
throws IOException
DecoderEncoder.writeLong(long).
readLong in class DecoderIOException
public float readFloat()
throws IOException
DecoderEncoder.writeFloat(float).
readFloat in class DecoderIOException
public double readDouble()
throws IOException
DecoderEncoder.writeDouble(double).
readDouble in class DecoderIOException
public Utf8 readString(Utf8 old)
throws IOException
DecoderEncoder.writeString(org.apache.avro.util.Utf8).
readString in class DecoderIOException
public void skipString()
throws IOException
DecoderEncoder.writeString(org.apache.avro.util.Utf8).
skipString in class DecoderIOException
public ByteBuffer readBytes(ByteBuffer old)
throws IOException
DecoderEncoder.writeBytes(java.nio.ByteBuffer).
if old is not null and has sufficient capacity to take in
the bytes being read, the bytes are returned in old.
readBytes in class DecoderIOException
public void skipBytes()
throws IOException
DecoderEncoder.writeBytes(java.nio.ByteBuffer).
skipBytes in class DecoderIOException
public void readFixed(byte[] bytes,
int start,
int len)
throws IOException
Decoder
readFixed in class Decoderbytes - The buffer to store the contents being read.start - The position where the data needs to be written.len - The size of the binary object.
IOException
public void skipFixed(int length)
throws IOException
Decoder
skipFixed in class Decoderlength - The size of the binary object to be skipped.
IOException
protected void skipFixed()
throws IOException
skipFixed in class ParsingDecoderIOException
public int readEnum()
throws IOException
Decoder
readEnum in class DecoderIOException
public long readArrayStart()
throws IOException
DecoderDecoder.arrayNext() to find out the number of items in the next
block. The typical pattern for consuming an array looks like:
for(long i = in.readArrayStart(); i != 0; i = in.arrayNext()) {
for (long j = 0; j < i; j++) {
read next element of the array;
}
}
readArrayStart in class DecoderIOException
public long arrayNext()
throws IOException
Decoder
arrayNext in class DecoderIOException
public long skipArray()
throws IOException
DecoderDecoder.readArrayStart()), but you can't mix the two on the
same array.
This method will skip through as many items as it can, all of
them if possible. It will return zero if there are no more
items to skip through, or an item count if it needs the client's
help in skipping. The typical usage pattern is:
for(long i = in.skipArray(); i != 0; i = i.skipArray()) {
for (long j = 0; j < i; j++) {
read and discard the next element of the array;
}
}
Note that this method can automatically skip through items if a
byte-count is found in the underlying data, or if a schema has
been provided to the implementation, but
otherwise the client will have to skip through items itself.
skipArray in class DecoderIOException
public long readMapStart()
throws IOException
DecoderDecoder.readArrayStart().
As an example, let's say you want to read a map of records,
the record consisting of an Long field and a Boolean field.
Your code would look something like this:
Mapm = new HashMap (); Record reuse = new Record(); for(long i = in.readMapStart(); i != 0; i = in.readMapNext()) { for (long j = 0; j < i; j++) { String key = in.readString(); reuse.intField = in.readInt(); reuse.boolField = in.readBoolean(); m.put(key, reuse); } }
readMapStart in class DecoderIOException
public long mapNext()
throws IOException
DecoderDecoder.arrayNext(). See Decoder.readMapStart() for details.
mapNext in class DecoderIOException
public long skipMap()
throws IOException
DecoderDecoder.skipArray().
As an example, let's say you want to skip a map of records,
the record consisting of an Long field and a Boolean field.
Your code would look something like this:
for(long i = in.skipMap(); i != 0; i = in.skipMap()) {
for (long j = 0; j < i; j++) {
in.skipString(); // Discard key
in.readInt(); // Discard int-field of value
in.readBoolean(); // Discard boolean-field of value
}
}
skipMap in class DecoderIOException
public int readIndex()
throws IOException
DecoderEncoder.writeIndex(int).
readIndex in class DecoderIOException
public Symbol doAction(Symbol input,
Symbol top)
throws IOException
Parser.ActionHandler
doAction in interface Parser.ActionHandlerinput - The input symbol from the caller of advancetop - The symbol at the top the stack.
IOException
public void setItemCount(long itemCount)
throws IOException
IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||