Class Value

java.lang.Object
org.apache.accumulo.core.data.Value
All Implemented Interfaces:
Comparable<Object>, org.apache.hadoop.io.Writable, org.apache.hadoop.io.WritableComparable<Object>

public class Value
extends Object
implements org.apache.hadoop.io.WritableComparable<Object>
A byte sequence that is usable as a key or value. Based on BytesWritable only this class is NOT resizable and DOES NOT distinguish between the size of the sequence and the current capacity as BytesWritable does. Hence it is comparatively 'immutable'.
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  Value.Comparator
    A Comparator optimized for Value.
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected byte[] value  
  • Constructor Summary

    Constructors
    Constructor Description
    Value()
    Creates a zero-size sequence.
    Value​(byte[] bytes)
    Creates a Value using a byte array as the initial value.
    Value​(byte[] bytes, boolean copy)
    Creates a Value using a byte array as the initial value.
    Value​(byte[] newData, int offset, int length)
    Creates a Value based on a range in a byte array.
    Value​(CharSequence cs)
    Creates a value using the UTF-8 encoding of the CharSequence
    Value​(ByteBuffer bytes)
    Creates a Value using the bytes in a buffer as the initial value.
    Value​(Value ibw)
    Creates a new Value based on another.
    Value​(org.apache.hadoop.io.Text text)
    Creates a Value using the bytes of the Text.
  • Method Summary

    Modifier and Type Method Description
    int compareTo​(byte[] that)
    Compares the bytes in this object to the specified byte array
    int compareTo​(Object right_obj)
    Define the sort order of the BytesWritable.
    boolean contentEquals​(byte[] right_obj)
    Compares the bytes in this object to the specified byte array
    void copy​(byte[] b)
    Sets the byte data of this value.
    boolean equals​(Object right_obj)  
    byte[] get()
    Gets the byte data of this value.
    int getSize()
    Gets the size of this value.
    int hashCode()  
    void readFields​(DataInput in)  
    void set​(byte[] b)
    Sets the byte data of this value.
    String toString()  
    void write​(DataOutput out)  

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • value

      protected byte[] value
  • Constructor Details

    • Value

      public Value()
      Creates a zero-size sequence.
    • Value

      public Value​(CharSequence cs)
      Creates a value using the UTF-8 encoding of the CharSequence
      Parameters:
      cs - may not be null
      Since:
      1.8.0
    • Value

      public Value​(org.apache.hadoop.io.Text text)
      Creates a Value using the bytes of the Text. Makes a copy, does not use the byte array from the Text.
      Parameters:
      text - may not be null
      Since:
      1.8.0
    • Value

      public Value​(byte[] bytes)
      Creates a Value using a byte array as the initial value. The given byte array is used directly as the backing array, so later changes made to the array reflect into the new Value.
      Parameters:
      bytes - May not be null
    • Value

      public Value​(ByteBuffer bytes)
      Creates a Value using the bytes in a buffer as the initial value. Makes a defensive copy.
      Parameters:
      bytes - May not be null
    • Value

      public Value​(byte[] bytes, boolean copy)
      Creates a Value using a byte array as the initial value.
      Parameters:
      bytes - may not be null
      copy - false to use the given byte array directly as the backing array, true to force a copy
    • Value

      public Value​(Value ibw)
      Creates a new Value based on another.
      Parameters:
      ibw - may not be null.
    • Value

      public Value​(byte[] newData, int offset, int length)
      Creates a Value based on a range in a byte array. A copy of the bytes is always made.
      Parameters:
      newData - source of copy, may not be null
      offset - the offset in newData to start with for value bytes
      length - the number of bytes in the value
      Throws:
      IndexOutOfBoundsException - if offset or length are invalid
  • Method Details

    • get

      public byte[] get()
      Gets the byte data of this value.
      Returns:
      the underlying byte array directly.
    • set

      public void set​(byte[] b)
      Sets the byte data of this value. The given byte array is used directly as the backing array, so later changes made to the array reflect into this Value.
      Parameters:
      b - may not be null
    • copy

      public void copy​(byte[] b)
      Sets the byte data of this value. The given byte array is copied.
      Parameters:
      b - may not be null
    • getSize

      public int getSize()
      Gets the size of this value.
      Returns:
      size in bytes
    • readFields

      public void readFields​(DataInput in) throws IOException
      Specified by:
      readFields in interface org.apache.hadoop.io.Writable
      Throws:
      IOException
    • write

      public void write​(DataOutput out) throws IOException
      Specified by:
      write in interface org.apache.hadoop.io.Writable
      Throws:
      IOException
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • compareTo

      public int compareTo​(Object right_obj)
      Define the sort order of the BytesWritable.
      Specified by:
      compareTo in interface Comparable<Object>
      Parameters:
      right_obj - The other bytes writable
      Returns:
      Positive if left is bigger than right, 0 if they are equal, and negative if left is smaller than right.
    • compareTo

      public int compareTo​(byte[] that)
      Compares the bytes in this object to the specified byte array
      Returns:
      Positive if left is bigger than right, 0 if they are equal, and negative if left is smaller than right.
    • equals

      public boolean equals​(Object right_obj)
      Overrides:
      equals in class Object
    • contentEquals

      public boolean contentEquals​(byte[] right_obj)
      Compares the bytes in this object to the specified byte array
      Returns:
      true if the contents of this Value is equivalent to the supplied byte array
      Since:
      2.0.0
    • toString

      public String toString()
      Overrides:
      toString in class Object