Module java.base
Package java.lang.invoke

## Enum VarHandle.AccessMode

- java.lang.Object
- - java.lang.Enum<VarHandle.AccessMode>
  - - java.lang.invoke.VarHandle.AccessMode

All Implemented Interfaces:
  `Serializable`, `Comparable<VarHandle.AccessMode>`

Enclosing class:
  VarHandle

    public static enum VarHandle.AccessMode
    extends Enum<VarHandle.AccessMode>

The set of access modes that specify how a variable, referenced by a VarHandle, is accessed.

### Enum Constant Summary

Enum Constants
`COMPARE_AND_EXCHANGE` The access mode whose access is specified by the corresponding method `VarHandle.compareAndExchange`
`COMPARE_AND_EXCHANGE_ACQUIRE` The access mode whose access is specified by the corresponding method `VarHandle.compareAndExchangeAcquire`
`COMPARE_AND_EXCHANGE_RELEASE` The access mode whose access is specified by the corresponding method `VarHandle.compareAndExchangeRelease`
`COMPARE_AND_SET` The access mode whose access is specified by the corresponding method `VarHandle.compareAndSet`
`GET` The access mode whose access is specified by the corresponding method `VarHandle.get`
`GET_ACQUIRE` The access mode whose access is specified by the corresponding method `VarHandle.getAcquire`
`GET_AND_ADD` The access mode whose access is specified by the corresponding method `VarHandle.getAndAdd`
`GET_AND_ADD_ACQUIRE` The access mode whose access is specified by the corresponding method `VarHandle.getAndAddAcquire`
`GET_AND_ADD_RELEASE` The access mode whose access is specified by the corresponding method `VarHandle.getAndAddRelease`
`GET_AND_BITWISE_AND` The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseAnd`
`GET_AND_BITWISE_AND_ACQUIRE` The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseAndAcquire`
`GET_AND_BITWISE_AND_RELEASE` The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseAndRelease`
`GET_AND_BITWISE_OR` The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseOr`
`GET_AND_BITWISE_OR_ACQUIRE` The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseOrAcquire`
`GET_AND_BITWISE_OR_RELEASE` The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseOrRelease`
`GET_AND_BITWISE_XOR` The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseXor`
`GET_AND_BITWISE_XOR_ACQUIRE` The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseXorAcquire`
`GET_AND_BITWISE_XOR_RELEASE` The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseXorRelease`
`GET_AND_SET` The access mode whose access is specified by the corresponding method `VarHandle.getAndSet`
`GET_AND_SET_ACQUIRE` The access mode whose access is specified by the corresponding method `VarHandle.getAndSetAcquire`
`GET_AND_SET_RELEASE` The access mode whose access is specified by the corresponding method `VarHandle.getAndSetRelease`
`GET_OPAQUE` The access mode whose access is specified by the corresponding method `VarHandle.getOpaque`
`GET_VOLATILE` The access mode whose access is specified by the corresponding method `VarHandle.getVolatile`
`SET` The access mode whose access is specified by the corresponding method `VarHandle.set`
`SET_OPAQUE` The access mode whose access is specified by the corresponding method `VarHandle.setOpaque`
`SET_RELEASE` The access mode whose access is specified by the corresponding method `VarHandle.setRelease`
`SET_VOLATILE` The access mode whose access is specified by the corresponding method `VarHandle.setVolatile`
`WEAK_COMPARE_AND_SET` The access mode whose access is specified by the corresponding method `VarHandle.weakCompareAndSet`
`WEAK_COMPARE_AND_SET_ACQUIRE` The access mode whose access is specified by the corresponding method `VarHandle.weakCompareAndSetAcquire`
`WEAK_COMPARE_AND_SET_PLAIN` The access mode whose access is specified by the corresponding method `VarHandle.weakCompareAndSetPlain`
`WEAK_COMPARE_AND_SET_RELEASE` The access mode whose access is specified by the corresponding method `VarHandle.weakCompareAndSetRelease`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`String` `methodName()` Returns the `VarHandle` signature-polymorphic method name associated with this `AccessMode` value.
`static VarHandle.AccessMode` `valueFromMethodName​(String methodName)` Returns the `AccessMode` value associated with the specified `VarHandle` signature-polymorphic method name.
`static VarHandle.AccessMode` `valueOf​(String name)` Returns the enum constant of this type with the specified name.
`static VarHandle.AccessMode[]` `values()` Returns an array containing the constants of this enum type, in the order they are declared.

### Methods declared in class java.lang.Enum

`clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

