org.apache.hadoop.hive.serde2.lazy
Class LazyObject<OI extends ObjectInspector>

java.lang.Object
  extended by org.apache.hadoop.hive.serde2.lazy.LazyObject<OI>
Direct Known Subclasses:
LazyNonPrimitive, LazyPrimitive

public abstract class LazyObject<OI extends ObjectInspector>
extends Object

LazyObject stores an object in a range of bytes in a byte[]. A LazyObject can represent any primitive object or hierarchical object like array, map or struct.


Constructor Summary
protected LazyObject(OI oi)
          Create a LazyObject.
 
Method Summary
abstract  Object getObject()
          If the LazyObject is a primitive Object, then deserialize it and return the actual primitive Object.
abstract  int hashCode()
           
abstract  void init(ByteArrayRef bytes, int start, int length)
          Set the data for this LazyObject.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LazyObject

protected LazyObject(OI oi)
Create a LazyObject.

Parameters:
oi - Derived classes can access meta information about this Lazy Object (e.g, separator, nullSequence, escaper) from it.
Method Detail

init

public abstract void init(ByteArrayRef bytes,
                          int start,
                          int length)
Set the data for this LazyObject. We take ByteArrayRef instead of byte[] so that we will be able to drop the reference to byte[] by a single assignment. The ByteArrayRef object can be reused across multiple rows.

Parameters:
bytes - The wrapper of the byte[].
start - The start position inside the bytes.
length - The length of the data, starting from "start"
See Also:
ByteArrayRef

getObject

public abstract Object getObject()
If the LazyObject is a primitive Object, then deserialize it and return the actual primitive Object. Otherwise (array, map, struct), return this.


hashCode

public abstract int hashCode()
Overrides:
hashCode in class Object


Copyright © 2009 The Apache Software Foundation