Module jdk.management
Package com.sun.management

# Class VMOption

java.lang.Object
com.sun.management.VMOption

public class VMOption extends Object
Information about a VM option including its value and where the value came from which is referred as its `origin`.

Each VM option has a default value. A VM option can be set at VM creation time typically as a command line argument to the launcher or an argument passed to the VM created using the JNI invocation interface. In addition, a VM option may be set via an environment variable or a configuration file. A VM option can also be set dynamically via a management interface after the VM was started. A `VMOption` contains the value of a VM option and the origin of that value at the time this `VMOption` object was constructed. The value of the VM option may be changed after the `VMOption` object was constructed,

Since:
  1.6

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`VMOption.Origin`
Origin of the value of a VM option.

## Constructor Summary

Constructors
Constructor
Description
`VMOption(String name, String value, boolean writeable, VMOption.Origin origin)`
Constructs a `VMOption`.

## Method Summary

Modifier and Type
Method
Description
`static VMOption`
`from(CompositeData cd)`
Returns a `VMOption` object represented by the given `CompositeData`.
`String`
`getName()`
Returns the name of this VM option.
`VMOption.Origin`
`getOrigin()`
Returns the origin of the value of this VM option.
`String`
`getValue()`
Returns the value of this VM option at the time when this `VMOption` was created.
`boolean`
`isWriteable()`
Tests if this VM option is writeable.

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### VMOption

public VMOption(String name, String value, boolean writeable, VMOption.Origin origin)
Constructs a `VMOption`.

Parameters:
  `name` - Name of a VM option.
  `value` - Value of a VM option.
  `writeable` - `true` if a VM option can be set dynamically, or `false` otherwise.
  `origin` - where the value of a VM option came from.
Throws:
  `NullPointerException` - if the name or value is `null`

## Method Details

### getName

public String getName()
Returns the name of this VM option.

Returns:
  the name of this VM option.

### getValue

public String getValue()
Returns the value of this VM option at the time when this `VMOption` was created. The value could have been changed.

Returns:
  the value of the VM option at the time when this `VMOption` was created.

### getOrigin

public VMOption.Origin getOrigin()
Returns the origin of the value of this VM option. That is, where the value of this VM option came from.

Returns:
  where the value of this VM option came from.

### isWriteable

public boolean isWriteable()
Tests if this VM option is writeable. If this VM option is writeable, it can be set by the `HotSpotDiagnosticMXBean.setVMOption` method.

Returns:
  `true` if this VM option is writeable; `false` otherwise.

### from

public static VMOption from(CompositeData cd)
Returns a `VMOption` object represented by the given `CompositeData`. The given `CompositeData` must contain the following attributes:

> description
> Attribute Name | Type
> --- | ---
> name | `java.lang.String`
> value | `java.lang.String`
> origin | `java.lang.String`
> writeable | `java.lang.Boolean`

Parameters:
  `cd` - `CompositeData` representing a `VMOption`
Returns:
  a `VMOption` object represented by `cd` if `cd` is not `null`; `null` otherwise.
Throws:
  `IllegalArgumentException` - if `cd` does not represent a `VMOption` with the attributes described above.