### Methods declared in class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

### Enum Constant Detail

#### GET

    public static final VarHandle.AccessMode GET

The access mode whose access is specified by the corresponding method `VarHandle.get`

#### SET

    public static final VarHandle.AccessMode SET

The access mode whose access is specified by the corresponding method `VarHandle.set`

#### GET_VOLATILE

    public static final VarHandle.AccessMode GET_VOLATILE

The access mode whose access is specified by the corresponding method `VarHandle.getVolatile`

#### SET_VOLATILE

    public static final VarHandle.AccessMode SET_VOLATILE

The access mode whose access is specified by the corresponding method `VarHandle.setVolatile`

#### GET_ACQUIRE

    public static final VarHandle.AccessMode GET_ACQUIRE

The access mode whose access is specified by the corresponding method `VarHandle.getAcquire`

#### SET_RELEASE

    public static final VarHandle.AccessMode SET_RELEASE

The access mode whose access is specified by the corresponding method `VarHandle.setRelease`

#### GET_OPAQUE

    public static final VarHandle.AccessMode GET_OPAQUE

The access mode whose access is specified by the corresponding method `VarHandle.getOpaque`

#### SET_OPAQUE

    public static final VarHandle.AccessMode SET_OPAQUE

The access mode whose access is specified by the corresponding method `VarHandle.setOpaque`

#### COMPARE_AND_SET

    public static final VarHandle.AccessMode COMPARE_AND_SET

The access mode whose access is specified by the corresponding method `VarHandle.compareAndSet`

#### COMPARE_AND_EXCHANGE

    public static final VarHandle.AccessMode COMPARE_AND_EXCHANGE

The access mode whose access is specified by the corresponding method `VarHandle.compareAndExchange`

#### COMPARE_AND_EXCHANGE_ACQUIRE

    public static final VarHandle.AccessMode COMPARE_AND_EXCHANGE_ACQUIRE

The access mode whose access is specified by the corresponding method `VarHandle.compareAndExchangeAcquire`

#### COMPARE_AND_EXCHANGE_RELEASE

    public static final VarHandle.AccessMode COMPARE_AND_EXCHANGE_RELEASE

The access mode whose access is specified by the corresponding method `VarHandle.compareAndExchangeRelease`

#### WEAK_COMPARE_AND_SET_PLAIN

    public static final VarHandle.AccessMode WEAK_COMPARE_AND_SET_PLAIN

The access mode whose access is specified by the corresponding method `VarHandle.weakCompareAndSetPlain`

#### WEAK_COMPARE_AND_SET

    public static final VarHandle.AccessMode WEAK_COMPARE_AND_SET

The access mode whose access is specified by the corresponding method `VarHandle.weakCompareAndSet`

#### WEAK_COMPARE_AND_SET_ACQUIRE

    public static final VarHandle.AccessMode WEAK_COMPARE_AND_SET_ACQUIRE

The access mode whose access is specified by the corresponding method `VarHandle.weakCompareAndSetAcquire`

#### WEAK_COMPARE_AND_SET_RELEASE

    public static final VarHandle.AccessMode WEAK_COMPARE_AND_SET_RELEASE

The access mode whose access is specified by the corresponding method `VarHandle.weakCompareAndSetRelease`

#### GET_AND_SET

    public static final VarHandle.AccessMode GET_AND_SET

