Class BitField

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

@Internal(since="POI 3.15 beta 3") public class BitField extends 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

    Constructors
    Constructor
    Description
    BitField(int mask)
    Create a BitField instance
  • Method Summary

    Modifier and Type
    Method
    Description
    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 Details

    • 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 Details

    • 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 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
    • 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