org.apache.avro.reflect
Class ReflectDatumReader

java.lang.Object
  extended by org.apache.avro.generic.GenericDatumReader<Object>
      extended by org.apache.avro.reflect.ReflectDatumReader
All Implemented Interfaces:
DatumReader<Object>
Direct Known Subclasses:
SpecificDatumReader

public class ReflectDatumReader
extends GenericDatumReader<Object>

DatumReader for existing classes via Java reflection.


Constructor Summary
ReflectDatumReader()
           
ReflectDatumReader(Class c)
           
ReflectDatumReader(Schema root)
           
 
Method Summary
protected  void addField(Object record, String name, int position, Object o)
          Called by the default implementation of GenericDatumReader.readRecord(java.lang.Object, org.apache.avro.Schema, org.apache.avro.Schema, org.apache.avro.io.Decoder) to add a record fields value to a record instance.
protected  Object createEnum(String symbol, Schema schema)
          Called to create an enum value.
protected  Object createFixed(Object old, Schema schema)
          Called to create an fixed value.
protected  Object getField(Object record, String name, int position)
          Called by the default implementation of GenericDatumReader.readRecord(java.lang.Object, org.apache.avro.Schema, org.apache.avro.Schema, org.apache.avro.io.Decoder) to retrieve a record field value from a reused instance.
protected static Object newInstance(Class c)
          Create a new instance of the named class.
protected  Object newRecord(Object old, Schema schema)
          Called to create new record instances.
protected  void removeField(Object record, String name, int position)
          Called by the default implementation of GenericDatumReader.readRecord(java.lang.Object, org.apache.avro.Schema, org.apache.avro.Schema, org.apache.avro.io.Decoder) to remove a record field value from a reused instance.
 
Methods inherited from class org.apache.avro.generic.GenericDatumReader
addToArray, addToMap, createBytes, createFixed, createString, defaultFieldValue, newArray, newMap, peekArray, read, read, readArray, readBytes, readEnum, readFixed, readMap, readRecord, readString, setExpected, setSchema, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReflectDatumReader

public ReflectDatumReader()

ReflectDatumReader

public ReflectDatumReader(Class c)

ReflectDatumReader

public ReflectDatumReader(Schema root)
Method Detail

newRecord

protected Object newRecord(Object old,
                           Schema schema)
Description copied from class: GenericDatumReader
Called to create new record instances. Subclasses may override to use a different record implementation. The returned instance must conform to the schema provided. If the old object contains fields not present in the schema, they should either be removed from the old object, or it should create a new instance that conforms to the schema. By default, this returns a GenericData.Record.

Overrides:
newRecord in class GenericDatumReader<Object>

addField

protected void addField(Object record,
                        String name,
                        int position,
                        Object o)
Description copied from class: GenericDatumReader
Called by the default implementation of GenericDatumReader.readRecord(java.lang.Object, org.apache.avro.Schema, org.apache.avro.Schema, org.apache.avro.io.Decoder) to add a record fields value to a record instance. The default implementation is for GenericRecord.

Overrides:
addField in class GenericDatumReader<Object>

getField

protected Object getField(Object record,
                          String name,
                          int position)
Description copied from class: GenericDatumReader
Called by the default implementation of GenericDatumReader.readRecord(java.lang.Object, org.apache.avro.Schema, org.apache.avro.Schema, org.apache.avro.io.Decoder) to retrieve a record field value from a reused instance. The default implementation is for GenericRecord.

Overrides:
getField in class GenericDatumReader<Object>

removeField

protected void removeField(Object record,
                           String name,
                           int position)
Description copied from class: GenericDatumReader
Called by the default implementation of GenericDatumReader.readRecord(java.lang.Object, org.apache.avro.Schema, org.apache.avro.Schema, org.apache.avro.io.Decoder) to remove a record field value from a reused instance. The default implementation is for GenericRecord.

Overrides:
removeField in class GenericDatumReader<Object>

createEnum

protected Object createEnum(String symbol,
                            Schema schema)
Description copied from class: GenericDatumReader
Called to create an enum value. May be overridden for alternate enum representations. By default, returns the symbol as a String.

Overrides:
createEnum in class GenericDatumReader<Object>

createFixed

protected Object createFixed(Object old,
                             Schema schema)
Description copied from class: GenericDatumReader
Called to create an fixed value. May be overridden for alternate fixed representations. By default, returns GenericFixed.

Overrides:
createFixed in class GenericDatumReader<Object>

newInstance

protected static Object newInstance(Class c)
Create a new instance of the named class.



Copyright © 2009 The Apache Software Foundation