Package org.apache.commons.lang

## Class BitField

- java.lang.Object
- - org.apache.commons.lang.BitField

-     public class BitField
      extends Object

  Operations on bit-mapped fields.

  Since:
    2.0
  Version:
    $Id: BitField.java 905636 2010-02-02 14:03:32Z niallp $

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BitField​(int mask)` | Creates a BitField instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `clear​(int holder)` | Clears the bits.
    `byte` | `clearByte​(byte holder)` | Clears the bits.
    `short` | `clearShort​(short holder)` | Clears the bits.
    `int` | `getRawValue​(int holder)` | Obtains the value for the specified BitField, unshifted.
    `short` | `getShortRawValue​(short holder)` | Obtains the value for the specified BitField, unshifted.
    `short` | `getShortValue​(short holder)` | Obtains the value for the specified BitField, appropriately shifted right, as a short.
    `int` | `getValue​(int holder)` | Obtains the value for the specified BitField, appropriately shifted right.
    `boolean` | `isAllSet​(int holder)` | Returns whether all of the bits are set or not.
    `boolean` | `isSet​(int holder)` | Returns whether the field is set or not.
    `int` | `set​(int holder)` | Sets the bits.
    `int` | `setBoolean​(int holder, boolean flag)` | Sets a boolean BitField.
    `byte` | `setByte​(byte holder)` | Sets the bits.
    `byte` | `setByteBoolean​(byte holder, boolean flag)` | Sets a boolean BitField.
    `short` | `setShort​(short holder)` | Sets the bits.
    `short` | `setShortBoolean​(short holder, boolean flag)` | Sets a boolean BitField.
    `short` | `setShortValue​(short holder, short value)` | Replaces the bits with new values.
    `int` | `setValue​(int holder, int value)` | Replaces the bits with new values.

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

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

- - ### Constructor Detail

    - #### BitField

          public BitField​(int mask)

      Creates a BitField instance.

      Parameters:
        `mask` - the mask specifying which bits apply to this BitField. Bits that are set in this mask are the bits that this BitField operates on

  - ### Method Detail

    - #### getValue

          public int getValue​(int holder)

      Obtains the value for the specified BitField, appropriately shifted right.

      Many users of a BitField will want to treat the specified bits as an int value, and will not want to be aware that the value is stored as a BitField (and so shifted left so many bits).

      Parameters:
        `holder` - the int data containing the bits we're interested in
      Returns:
        the selected bits, shifted right appropriately
      See Also:
        `setValue(int,int)`

    - #### getShortValue

          public short getShortValue​(short holder)

      Obtains the value for the specified BitField, appropriately shifted right, as a short.

      Many users of a BitField will want to treat the specified bits as an int value, and will not want to be aware that the value is stored as a BitField (and so shifted left so many bits).

      Parameters:
        `holder` - the short data containing the bits we're interested in
      Returns:
        the selected bits, shifted right appropriately
      See Also:
        `setShortValue(short,short)`

    - #### getRawValue

          public int getRawValue​(int holder)

      Obtains the value for the specified BitField, unshifted.

      Parameters:
        `holder` - the int data containing the bits we're interested in
      Returns:
        the selected bits

    - #### getShortRawValue

          public short getShortRawValue​(short holder)

      Obtains the value for the specified BitField, unshifted.

      Parameters:
        `holder` - the short data containing the bits we're interested in
      Returns:
        the selected bits

    - #### isSet

          public boolean isSet​(int holder)

      Returns whether the field is set or not.

      This is most commonly used for a single-bit field, which is often used to represent a boolean value; the results of using it for a multi-bit field is to determine whether *any* of its bits are set.

      Parameters:
        `holder` - the int data containing the bits we're interested in
      Returns:
        `true` if any of the bits are set, else `false`

    - #### isAllSet

          public boolean isAllSet​(int holder)

      Returns whether all of the bits are set or not.

      This is a stricter test than `isSet(int)`, in that all of the bits in a multi-bit set must be set for this method to return `true`.

      Parameters:
        `holder` - the int data containing the bits we're interested in
      Returns:
        `true` if all of the bits are set, else `false`

    - #### setValue

          public int setValue​(int holder,
                              int value)

      Replaces the bits with new values.

      Parameters:
        `holder` - the int data containing the bits we're interested in
        `value` - the new value for the specified bits
      Returns:
        the value of holder with the bits from the value parameter replacing the old bits
      See Also:
        `getValue(int)`

    - #### setShortValue

          public short setShortValue​(short holder,
                                     short value)

      Replaces the bits with new values.

      Parameters:
        `holder` - the short data containing the bits we're interested in
        `value` - the new value for the specified bits
      Returns:
        the value of holder with the bits from the value parameter replacing the old bits
      See Also:
        `getShortValue(short)`

    - #### clear

          public int clear​(int holder)

      Clears the bits.

      Parameters:
        `holder` - the int data containing the bits we're interested in
      Returns:
        the value of holder with the specified bits cleared (set to `0`)

    - #### clearShort

          public short clearShort​(short holder)

      Clears the bits.

      Parameters:
        `holder` - the short data containing the bits we're interested in
      Returns:
        the value of holder with the specified bits cleared (set to `0`)

    - #### clearByte

          public byte clearByte​(byte holder)

      Clears the bits.

      Parameters:
        `holder` - the byte data containing the bits we're interested in
      Returns:
        the value of holder with the specified bits cleared (set to `0`)

    - #### set

          public int set​(int holder)

      Sets the bits.

      Parameters:
        `holder` - the int data containing the bits we're interested in
      Returns:
        the value of holder with the specified bits set to `1`

    - #### setShort

          public short setShort​(short holder)

      Sets the bits.

      Parameters:
        `holder` - the short data containing the bits we're interested in
      Returns:
        the value of holder with the specified bits set to `1`

    - #### setByte

          public byte setByte​(byte holder)

      Sets the bits.

      Parameters:
        `holder` - the byte data containing the bits we're interested in
      Returns:
        the value of holder with the specified bits set to `1`

    - #### setBoolean

          public int setBoolean​(int holder,
                                boolean flag)

      Sets a boolean BitField.

      Parameters:
        `holder` - the int data containing the bits we're interested in
        `flag` - indicating whether to set or clear the bits
      Returns:
        the value of holder with the specified bits set or cleared

    - #### setShortBoolean

          public short setShortBoolean​(short holder,
                                       boolean flag)

      Sets a boolean BitField.

      Parameters:
        `holder` - the short data containing the bits we're interested in
        `flag` - indicating whether to set or clear the bits
      Returns:
        the value of holder with the specified bits set or cleared

    - #### setByteBoolean

          public byte setByteBoolean​(byte holder,
                                     boolean flag)

      Sets a boolean BitField.

      Parameters:
        `holder` - the byte data containing the bits we're interested in
        `flag` - indicating whether to set or clear the bits
      Returns:
        the value of holder with the specified bits set or cleared