org.apache.commons.validator.util

Class Flags

public class Flags extends Object implements Serializable

Represents a collection of 64 boolean (on/off) flags. Individual flags are represented by powers of 2. For example,
Flag 1 = 1
Flag 2 = 2
Flag 3 = 4
Flag 4 = 8

or using shift operator to make numbering easier:
Flag 1 = 1 << 0
Flag 2 = 1 << 1
Flag 3 = 1 << 2
Flag 4 = 1 << 3

There cannot be a flag with a value of 3 because that represents Flag 1 and Flag 2 both being on/true.

Version: $Revision: 478334 $ $Date: 2006-11-22 21:31:54 +0000 (Wed, 22 Nov 2006) $

Field Summary
longflags
Represents the current flag state.
Constructor Summary
Flags()
Create a new Flags object.
Flags(long flags)
Initialize a new Flags object with the given flags.
Method Summary
voidclear()
Turn off all flags.
Objectclone()
Clone this Flags object.
booleanequals(Object obj)
Tests if two Flags objects are in the same state.
longgetFlags()
Returns the current flags.
inthashCode()
The hash code is based on the current state of the flags.
booleanisOff(long flag)
Tests whether the given flag is off.
booleanisOn(long flag)
Tests whether the given flag is on.
StringtoString()
Returns a 64 length String with the first flag on the right and the 64th flag on the left.
voidturnOff(long flag)
Turns off the given flag.
voidturnOffAll()
Turn off all flags.
voidturnOn(long flag)
Turns on the given flag.
voidturnOnAll()
Turn on all 64 flags.

Field Detail

flags

private long flags
Represents the current flag state.

Constructor Detail

Flags

public Flags()
Create a new Flags object.

Flags

public Flags(long flags)
Initialize a new Flags object with the given flags.

Parameters: flags collection of boolean flags to represent.

Method Detail

clear

public void clear()
Turn off all flags. This is a synonym for turnOffAll().

Since: Validator 1.1.1

clone

public Object clone()
Clone this Flags object.

Returns: a copy of this object.

See Also: java.lang.Object#clone()

equals

public boolean equals(Object obj)
Tests if two Flags objects are in the same state.

Parameters: obj object being tested

Returns: whether the objects are equal.

See Also: java.lang.Object#equals(java.lang.Object)

getFlags

public long getFlags()
Returns the current flags.

Returns: collection of boolean flags represented.

hashCode

public int hashCode()
The hash code is based on the current state of the flags.

Returns: the hash code for this object.

See Also: java.lang.Object#hashCode()

isOff

public boolean isOff(long flag)
Tests whether the given flag is off. If the flag is not a power of 2 (ie. 3) this tests whether the combination of flags is off.

Parameters: flag Flag value to check.

Returns: whether the specified flag value is off.

isOn

public boolean isOn(long flag)
Tests whether the given flag is on. If the flag is not a power of 2 (ie. 3) this tests whether the combination of flags is on.

Parameters: flag Flag value to check.

Returns: whether the specified flag value is on.

toString

public String toString()
Returns a 64 length String with the first flag on the right and the 64th flag on the left. A 1 indicates the flag is on, a 0 means it's off.

Returns: string representation of this object.

turnOff

public void turnOff(long flag)
Turns off the given flag. If the flag is not a power of 2 (ie. 3) this turns off multiple flags.

Parameters: flag Flag value to turn off.

turnOffAll

public void turnOffAll()
Turn off all flags.

turnOn

public void turnOn(long flag)
Turns on the given flag. If the flag is not a power of 2 (ie. 3) this turns on multiple flags.

Parameters: flag Flag value to turn on.

turnOnAll

public void turnOnAll()
Turn on all 64 flags.
Copyright (c) 2001-2004 Apache Software Foundation