Package db

# Class BinaryField

java.lang.Object
db.Field
db.BinaryField

All Implemented Interfaces:
  `Comparable<Field>`

Direct Known Subclasses:
  `BinaryCodedField`, `FixedField10`

public class BinaryField extends Field
`BinaryField` provides a wrapper for variable length binary data which is read or written to a Record.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class db.Field

  `Field.UnsupportedFieldException`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected byte[]`
  `data`
  `static final BinaryField`
  `INSTANCE`
  Instance intended for defining a `Table` `Schema`

  ### Fields inherited from class db.Field

  `EMPTY_ARRAY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BinaryField()`
  Construct a binary data field with an initial value of null.
  `BinaryField(byte[] data)`
  Construct a binary data field with an initial value of data.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `compareTo(Field o)`
  Compares this Field with another Field for order.
  `BinaryField`
  `copyField()`
  Create new instance of this field with the same value.
  `boolean`
  `equals(Object obj)`
  Determine if the specified Object is another Field which has the same type and value as this Field.
  `byte[]`
  `getBinaryData()`
  Get data as a byte array.
  `String`
  `getValueAsString()`
  Get field value as a formatted string
  `static String`
  `getValueAsString(byte[] data)`
  Get format value string for byte array
  `int`
  `hashCode()`
  `boolean`
  `isNull()`
  Determine if the field has been set to a null-state or value.
  `boolean`
  `isVariableLength()`
  `BinaryField`
  `newField()`
  Create new instance of this field type.
  `void`
  `setBinaryData(byte[] data)`
  Set data from binary byte array.
  `String`
  `toString()`

  ### Methods inherited from class db.Field

  `canIndex, getBooleanValue, getByteValue, getIntValue, getLongValue, getShortValue, getString, isSameType, setBooleanValue, setByteValue, setIntValue, setLongValue, setShortValue, setString`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### INSTANCE

    public static final BinaryField INSTANCE
    Instance intended for defining a `Table` `Schema`

  - ### data

    protected byte[] data

- ## Constructor Details

  - ### BinaryField

    public BinaryField()
    Construct a binary data field with an initial value of null.

  - ### BinaryField

    public BinaryField(byte[] data)
    Construct a binary data field with an initial value of data.
    Parameters:
      `data` - initial value

- ## Method Details

  - ### isNull

    public boolean isNull()
    Description copied from class: `Field`
    Determine if the field has been set to a null-state or value.
    Specified by:
      `isNull` in class `Field`
    Returns:
      true if field has been set to a null state or value, else false

  - ### getBinaryData

    public byte[] getBinaryData()
    Description copied from class: `Field`
    Get data as a byte array.
    Specified by:
      `getBinaryData` in class `Field`
    Returns:
      byte[]

  - ### setBinaryData

    public void setBinaryData(byte[] data)
    Description copied from class: `Field`
    Set data from binary byte array. All variable-length fields must implement this method.
    Specified by:
      `setBinaryData` in class `Field`
    Parameters:
      `data` - field data

  - ### isVariableLength

    public boolean isVariableLength()
    Overrides:
      `isVariableLength` in class `Field`
    Returns:
      true if a Field instance is variable length, else false.

  - ### compareTo

    public int compareTo(Field o)
    Description copied from class: `Field`
    Compares this Field with another Field for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified Field.
    NOTE: Field objects do not fully comply with the Comparable interface. Only the same Field implementations may be compared. In addition, the null state is not considered when comparing `PrimitiveField`s which have a zero (0) value.
    Specified by:
      `compareTo` in interface `Comparable<Field>`
    Specified by:
      `compareTo` in class `Field`
    Parameters:
      `o` - another Field which is the same type as this Field
    Returns:
      field comparison result (see `Comparable.compareTo(Object)`).

  - ### copyField

    public BinaryField copyField()
    Description copied from class: `Field`
    Create new instance of this field with the same value.
    Specified by:
      `copyField` in class `Field`
    Returns:
      new field instance with same value

  - ### newField

    public BinaryField newField()
    Description copied from class: `Field`
    Create new instance of this field type.
    Specified by:
      `newField` in class `Field`
    Returns:
      new field instance with undefined initial value

  - ### equals

    public boolean equals(Object obj)
    Description copied from class: `Field`
    Determine if the specified Object is another Field which has the same type and value as this Field. When comparing a `PrimitiveField`, with a null state, a value of zero (0) is used.
    Specified by:
      `equals` in class `Field`
    Parameters:
      `obj` - another object
    Returns:
      true if this field equals obj

  - ### hashCode

    public int hashCode()
    Specified by:
      `hashCode` in class `Field`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### getValueAsString

    public String getValueAsString()
    Description copied from class: `Field`
    Get field value as a formatted string
    Specified by:
      `getValueAsString` in class `Field`
    Returns:
      field value string

  - ### getValueAsString

    public static String getValueAsString(byte[] data)
    Get format value string for byte array
    Parameters:
      `data` - byte array
    Returns:
      formatted value string