Class BitField

java.lang.Object
org.docx4j.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

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