## org.h2.value
Class ValueBytes

    java.lang.Object
      org.h2.value.Value
          org.h2.value.ValueBytes

Direct Known Subclasses:
  ValueJavaObject

    public class ValueBytes

extends Value

Implementation of the BINARY data type. It is also the base class for ValueJavaObject.

Nested Class Summary

Nested classes/interfaces inherited from class org.h2.value.Value
`Value.ValueBlob, Value.ValueClob`

Field Summary
`protected int` `hash` The hash code.
`protected byte[]` `value` The value.

Fields inherited from class org.h2.value.Value
`ARRAY, BLOB, BOOLEAN, BYTE, BYTES, CLOB, DATE, DECIMAL, DOUBLE, FLOAT, GEOMETRY, INT, JAVA_OBJECT, LONG, NULL, RESULT_SET, SHORT, STRING, STRING_FIXED, STRING_IGNORECASE, TIME, TIMESTAMP, TIMESTAMP_UTC, TYPE_COUNT, UNKNOWN, UUID`

Constructor Summary
`protected` `ValueBytes(byte[] v)`

Method Summary
`protected int` `compareSecure(Value v, CompareMode mode)` Compare the value with another value of the same type.
`Value` `convertPrecision(long precision, boolean force)` Convert the precision to the requested value.
`boolean` `equals(java.lang.Object other)` Check if the two values have the same hash code.
`static ValueBytes` `get(byte[] b)` Get or create a bytes value for the given byte array.
`byte[]` `getBytes()`
`byte[]` `getBytesNoCopy()`
`int` `getDisplaySize()` Get the display size in characters.
`int` `getMemory()` Get the memory used by this object.
`static ValueBytes` `getNoCopy(byte[] b)` Get or create a bytes value for the given byte array.
`java.lang.Object` `getObject()` Get the value as an object.
`long` `getPrecision()` Get the precision.
`java.lang.String` `getSQL()` Get the SQL expression for this value.
`java.lang.String` `getString()` Get the value as a string.
`int` `getType()` Get the value type.
`int` `hashCode()`
`void` `set(java.sql.PreparedStatement prep, int parameterIndex)` Set the value as a parameter in a prepared statement.

Methods inherited from class org.h2.value.Value

`add, checkPrecision, clearCache, compareTo, compareTypeSafe, convertScale, convertTo, copy, copyToResult, copyToTemp, divide, getBigDecimal, getBoolean, getByte, getDataHandler, getDate, getDouble, getFloat, getHigherOrder, getInputStream, getInt, getLong, getReader, getResultSet, getScale, getShort, getSignum, getSmall, getTableId, getTime, getTimestamp, getTraceSQL, isLinkedToTable, modulus, multiply, negate, remove, subtract, throwUnsupportedExceptionForType, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### value

    protected byte[] value

  The value.

### hash

    protected int hash

  The hash code.

Constructor Detail

### ValueBytes

    protected ValueBytes(byte[] v)

Method Detail

### get

    public static ValueBytes get(byte[] b)

  Get or create a bytes value for the given byte array. Clone the data.

  Parameters:
    `b` - the byte array
  Returns:
    the value

### getNoCopy

    public static ValueBytes getNoCopy(byte[] b)

  Get or create a bytes value for the given byte array. Do not clone the date.

  Parameters:
    `b` - the byte array
  Returns:
    the value

### getType

    public int getType()

  Description copied from class: `Value`
  Get the value type.

  Specified by:
    `getType` in class `Value`
  Returns:
    the type

### getSQL

    public java.lang.String getSQL()

  Description copied from class: `Value`
  Get the SQL expression for this value.

  Specified by:
    `getSQL` in class `Value`
  Returns:
    the SQL expression

### getBytesNoCopy

    public byte[] getBytesNoCopy()

  Overrides:
    `getBytesNoCopy` in class `Value`

### getBytes

    public byte[] getBytes()

  Overrides:
    `getBytes` in class `Value`

### compareSecure

    protected int compareSecure(Value v,
                                CompareMode mode)

  Description copied from class: `Value`
  Compare the value with another value of the same type.

  Specified by:
    `compareSecure` in class `Value`
  Parameters:
    `v` - the other value
    `mode` - the compare mode
  Returns:
    0 if both values are equal, -1 if the other value is smaller, and 1 otherwise

### getString

    public java.lang.String getString()

  Description copied from class: `Value`
  Get the value as a string.

  Specified by:
    `getString` in class `Value`
  Returns:
    the string

### getPrecision

    public long getPrecision()

  Description copied from class: `Value`
  Get the precision.

  Specified by:
    `getPrecision` in class `Value`
  Returns:
    the precision

### hashCode

    public int hashCode()

  Specified by:
    `hashCode` in class `Value`

### getObject

    public java.lang.Object getObject()

  Description copied from class: `Value`
  Get the value as an object.

  Specified by:
    `getObject` in class `Value`
  Returns:
    the object

### set

    public void set(java.sql.PreparedStatement prep,
                    int parameterIndex)
             throws java.sql.SQLException

  Description copied from class: `Value`
  Set the value as a parameter in a prepared statement.

  Specified by:
    `set` in class `Value`
  Parameters:
    `prep` - the prepared statement
    `parameterIndex` - the parameter index
  Throws:
    `java.sql.SQLException`

### getDisplaySize

    public int getDisplaySize()

  Description copied from class: `Value`
  Get the display size in characters.

  Specified by:
    `getDisplaySize` in class `Value`
  Returns:
    the display size

### getMemory

    public int getMemory()

  Description copied from class: `Value`
  Get the memory used by this object.

  Overrides:
    `getMemory` in class `Value`
  Returns:
    the memory used in bytes

### equals

    public boolean equals(java.lang.Object other)

  Description copied from class: `Value`
  Check if the two values have the same hash code. No data conversion is made; this method returns false if the other object is not of the same class. For some values, compareTo may return 0 even if equals return false. Example: ValueDecimal 0.0 and 0.00.

  Specified by:
    `equals` in class `Value`
  Parameters:
    `other` - the other value
  Returns:
    true if they are equal

### convertPrecision

    public Value convertPrecision(long precision,
                                  boolean force)

  Description copied from class: `Value`
  Convert the precision to the requested value. The precision of the returned value may be somewhat larger than requested, because values with a fixed precision are not truncated.

  Overrides:
    `convertPrecision` in class `Value`
  Parameters:
    `precision` - the new precision
    `force` - true if losing numeric precision is allowed
  Returns:
    the new value