package com.limegroup.gnutella.util;
/**
* Mutable boolean. This class is thread-safe.
*/
public final class Switch {
// the internal boolean
private boolean position;
/**
* Creates a new switch in the off position.
*/
public Switch() {
this(false);
}
/**
* Creates a new switch in the <tt>pos</tt> position.
*/
public Switch(boolean pos) {
position = pos;
}
/** Returns whether the switch is on or off. */
public synchronized boolean isOn() {
return position;
}
/**
* Turns the switch on.
*/
public synchronized void turnOn() {
position = true;
}
/**
* Turns the switch off.
*/
public synchronized void turnOff() {
position = false;
}
/** Sets whether the switch is on or off. */
public synchronized void setOn(boolean pos) {
position = pos;
}
}