Class 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 $
    Author:
    Apache Software Foundation, Apache Jakarta POI, Scott Sanders (sanders at apache dot org), Marc Johnson (mjohnson at apache dot org), Andrew C. Oliver (acoliver at apache dot org), Pete Gieser, Gary Gregory
    • 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.
    • 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