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

    java.lang.Object
      EDU.oswego.cs.dl.util.concurrent.SynchronizedVariable
          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`