org.apache.commons.lang

Class BitField


public class BitField
extends Object

Operations on bit-mapped fields.
Since:
2.0

Constructor Summary

BitField(int mask)
Creates a BitField instance.

Method Summary

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.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

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 Details

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)

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)

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)

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

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

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

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

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

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

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

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

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

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

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

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

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)