org.apache.poi.util

## Class IntegerField

- java.lang.Object
- - org.apache.poi.util.IntegerField

- All Implemented Interfaces:
    FixedField

      public class IntegerField
      extends java.lang.Object
      implements FixedField

  representation of an integer (32-bit) field at a fixed location within a byte array
  Author:
    Marc Johnson (mjohnson at apache dot org

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `IntegerField(int offset)` construct the IntegerField with its offset into its containing byte array
    `IntegerField(int offset, byte[] data)` Construct the IntegerField with its offset into its containing byte array and initialize its value from its byte array
    `IntegerField(int offset, int value)` construct the IntegerField with its offset into its containing byte array and initialize its value
    `IntegerField(int offset, int value, byte[] data)` construct the IntegerField with its offset into its containing byte array, initialize its value, and write the value to a byte array

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `get()` get the IntegerField's current value
    `void` | `readFromBytes(byte[] data)` set the value from its offset into an array of bytes
    `void` | `readFromStream(java.io.InputStream stream)` set the value from an InputStream
    `void` | `set(int value)` set the IntegerField's current value
    `void` | `set(int value, byte[] data)` set the IntegerField's current value and write it to a byte array
    `java.lang.String` | `toString()` return the value as a String
    `void` | `writeToBytes(byte[] data)` write the value out to an array of bytes at the appropriate offset

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

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

- - ### Constructor Detail

    - #### IntegerField

          public IntegerField(int offset)
                       throws java.lang.ArrayIndexOutOfBoundsException

      construct the IntegerField with its offset into its containing byte array
      Parameters:
        `offset` - of the field within its byte array
      Throws:
        `java.lang.ArrayIndexOutOfBoundsException` - if the offset is negative

    - #### IntegerField

          public IntegerField(int offset,
                              int value)
                       throws java.lang.ArrayIndexOutOfBoundsException

      construct the IntegerField with its offset into its containing byte array and initialize its value
      Parameters:
        `offset` - of the field within its byte array
        `value` - the initial value
      Throws:
        `java.lang.ArrayIndexOutOfBoundsException` - if the offset is negative

    - #### IntegerField

          public IntegerField(int offset,
                              byte[] data)
                       throws java.lang.ArrayIndexOutOfBoundsException

      Construct the IntegerField with its offset into its containing byte array and initialize its value from its byte array
      Parameters:
        `offset` - of the field within its byte array
        `data` - the byte array to read the value from
      Throws:
        `java.lang.ArrayIndexOutOfBoundsException` - if the offset is not within the range of 0..(data.length - 1)

    - #### IntegerField

          public IntegerField(int offset,
                              int value,
                              byte[] data)
                       throws java.lang.ArrayIndexOutOfBoundsException

      construct the IntegerField with its offset into its containing byte array, initialize its value, and write the value to a byte array
      Parameters:
        `offset` - of the field within its byte array
        `value` - the initial value
        `data` - the byte array to write the value to
      Throws:
        `java.lang.ArrayIndexOutOfBoundsException` - if the offset is negative or too large

  - ### Method Detail

    - #### get

          public int get()

      get the IntegerField's current value
      Returns:
        current value

    - #### set

          public void set(int value)

      set the IntegerField's current value
      Parameters:
        `value` - to be set

    - #### set

          public void set(int value,
                          byte[] data)
                   throws java.lang.ArrayIndexOutOfBoundsException

      set the IntegerField's current value and write it to a byte array
      Parameters:
        `value` - to be set
        `data` - the byte array to write the value to
      Throws:
        `java.lang.ArrayIndexOutOfBoundsException` - if the offset is too large

    - #### readFromBytes

          public void readFromBytes(byte[] data)
                             throws java.lang.ArrayIndexOutOfBoundsException

      set the value from its offset into an array of bytes
      Specified by:
        `readFromBytes` in interface `FixedField`
      Parameters:
        `data` - the byte array from which the value is to be read
      Throws:
        `java.lang.ArrayIndexOutOfBoundsException` - if the offset is too large

    - #### readFromStream

          public void readFromStream(java.io.InputStream stream)
                              throws java.io.IOException

      set the value from an InputStream
      Specified by:
        `readFromStream` in interface `FixedField`
      Parameters:
        `stream` - the InputStream from which the value is to be read
      Throws:
        `LittleEndian.BufferUnderrunException` - if there is not enough data available from the InputStream
        `java.io.IOException` - if an IOException is thrown from reading the InputStream

    - #### writeToBytes

          public void writeToBytes(byte[] data)
                            throws java.lang.ArrayIndexOutOfBoundsException

      write the value out to an array of bytes at the appropriate offset
      Specified by:
        `writeToBytes` in interface `FixedField`
      Parameters:
        `data` - the array of bytes to which the value is to be written
      Throws:
        `java.lang.ArrayIndexOutOfBoundsException` - if the offset is too large

    - #### toString

          public java.lang.String toString()

      return the value as a String
      Specified by:
        `toString` in interface `FixedField`
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        the value as a String

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.