public class ReflectData extends SpecificData
Modifier and Type | Class and Description |
---|---|
static class |
ReflectData.AllowNull
ReflectData implementation that permits null field values. |
SpecificData.SchemaConstructable
GenericData.Array<T>, GenericData.EnumSymbol, GenericData.Fixed, GenericData.Record, GenericData.StringType
STRING_PROP, STRING_TYPE_STRING
Constructor and Description |
---|
ReflectData() |
ReflectData(ClassLoader classLoader)
Construct with a particular classloader.
|
Modifier and Type | Method and Description |
---|---|
ReflectData |
addStringable(Class c)
Cause a class to be treated as though it had an
Stringable
annotation. |
protected int |
compare(Object o1,
Object o2,
Schema s,
boolean equals)
Comparison implementation.
|
DatumReader |
createDatumReader(Schema schema)
Returns a
DatumReader for this kind of data. |
protected Schema |
createFieldSchema(Field field,
Map<String,Schema> names)
Create a schema for a field.
|
protected Schema |
createSchema(Type type,
Map<String,Schema> names)
Create the schema for a Java type.
|
static ReflectData |
get()
Return the singleton instance.
|
Class |
getClass(Schema schema)
Return the class that implements a schema, or null if none exists.
|
Object |
getField(Object record,
String name,
int position)
Called by
GenericDatumReader.readRecord(java.lang.Object, org.apache.avro.Schema, org.apache.avro.io.ResolvingDecoder) to retrieve a record
field value from a reused instance. |
Protocol |
getProtocol(Class iface)
Return the protocol for a Java interface.
|
protected Schema |
getRecordSchema(Object record)
Called to obtain the schema of a record.
|
protected String |
getSchemaName(Object datum)
Return the schema full name for a datum.
|
protected boolean |
isArray(Object datum)
Called by the default implementation of
GenericData.instanceOf(org.apache.avro.Schema, java.lang.Object) . |
protected boolean |
isBytes(Object datum)
Called by the default implementation of
GenericData.instanceOf(org.apache.avro.Schema, java.lang.Object) . |
protected boolean |
isRecord(Object datum)
Called by the default implementation of
GenericData.instanceOf(org.apache.avro.Schema, java.lang.Object) . |
static Schema |
makeNullable(Schema schema)
Create and return a union of the null schema and the provided schema.
|
void |
setField(Object record,
String name,
int position,
Object o)
Called by
GenericDatumReader.readRecord(java.lang.Object, org.apache.avro.Schema, org.apache.avro.io.ResolvingDecoder) to set a record fields
value to a record instance. |
boolean |
validate(Schema schema,
Object datum)
Returns true if a Java datum matches a schema.
|
createFixed, getClassLoader, getClassName, getEnumSchema, getSchema, isEnum, newInstance, newRecord
compare, createFixed, deepCopy, getDefaultValue, getField, getFixedSchema, getRecordState, hashCode, hashCodeAdd, induce, instanceOf, isBoolean, isDouble, isFixed, isFloat, isInteger, isLong, isMap, isString, resolveUnion, setField, setStringType, toString, toString
public ReflectData()
public ReflectData(ClassLoader classLoader)
public static ReflectData get()
public ReflectData addStringable(Class c)
Stringable
annotation.public DatumReader createDatumReader(Schema schema)
GenericData
DatumReader
for this kind of data.createDatumReader
in class SpecificData
public void setField(Object record, String name, int position, Object o)
GenericData
GenericDatumReader.readRecord(java.lang.Object, org.apache.avro.Schema, org.apache.avro.io.ResolvingDecoder)
to set a record fields
value to a record instance. The default implementation is for IndexedRecord
.setField
in class GenericData
public Object getField(Object record, String name, int position)
GenericData
GenericDatumReader.readRecord(java.lang.Object, org.apache.avro.Schema, org.apache.avro.io.ResolvingDecoder)
to retrieve a record
field value from a reused instance. The default implementation is for
IndexedRecord
.getField
in class GenericData
protected boolean isRecord(Object datum)
GenericData
GenericData.instanceOf(org.apache.avro.Schema, java.lang.Object)
.isRecord
in class GenericData
protected boolean isArray(Object datum)
GenericData
GenericData.instanceOf(org.apache.avro.Schema, java.lang.Object)
.isArray
in class GenericData
protected boolean isBytes(Object datum)
GenericData
GenericData.instanceOf(org.apache.avro.Schema, java.lang.Object)
.isBytes
in class GenericData
protected Schema getRecordSchema(Object record)
GenericData
getRecordSchema
in class GenericData
public boolean validate(Schema schema, Object datum)
GenericData
validate
in class GenericData
public Class getClass(Schema schema)
SpecificData
getClass
in class SpecificData
protected Schema createSchema(Type type, Map<String,Schema> names)
SpecificData
createSchema
in class SpecificData
public static Schema makeNullable(Schema schema)
protected Schema createFieldSchema(Field field, Map<String,Schema> names)
public Protocol getProtocol(Class iface)
Note that this requires that Paranamer is run over compiled interface declarations, since Java 6 reflection does not provide access to method parameter names. See Avro's build.xml for an example.
getProtocol
in class SpecificData
protected String getSchemaName(Object datum)
GenericData
GenericData.resolveUnion(Schema,Object)
.getSchemaName
in class GenericData
protected int compare(Object o1, Object o2, Schema s, boolean equals)
GenericData
compare
in class SpecificData
Copyright © 2009-2013 The Apache Software Foundation. All Rights Reserved.