Class BitField


  • @Internal(since="POI 3.15 beta 3")
    public class BitField
    extends java.lang.Object
    Manage operations dealing with bit-mapped fields.
    • Constructor Summary

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

      All Methods Instance Methods Concrete Methods 
      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

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