/**@class java.util.concurrent.atomic.AtomicReference
 implements java.io.Serializable

@extends java.lang.Object

 An object reference that may be updated atomically. See the {@link java.util.concurrent.atomic} package specification for description
 of the properties of atomic variables.
 @since 1.5
 @author Doug Lea
 @param <V> The type of object referred to by this reference
*/
var AtomicReference = {

/**Gets the current value.
@return {Object {java.lang.Object}} the current value
*/
get : function(  ) {},

/**Sets to the given value.
@param {Object {Object}} newValue the new value
*/
set : function(  ) {},

/**Eventually sets to the given value.
@param {Object {Object}} newValue the new value
@since 1.6
*/
lazySet : function(  ) {},

/**Atomically sets the value to the given updated value
 if the current value {@code ==} the expected value.
@param {Object {Object}} expect the expected value
@param {Object {Object}} update the new value
@return {Boolean} {@code true} if successful. False return indicates that
 the actual value was not equal to the expected value.
*/
compareAndSet : function(  ) {},

/**Atomically sets the value to the given updated value
 if the current value {@code ==} the expected value.

 <p><a href="package-summary.html#weakCompareAndSet">May fail
 spuriously and does not provide ordering guarantees</a>, so is
 only rarely an appropriate alternative to {@code compareAndSet}.
@param {Object {Object}} expect the expected value
@param {Object {Object}} update the new value
@return {Boolean} {@code true} if successful
*/
weakCompareAndSet : function(  ) {},

/**Atomically sets to the given value and returns the old value.
@param {Object {Object}} newValue the new value
@return {Object {java.lang.Object}} the previous value
*/
getAndSet : function(  ) {},

/**Atomically updates the current value with the results of
 applying the given function, returning the previous value. The
 function should be side-effect-free, since it may be re-applied
 when attempted updates fail due to contention among threads.
@param {Object {java.util.function.UnaryOperator}} updateFunction a side-effect-free function
@return {Object {java.lang.Object}} the previous value
@since 1.8
*/
getAndUpdate : function(  ) {},

/**Atomically updates the current value with the results of
 applying the given function, returning the updated value. The
 function should be side-effect-free, since it may be re-applied
 when attempted updates fail due to contention among threads.
@param {Object {java.util.function.UnaryOperator}} updateFunction a side-effect-free function
@return {Object {java.lang.Object}} the updated value
@since 1.8
*/
updateAndGet : function(  ) {},

/**Atomically updates the current value with the results of
 applying the given function to the current and given values,
 returning the previous value. The function should be
 side-effect-free, since it may be re-applied when attempted
 updates fail due to contention among threads.  The function
 is applied with the current value as its first argument,
 and the given update as the second argument.
@param {Object {Object}} x the update value
@param {Object {java.util.function.BinaryOperator}} accumulatorFunction a side-effect-free function of two arguments
@return {Object {java.lang.Object}} the previous value
@since 1.8
*/
getAndAccumulate : function(  ) {},

/**Atomically updates the current value with the results of
 applying the given function to the current and given values,
 returning the updated value. The function should be
 side-effect-free, since it may be re-applied when attempted
 updates fail due to contention among threads.  The function
 is applied with the current value as its first argument,
 and the given update as the second argument.
@param {Object {Object}} x the update value
@param {Object {java.util.function.BinaryOperator}} accumulatorFunction a side-effect-free function of two arguments
@return {Object {java.lang.Object}} the updated value
@since 1.8
*/
accumulateAndGet : function(  ) {},

/**Returns the String representation of the current value.
@return {String} the String representation of the current value
*/
toString : function(  ) {},


};