org.apache.hadoop.hive.serde2.lazybinary
Class LazyBinaryObject<OI extends ObjectInspector>

java.lang.Object
  extended by org.apache.hadoop.hive.serde2.lazybinary.LazyBinaryObject<OI>
Direct Known Subclasses:
LazyBinaryNonPrimitive, LazyBinaryPrimitive

public abstract class LazyBinaryObject<OI extends ObjectInspector>
extends Object

LazyBinaryObject stores an object in a binary format in a byte[]. For example, a double takes four bytes. A LazyBinaryObject can represent any primitive object or hierarchical object like string, list, map or struct.


Constructor Summary
protected LazyBinaryObject(OI oi)
          Create a LazyBinaryObject.
 
Method Summary
abstract  Object getObject()
          If the LazyBinaryObject 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 LazyBinaryObject.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LazyBinaryObject

protected LazyBinaryObject(OI oi)
Create a LazyBinaryObject.

Parameters:
oi - Derived classes can access meta information about this Lazy Binary Object (e.g, length, null-bits) from it.
Method Detail

init

public abstract void init(ByteArrayRef bytes,
                          int start,
                          int length)
Set the data for this LazyBinaryObject. 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. Never call this function if the object represent a null!!!

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 LazyBinaryObject is a primitive Object, then deserialize it and return the actual primitive Object. Otherwise (string, list, map, struct), return this.


hashCode

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


Copyright © 2009 The Apache Software Foundation