Class BitField
int, short or
 byte.
 Each BitField is constructed with a mask value, which indicates
 the bits that will be used to store and retrieve the data for that field.
 For instance, the mask 0xFF indicates the least-significant byte
 should be used to store the data.
As an example, consider a car painting machine that accepts paint instructions as integers. Bit fields can be used to encode this:
    // blue, green and red are 1 byte values (0-255) stored in the three least
    // significant bytes
    BitField blue = new BitField(0xFF);
    BitField green = new BitField(0xFF00);
    BitField red = new BitField(0xFF0000);
    // anyColor is a flag triggered if any color is used
    BitField anyColor = new BitField(0xFFFFFF);
    // isMetallic is a single bit flag
    BitField isMetallic = new BitField(0x1000000);
 Using these BitField instances, a paint instruction can be
 encoded into an integer:
    int paintInstruction = 0;
    paintInstruction = red.setValue(paintInstruction, 35);
    paintInstruction = green.setValue(paintInstruction, 100);
    paintInstruction = blue.setValue(paintInstruction, 255);
 Flags and data can be retrieved from the integer:
    // Prints true if red, green or blue is non-zero
    System.out.println(anyColor.isSet(paintInstruction));   // prints true
    // Prints value of red, green and blue
    System.out.println(red.getValue(paintInstruction));     // prints 35
    System.out.println(green.getValue(paintInstruction));   // prints 100
    System.out.println(blue.getValue(paintInstruction));    // prints 255
    // Prints true if isMetallic was set
    System.out.println(isMetallic.isSet(paintInstruction)); // prints false
- Since:
- 2.0
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionintclear(int holder) Clears the bits.byteclearByte(byte holder) Clears the bits.shortclearShort(short holder) Clears the bits.intgetRawValue(int holder) Obtains the value for the specified BitField, unshifted.shortgetShortRawValue(short holder) Obtains the value for the specified BitField, unshifted.shortgetShortValue(short holder) Obtains the value for the specified BitField, appropriately shifted right, as a short.intgetValue(int holder) Obtains the value for the specified BitField, appropriately shifted right.booleanisAllSet(int holder) Returns whether all of the bits are set or not.booleanisSet(int holder) Returns whether the field is set or not.intset(int holder) Sets the bits.intsetBoolean(int holder, boolean flag) Sets a boolean BitField.bytesetByte(byte holder) Sets the bits.bytesetByteBoolean(byte holder, boolean flag) Sets a boolean BitField.shortsetShort(short holder) Sets the bits.shortsetShortBoolean(short holder, boolean flag) Sets a boolean BitField.shortsetShortValue(short holder, short value) Replaces the bits with new values.intsetValue(int holder, int value) Replaces the bits with new values.
- 
Constructor Details- 
BitFieldCreates 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- 
clearClears 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)
 
- 
clearByteClears 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)
 
- 
clearShortClears 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)
 
- 
getRawValueObtains the value for the specified BitField, unshifted.- Parameters:
- holder- the int data containing the bits we're interested in
- Returns:
- the selected bits
 
- 
getShortRawValueObtains the value for the specified BitField, unshifted.- Parameters:
- holder- the short data containing the bits we're interested in
- Returns:
- the selected bits
 
- 
getShortValueObtains 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:
 
- 
getValueObtains 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:
 
- 
isAllSetReturns 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 returntrue.- Parameters:
- holder- the int data containing the bits we're interested in
- Returns:
- trueif all of the bits are set, else- false
 
- 
isSetReturns 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:
- trueif any of the bits are set, else- false
 
- 
setSets 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
 
- 
setBooleanSets 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
 
- 
setByteSets 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
 
- 
setByteBooleanSets 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
 
- 
setShortSets 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
 
- 
setShortBooleanSets 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
 
- 
setShortValueReplaces 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:
 
- 
setValueReplaces 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:
 
 
-