org.apache.hadoop.hive.serde2.lazy
Class LazyInteger

java.lang.Object
  extended by org.apache.hadoop.hive.serde2.lazy.LazyPrimitive<Integer>
      extended by org.apache.hadoop.hive.serde2.lazy.LazyInteger
All Implemented Interfaces:
LazyObject

public class LazyInteger
extends LazyPrimitive<Integer>

LazyObject for storing a value of Integer.

Part of the code is adapted from Apache Harmony Project. As with the specification, this implementation relied on code laid out in Henry S. Warren, Jr.'s Hacker's Delight, (Addison Wesley, 2002) as well as The Aggregate's Magic Algorithms.


Constructor Summary
LazyInteger()
           
 
Method Summary
 void init(ByteArrayRef bytes, int start, int length)
          Set the data for this LazyObject.
static int parseInt(byte[] bytes, int start, int length)
          Parses the string argument as if it was an int value and returns the result.
static int parseInt(byte[] bytes, int start, int length, int radix)
          Parses the string argument as if it was an int value and returns the result.
 
Methods inherited from class org.apache.hadoop.hive.serde2.lazy.LazyPrimitive
getObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LazyInteger

public LazyInteger()
Method Detail

init

public void init(ByteArrayRef bytes,
                 int start,
                 int length)
Description copied from interface: LazyObject
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

parseInt

public static int parseInt(byte[] bytes,
                           int start,
                           int length)
                    throws NumberFormatException
Parses the string argument as if it was an int value and returns the result. Throws NumberFormatException if the string does not represent an int quantity.

Parameters:
bytes -
start -
length - a UTF-8 encoded string representation of an int quantity.
Returns:
int the value represented by the argument
Throws:
NumberFormatException - if the argument could not be parsed as an int quantity.

parseInt

public static int parseInt(byte[] bytes,
                           int start,
                           int length,
                           int radix)
                    throws NumberFormatException
Parses the string argument as if it was an int value and returns the result. Throws NumberFormatException if the string does not represent an int quantity. The second argument specifies the radix to use when parsing the value.

Parameters:
bytes -
start -
length - a UTF-8 encoded string representation of an int quantity.
radix - the base to use for conversion.
Returns:
the value represented by the argument
Throws:
NumberFormatException - if the argument could not be parsed as an int quantity.


Copyright © 2009 The Apache Software Foundation