org.apache.hadoop.yarn.server.timeline
Class GenericObjectMapper

java.lang.Object
  extended by org.apache.hadoop.yarn.server.timeline.GenericObjectMapper

@InterfaceAudience.Private
@InterfaceStability.Unstable
public class GenericObjectMapper
extends Object

A utility class providing methods for serializing and deserializing objects. The write(Object) and read(byte[]) methods are used by the LeveldbTimelineStore to store and retrieve arbitrary JSON, while the writeReverseOrderedLong(long) and readReverseOrderedLong(byte[], int) methods are used to sort entities in descending start time order.


Field Summary
static org.codehaus.jackson.map.ObjectReader OBJECT_READER
           
static org.codehaus.jackson.map.ObjectWriter OBJECT_WRITER
           
 
Constructor Summary
GenericObjectMapper()
           
 
Method Summary
static Object read(byte[] b)
          Deserializes an Object from a byte array created with write(Object).
static Object read(byte[] b, int offset)
          Deserializes an Object from a byte array at a specified offset, assuming the bytes were created with write(Object).
static long readReverseOrderedLong(byte[] b, int offset)
          Reads 8 bytes from an array starting at the specified offset and converts them to a long.
static byte[] write(Object o)
          Serializes an Object into a byte array.
static byte[] writeReverseOrderedLong(long l)
          Converts a long to a 8-byte array so that lexicographic ordering of the produced byte arrays sort the longs in descending order.
static byte[] writeReverseOrderedLong(long l, byte[] b, int offset)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OBJECT_READER

public static final org.codehaus.jackson.map.ObjectReader OBJECT_READER

OBJECT_WRITER

public static final org.codehaus.jackson.map.ObjectWriter OBJECT_WRITER
Constructor Detail

GenericObjectMapper

public GenericObjectMapper()
Method Detail

write

public static byte[] write(Object o)
                    throws IOException
Serializes an Object into a byte array. Along with read(byte[]), can be used to serialize an Object and deserialize it into an Object of the same type without needing to specify the Object's type, as long as it is one of the JSON-compatible objects understood by ObjectMapper.

Parameters:
o - An Object
Returns:
A byte array representation of the Object
Throws:
IOException - if there is a write error

read

public static Object read(byte[] b)
                   throws IOException
Deserializes an Object from a byte array created with write(Object).

Parameters:
b - A byte array
Returns:
An Object
Throws:
IOException - if there is a read error

read

public static Object read(byte[] b,
                          int offset)
                   throws IOException
Deserializes an Object from a byte array at a specified offset, assuming the bytes were created with write(Object).

Parameters:
b - A byte array
offset - Offset into the array
Returns:
An Object
Throws:
IOException - if there is a read error

writeReverseOrderedLong

public static byte[] writeReverseOrderedLong(long l)
Converts a long to a 8-byte array so that lexicographic ordering of the produced byte arrays sort the longs in descending order.

Parameters:
l - A long
Returns:
A byte array

writeReverseOrderedLong

public static byte[] writeReverseOrderedLong(long l,
                                             byte[] b,
                                             int offset)

readReverseOrderedLong

public static long readReverseOrderedLong(byte[] b,
                                          int offset)
Reads 8 bytes from an array starting at the specified offset and converts them to a long. The bytes are assumed to have been created with writeReverseOrderedLong(long).

Parameters:
b - A byte array
offset - An offset into the byte array
Returns:
A long


Copyright © 2014 Apache Software Foundation. All Rights Reserved.