org.apache.hadoop.hive.serde2.objectinspector
Class ReflectionStructObjectInspector

java.lang.Object
  extended by org.apache.hadoop.hive.serde2.objectinspector.ReflectionStructObjectInspector
All Implemented Interfaces:
ObjectInspector, StructObjectInspector

public class ReflectionStructObjectInspector
extends Object
implements StructObjectInspector

ReflectionStructObjectInspector works on struct data that is stored as a native Java object. It will drill down into the Java class to get the fields and construct ObjectInspectors for the fields, if they are not specified. Always use the ObjectInspectorFactory to create new ObjectInspector objects, instead of directly creating an instance of this class.


Nested Class Summary
static class ReflectionStructObjectInspector.MyField
           
 
Nested classes/interfaces inherited from interface org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector
ObjectInspector.Category
 
Constructor Summary
ReflectionStructObjectInspector(Class<?> objectClass, List<ObjectInspector> structFieldObjectInspectors)
           
 
Method Summary
 List<? extends StructField> getAllStructFieldRefs()
          Returns all the fields.
 ObjectInspector.Category getCategory()
          An ObjectInspector must inherit from one of the following interfaces if getCategory() returns: PRIMITIVE: PrimitiveObjectInspector LIST: ListObjectInspector MAP: MapObjectInspector STRUCT: StructObjectInspector
 Object getStructFieldData(Object data, StructField fieldRef)
          returns null for data = null.
 StructField getStructFieldRef(String fieldName)
          Look up a field.
 List<Object> getStructFieldsDataAsList(Object data)
          returns null for data = null.
 String getTypeName()
          Returns the name of the data type that is inspected by this ObjectInspector.
 boolean shouldIgnoreField(String name)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReflectionStructObjectInspector

public ReflectionStructObjectInspector(Class<?> objectClass,
                                       List<ObjectInspector> structFieldObjectInspectors)
Method Detail

getCategory

public ObjectInspector.Category getCategory()
Description copied from interface: ObjectInspector
An ObjectInspector must inherit from one of the following interfaces if getCategory() returns: PRIMITIVE: PrimitiveObjectInspector LIST: ListObjectInspector MAP: MapObjectInspector STRUCT: StructObjectInspector

Specified by:
getCategory in interface ObjectInspector

getTypeName

public String getTypeName()
Description copied from interface: ObjectInspector
Returns the name of the data type that is inspected by this ObjectInspector. This is used to display the type information to the user. For primitive types, the type name is standardized. For other types, the type name can be something like "list", "map", java class names, or user-defined type names similar to typedef.

Specified by:
getTypeName in interface ObjectInspector

shouldIgnoreField

public boolean shouldIgnoreField(String name)

getStructFieldRef

public StructField getStructFieldRef(String fieldName)
Description copied from interface: StructObjectInspector
Look up a field.

Specified by:
getStructFieldRef in interface StructObjectInspector

getAllStructFieldRefs

public List<? extends StructField> getAllStructFieldRefs()
Description copied from interface: StructObjectInspector
Returns all the fields.

Specified by:
getAllStructFieldRefs in interface StructObjectInspector

getStructFieldData

public Object getStructFieldData(Object data,
                                 StructField fieldRef)
Description copied from interface: StructObjectInspector
returns null for data = null.

Specified by:
getStructFieldData in interface StructObjectInspector

getStructFieldsDataAsList

public List<Object> getStructFieldsDataAsList(Object data)
Description copied from interface: StructObjectInspector
returns null for data = null.

Specified by:
getStructFieldsDataAsList in interface StructObjectInspector


Copyright © 2009 The Apache Software Foundation