Package com.pnfsoftware.jeb.util.base
Class Flags
java.lang.Object
com.pnfsoftware.jeb.util.base.Flags
Bit flags object,
int based (allow 32 bit flags).-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanaddTo(int f) Add (set) bits to the current flags.intget()Get the current flags.static booleanhas(int flags, int bits) Flags utility: determine if the provided bit(s) is/are setbooleanhasAll(int f) Determine if all of the provided bits are currently set.booleanhasNone(int f) Determine if none of the provided bits are currently set.booleanhasSome(int f) Determine if some of the provided bits are currently set.booleanisValidBit(int bit) Determine whether a bit index is legal for this flag set.booleanremoveFrom(int f) Remove (reset) bits from the current flags.booleanset(int flags) Set the flags.static intset(int flags, int bits, boolean enabled) Flags utility: set or reset bits.booleantestBit(int bit) Determine whether a bit is currently set.toString()booleanupdate(int f, boolean add) Add or remove bits to the current flags.voidverify(int f) Verify that the provided flags only contain allowed bits.
-
Constructor Details
-
Flags
public Flags()Create flags with the initial value 0. -
Flags
public Flags(int initial) Create flags.- Parameters:
initial- initial flags value
-
Flags
Create flags and specify which bits (0..31) are legal parts of the flags.- Parameters:
initialFlags- initial flags valueallowedFlags- legal bit flags; 0xFFFFFFFF (-1) means all bits are legal and can be accessednames- optional bit names
-
-
Method Details
-
verify
public void verify(int f) Verify that the provided flags only contain allowed bits.- Parameters:
f- flags to verify- Throws:
IllegalArgumentException- if an illegal bit is set
-
get
public int get()Get the current flags.- Returns:
- current flags
-
set
public boolean set(int flags) Set the flags.- Parameters:
flags- new flags value- Returns:
- true if the flags have changed, false otherwise
-
isValidBit
public boolean isValidBit(int bit) Determine whether a bit index is legal for this flag set.- Parameters:
bit- bit index, from 0 to 31- Returns:
- true if the bit is in range and allowed
-
testBit
public boolean testBit(int bit) Determine whether a bit is currently set.- Parameters:
bit- bit index, from 0 to 31- Returns:
- true if the bit is set
- Throws:
IllegalArgumentException- if the bit index is out of range
-
hasAll
public boolean hasAll(int f) Determine if all of the provided bits are currently set.- Parameters:
f- bits to test- Returns:
- true if all bits are set
-
hasSome
public boolean hasSome(int f) Determine if some of the provided bits are currently set.- Parameters:
f- bits to test- Returns:
- true if at least one bit is set
-
hasNone
public boolean hasNone(int f) Determine if none of the provided bits are currently set.- Parameters:
f- bits to test- Returns:
- true if none of the bits are set
-
addTo
public boolean addTo(int f) Add (set) bits to the current flags.- Parameters:
f- flags to be added- Returns:
- true if the overall flags have changed, false otherwise
-
removeFrom
public boolean removeFrom(int f) Remove (reset) bits from the current flags.- Parameters:
f- flags to be removed- Returns:
- true if the overall flags have changed, false otherwise
-
update
public boolean update(int f, boolean add) Add or remove bits to the current flags.- Parameters:
f- flags to be added or removeadd- true to add flags, false to remove flags- Returns:
- true if the overall flags have changed, false otherwise
-
toString
-
set
public static int set(int flags, int bits, boolean enabled) Flags utility: set or reset bits.- Parameters:
flags- current flagsbits- bit(s) to set or resetenabled- true to set, false to reset- Returns:
- updated flags
-
has
public static boolean has(int flags, int bits) Flags utility: determine if the provided bit(s) is/are set- Parameters:
flags- current flagsbits- bits to check- Returns:
- true if the provided bits are all set, false otherwise
-