The access mode whose access is specified by the corresponding method `VarHandle.getAndSet`

#### GET_AND_SET_ACQUIRE

    public static final VarHandle.AccessMode GET_AND_SET_ACQUIRE

The access mode whose access is specified by the corresponding method `VarHandle.getAndSetAcquire`

#### GET_AND_SET_RELEASE

    public static final VarHandle.AccessMode GET_AND_SET_RELEASE

The access mode whose access is specified by the corresponding method `VarHandle.getAndSetRelease`

#### GET_AND_ADD

    public static final VarHandle.AccessMode GET_AND_ADD

The access mode whose access is specified by the corresponding method `VarHandle.getAndAdd`

#### GET_AND_ADD_ACQUIRE

    public static final VarHandle.AccessMode GET_AND_ADD_ACQUIRE

The access mode whose access is specified by the corresponding method `VarHandle.getAndAddAcquire`

#### GET_AND_ADD_RELEASE

    public static final VarHandle.AccessMode GET_AND_ADD_RELEASE

The access mode whose access is specified by the corresponding method `VarHandle.getAndAddRelease`

#### GET_AND_BITWISE_OR

    public static final VarHandle.AccessMode GET_AND_BITWISE_OR

The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseOr`

#### GET_AND_BITWISE_OR_RELEASE

    public static final VarHandle.AccessMode GET_AND_BITWISE_OR_RELEASE

The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseOrRelease`

#### GET_AND_BITWISE_OR_ACQUIRE

    public static final VarHandle.AccessMode GET_AND_BITWISE_OR_ACQUIRE

The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseOrAcquire`

#### GET_AND_BITWISE_AND

    public static final VarHandle.AccessMode GET_AND_BITWISE_AND

The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseAnd`

#### GET_AND_BITWISE_AND_RELEASE

    public static final VarHandle.AccessMode GET_AND_BITWISE_AND_RELEASE

The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseAndRelease`

#### GET_AND_BITWISE_AND_ACQUIRE

    public static final VarHandle.AccessMode GET_AND_BITWISE_AND_ACQUIRE

The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseAndAcquire`

#### GET_AND_BITWISE_XOR

    public static final VarHandle.AccessMode GET_AND_BITWISE_XOR

The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseXor`

#### GET_AND_BITWISE_XOR_RELEASE

    public static final VarHandle.AccessMode GET_AND_BITWISE_XOR_RELEASE

The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseXorRelease`

#### GET_AND_BITWISE_XOR_ACQUIRE

    public static final VarHandle.AccessMode GET_AND_BITWISE_XOR_ACQUIRE

The access mode whose access is specified by the corresponding method `VarHandle.getAndBitwiseXorAcquire`

### Method Detail

#### values

    public static VarHandle.AccessMode[] values()

Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

    for (VarHandle.AccessMode c : VarHandle.AccessMode.values())
        System.out.println(c);

Returns:
  an array containing the constants of this enum type, in the order they are declared

#### valueOf

    public static VarHandle.AccessMode valueOf​(String name)

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
  `name` - the name of the enum constant to be returned.
Returns:
  the enum constant with the specified name
Throws:
  `IllegalArgumentException` - if this enum type has no constant with the specified name
  `NullPointerException` - if the argument is null

#### methodName

    public String methodName()

Returns the `VarHandle` signature-polymorphic method name associated with this `AccessMode` value.

Returns:
  the signature-polymorphic method name
See Also:
  `valueFromMethodName(java.lang.String)`

#### valueFromMethodName

    public static VarHandle.AccessMode valueFromMethodName​(String methodName)

Returns the `AccessMode` value associated with the specified `VarHandle` signature-polymorphic method name.

Parameters:
  `methodName` - the signature-polymorphic method name
Returns:
  the `AccessMode` value
Throws:
  `IllegalArgumentException` - if there is no `AccessMode` value associated with method name (indicating the method name does not correspond to a `VarHandle` signature-polymorphic method name).
See Also:
  `methodName()`