Package org.apache.commons.lang

# Class BitField

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

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.

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

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

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