EDU.oswego.cs.dl.util.concurrent

Class SynchronizedBoolean

public class SynchronizedBoolean extends SynchronizedVariable implements Comparable, Cloneable

A class useful for offloading synch for boolean instance variables.

[ Introduction to this package. ]

Field Summary
protected booleanvalue_
Constructor Summary
SynchronizedBoolean(boolean initialValue)
Make a new SynchronizedBoolean with the given initial value, and using its own internal lock.
SynchronizedBoolean(boolean initialValue, Object lock)
Make a new SynchronizedBoolean with the given initial value, and using the supplied lock.
Method Summary
booleanand(boolean b)
Set value to value & b.
booleancommit(boolean assumedValue, boolean newValue)
Set value to newValue only if it is currently assumedValue.
intcompareTo(boolean other)
intcompareTo(SynchronizedBoolean other)
intcompareTo(Object other)
booleancomplement()
Set the value to its complement
booleanequals(Object other)
booleanget()
Return the current value
inthashCode()
booleanor(boolean b)
Set value to value | b.
booleanset(boolean newValue)
Set to newValue.
booleanswap(SynchronizedBoolean other)
Atomically swap values with another SynchronizedBoolean.
StringtoString()
booleanxor(boolean b)
Set value to value ^ b.

Field Detail

value_

protected boolean value_

Constructor Detail

SynchronizedBoolean

public SynchronizedBoolean(boolean initialValue)
Make a new SynchronizedBoolean with the given initial value, and using its own internal lock.

SynchronizedBoolean

public SynchronizedBoolean(boolean initialValue, Object lock)
Make a new SynchronizedBoolean with the given initial value, and using the supplied lock.

Method Detail

and

public boolean and(boolean b)
Set value to value & b.

Returns: the new value

commit

public boolean commit(boolean assumedValue, boolean newValue)
Set value to newValue only if it is currently assumedValue.

Returns: true if successful

compareTo

public int compareTo(boolean other)

compareTo

public int compareTo(SynchronizedBoolean other)

compareTo

public int compareTo(Object other)

complement

public boolean complement()
Set the value to its complement

Returns: the new value

equals

public boolean equals(Object other)

get

public final boolean get()
Return the current value

hashCode

public int hashCode()

or

public boolean or(boolean b)
Set value to value | b.

Returns: the new value

set

public boolean set(boolean newValue)
Set to newValue.

Returns: the old value

swap

public boolean swap(SynchronizedBoolean other)
Atomically swap values with another SynchronizedBoolean. Uses identityHashCode to avoid deadlock when two SynchronizedBooleans attempt to simultaneously swap with each other. (Note: Ordering via identyHashCode is not strictly guaranteed by the language specification to return unique, orderable values, but in practice JVMs rely on them being unique.)

Returns: the new value

toString

public String toString()

xor

public boolean xor(boolean b)
Set value to value ^ b.

Returns: the new value