org.apache.poi.util
Class BitField

java.lang.Object
  extended by org.apache.poi.util.BitField

public class BitField
extends java.lang.Object

Manage operations dealing with bit-mapped fields.

Author:
Marc Johnson (mjohnson at apache dot org), Andrew C. Oliver (acoliver at apache dot org)

Constructor Summary
BitField(int mask)
          Create a BitField instance
 
Method Summary
 int clear(int holder)
          Clear the bits.
 byte clearByte(byte holder)
          Clear the bits.
 short clearShort(short holder)
          Clear the bits.
 int getRawValue(int holder)
          Obtain the value for the specified BitField, unshifted
 short getShortRawValue(short holder)
          Obtain the value for the specified BitField, unshifted
 short getShortValue(short holder)
          Obtain the value for the specified BitField, appropriately shifted right, as a short.
 int getValue(int holder)
          Obtain the value for the specified BitField, appropriately shifted right.
 boolean isAllSet(int holder)
          Are all of the bits set or not? This is a stricter test than isSet, in that all of the bits in a multi-bit set must be set for this method to return true
 boolean isSet(int holder)
          Is the field 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
 int set(int holder)
          Set the bits.
 int setBoolean(int holder, boolean flag)
          Set a boolean BitField
 byte setByte(byte holder)
          Set the bits.
 byte setByteBoolean(byte holder, boolean flag)
          Set a boolean BitField
 short setShort(short holder)
          Set the bits.
 short setShortBoolean(short holder, boolean flag)
          Set a boolean BitField
 short setShortValue(short holder, short value)
          Replace the bits with new values.
 int setValue(int holder, int value)
          Replace the bits with new values.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BitField

public BitField(int mask)
Create 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)
Obtain 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

getShortValue

public short getShortValue(short holder)
Obtain 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

getRawValue

public int getRawValue(int holder)
Obtain 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)
Obtain 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)
Is the field 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)
Are all of the bits set or not? This is a stricter test than isSet, 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)
Replace the bits with new values.

Parameters:
holder - the int data containint 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

setShortValue

public short setShortValue(short holder,
                           short value)
Replace 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

clear

public int clear(int holder)
Clear 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)
Clear 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)
Clear 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)
Set 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)
Set 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)
Set 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)
Set 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)
Set 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)
Set 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


Copyright 2012 The Apache Software Foundation or its licensors, as applicable.