EDU.oswego.cs.dl.util.concurrent
Class SynchronizedShort

java.lang.Object
  extended by EDU.oswego.cs.dl.util.concurrent.SynchronizedVariable
      extended by EDU.oswego.cs.dl.util.concurrent.SynchronizedShort
All Implemented Interfaces:
Executor, java.lang.Cloneable, java.lang.Comparable
Direct Known Subclasses:
WaitableShort

public class SynchronizedShort
extends SynchronizedVariable
implements java.lang.Comparable, java.lang.Cloneable

A class useful for offloading synch for short instance variables.

[ Introduction to this package. ]


Field Summary
protected  short value_
           
 
Fields inherited from class EDU.oswego.cs.dl.util.concurrent.SynchronizedVariable
lock_
 
Constructor Summary
SynchronizedShort(short initialValue)
          Make a new SynchronizedShort with the given initial value, and using its own internal lock.
SynchronizedShort(short initialValue, java.lang.Object lock)
          Make a new SynchronizedShort with the given initial value, and using the supplied lock.
 
Method Summary
 short add(short amount)
          Add amount to value (i.e., set value += amount)
 short and(short b)
          Set value to value & b.
 boolean commit(short assumedValue, short newValue)
          Set value to newValue only if it is currently assumedValue.
 int compareTo(java.lang.Object other)
           
 int compareTo(short other)
           
 int compareTo(SynchronizedShort other)
           
 short complement()
          Set the value to its complement
 short decrement()
          Decrement the value.
 short divide(short factor)
          Divide value by factor (i.e., set value /= factor)
 boolean equals(java.lang.Object other)
           
 short get()
          Return the current value
 int hashCode()
           
 short increment()
          Increment the value.
 short multiply(short factor)
          Multiply value by factor (i.e., set value *= factor)
 short negate()
          Set the value to the negative of its old value
 short or(short b)
          Set value to value | b.
 short set(short newValue)
          Set to newValue.
 short subtract(short amount)
          Subtract amount from value (i.e., set value -= amount)
 short swap(SynchronizedShort other)
          Atomically swap values with another SynchronizedShort.
 java.lang.String toString()
           
 short xor(short b)
          Set value to value ^ b.
 
Methods inherited from class EDU.oswego.cs.dl.util.concurrent.SynchronizedVariable
execute, getLock
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

value_

protected short value_
Constructor Detail

SynchronizedShort

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


SynchronizedShort

public SynchronizedShort(short initialValue,
                         java.lang.Object lock)
Make a new SynchronizedShort with the given initial value, and using the supplied lock.

Method Detail

get

public final short get()
Return the current value


set

public short set(short newValue)
Set to newValue.

Returns:
the old value

commit

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

Returns:
true if successful

swap

public short swap(SynchronizedShort other)
Atomically swap values with another SynchronizedShort. Uses identityHashCode to avoid deadlock when two SynchronizedShorts 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

increment

public short increment()
Increment the value.

Returns:
the new value

decrement

public short decrement()
Decrement the value.

Returns:
the new value

add

public short add(short amount)
Add amount to value (i.e., set value += amount)

Returns:
the new value

subtract

public short subtract(short amount)
Subtract amount from value (i.e., set value -= amount)

Returns:
the new value

multiply

public short multiply(short factor)
Multiply value by factor (i.e., set value *= factor)

Returns:
the new value

divide

public short divide(short factor)
Divide value by factor (i.e., set value /= factor)

Returns:
the new value

negate

public short negate()
Set the value to the negative of its old value

Returns:
the new value

complement

public short complement()
Set the value to its complement

Returns:
the new value

and

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

Returns:
the new value

or

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

Returns:
the new value

xor

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

Returns:
the new value

compareTo

public int compareTo(short other)
Specified by:
compareTo in interface java.lang.Comparable

compareTo

public int compareTo(SynchronizedShort other)
Specified by:
compareTo in interface java.lang.Comparable

compareTo

public int compareTo(java.lang.Object other)
Specified by:
compareTo in interface java.lang.Comparable

equals

public boolean equals(java.lang.Object other)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object