## org.apache.poi.util
Class BitField

    java.lang.Object
      org.apache.poi.util.BitField

    public class BitField

extends java.lang.Object

Manage operations dealing with bit-mapped fields.

Author:
  Marc Johnson (mjohnson at apache dot org), Andrew C. Oliver (acoliver at apache dot org)

Constructor Summary
`BitField(int mask)` Create a BitField instance

Method Summary
`int` `clear(int holder)` Clear the bits.
`byte` `clearByte(byte holder)` Clear the bits.
`short` `clearShort(short holder)` Clear the bits.
`int` `getRawValue(int holder)` Obtain the value for the specified BitField, unshifted
`short` `getShortRawValue(short holder)` Obtain the value for the specified BitField, unshifted
`short` `getShortValue(short holder)` Obtain the value for the specified BitField, appropriately shifted right, as a short.
`int` `getValue(int holder)` Obtain the value for the specified BitField, appropriately shifted right.
`boolean` `isAllSet(int holder)` Are all of the bits set or not? This is a stricter test than isSet, in that all of the bits in a multi-bit set must be set for this method to return true
`boolean` `isSet(int holder)` Is the field 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
`int` `set(int holder)` Set the bits.
`int` `setBoolean(int holder, boolean flag)` Set a boolean BitField
`byte` `setByte(byte holder)` Set the bits.
`byte` `setByteBoolean(byte holder, boolean flag)` Set a boolean BitField
`short` `setShort(short holder)` Set the bits.
`short` `setShortBoolean(short holder, boolean flag)` Set a boolean BitField
`short` `setShortValue(short holder, short value)` Replace the bits with new values.
`int` `setValue(int holder, int value)` Replace 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)

  Create 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)

  Obtain 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

### getShortValue

    public short getShortValue(short holder)

  Obtain 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

### getRawValue

    public int getRawValue(int holder)

  Obtain 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)

  Obtain 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)

  Is the field 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)

  Are all of the bits set or not? This is a stricter test than isSet, 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)

  Replace the bits with new values.

  Parameters:
    `holder` - the int data containint 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

### setShortValue

    public short setShortValue(short holder,
                               short value)

  Replace 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

### clear

    public int clear(int holder)

  Clear 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)

  Clear 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)

  Clear 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)

  Set 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)

  Set 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)

  Set 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)

  Set 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)

  Set 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)

  Set 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

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