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