# Class ExecutionEnvironmentDescription

java.lang.Object
org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription

public final class ExecutionEnvironmentDescription extends Object
Helper class to parse and retrieve properties from execution environment description files. An execution environment description file can be used to define attributes relevant the launching of a specific JRE configuration. The format of the file is defined by `http://wiki.eclipse.org/Execution_Environment_Descriptions`.

Since:
  3.5

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`ADDITIONAL_DIRS`
Additional directories property name in an execution environment description file.
`static final String`
`BOOT_CLASS_PATH`
Boot class path property name in an execution environment description file.
`static final String`
`CLASS_LIB_LEVEL`
OSGi profile property name in an execution environment description file.
`static final String`
`DEBUG_ARGS`
Debug arguments property name in an execution environment description file.
`static final String`
`EE_HOME`
The directory containing the execution environment description file.
`static final String`
`EE_NAME`
VM name property name in an execution environment description file.
`static final String`
`ENDORSED_DIRS`
Endorsed directories property name in an execution environment description file.
`static final String`
`EXECUTABLE`
Executable property name in an execution environment description file.
`static final String`
`EXECUTABLE_CONSOLE`
Console executable property name in an execution environment description file.
`static final String`
`EXTENSION_DIRS`
Extension directories property name in an execution environment description file.
`static final String`
`INDEX_LOC`
Pre-built index location property in an execution environment description file.
`static final String`
`JAVA_HOME`
Java home property name in an execution environment description file.
`static final String`
`JAVADOC_LOC`
Javadoc location property name in an execution environment description file.
`static final String`
`LANGUAGE_LEVEL`
Language level property name in an execution environment description file.
`static final String`
`SOURCE_DEFAULT`
Source archive property name in an execution environment description file.
`static final String`
`SOURCE_MAP`
Source map property name in an execution environment description file.

## Constructor Summary

Constructors
Constructor
Description
`ExecutionEnvironmentDescription(File eeFile)`
Creates an execution environment description based on the properties defined in the given execution environment description file.
`ExecutionEnvironmentDescription(Map<String,String> eeProperties)`
Creates an execution environment description based on the given execution environment description properties.

## Method Summary

Modifier and Type
Method
Description
`File`
`getConsoleExecutable()`
Returns the console executable for this description as a file or `null` if not specified.
`File`
`getExecutable()`
Returns the executable for this description as a file or `null` if not specified.
`LibraryLocation[]`
`getLibraryLocations()`
Returns the location of the system libraries defined in this execution environment.
`Map<String,String>`
`getProperties()`
Returns a map of properties defined in this execution environment description.
`String`
`getProperty(String property)`
Returns the specified property from this description, or `null` if none.
`String`
`getVMArguments()`
Returns VM arguments in this description or `null` if none.

### Methods inherited from class Object

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

## Field Details

### ENDORSED_DIRS

public static final String ENDORSED_DIRS
Endorsed directories property name in an execution environment description file.

See Also:
  - Constant Field Values

### BOOT_CLASS_PATH

public static final String BOOT_CLASS_PATH
Boot class path property name in an execution environment description file.

See Also:
  - Constant Field Values

### SOURCE_DEFAULT

public static final String SOURCE_DEFAULT
Source archive property name in an execution environment description file. Value is a path. When present, the source attachment for each library in the boot class path will be the file specified by this property.

See Also:
  - Constant Field Values

### SOURCE_MAP

public static final String SOURCE_MAP
Source map property name in an execution environment description file.

Maps class libraries to source attachments. Value is one or more entries of the form `libPath=sourcePath` separated by platform specific file separator. The paths can use `{$ee.home}` and `'..'` as well as the wild card characters '`?`" (any one character) and '`*`' (any number of characters). The `sourcePath` can use the wild card characters to have the source path be based on the wild card replacement in the `libPath`. In this case the wild card characters in the `sourcePath` must exist in the same order as the `libPath`. For example, `lib/foo*.???=source/src*foo.???`.

See Also:
  - Constant Field Values

### JAVADOC_LOC

public static final String JAVADOC_LOC
Javadoc location property name in an execution environment description file.

Specifies javadoc location for class libraries. Must be a URL. You can use `${ee.home}` and `'..'` segments to specify a file location relative to the ee file. If this property is not specified in the file, javadoc locations will be set to a default location based on the language level.

See Also:
  - Constant Field Values

### INDEX_LOC

public static final String INDEX_LOC
Pre-built index location property in an execution environment description file.

Specifies the location for a pre-built search index. Must be a valid `URL`. You can use `${ee.home}` and `'..'` segments to specify a file location relative to the ee file. If this property is not specified the default value of `null` will be used.

Since:
  3.7
See Also:
  - Constant Field Values

### ADDITIONAL_DIRS

public static final String ADDITIONAL_DIRS
Additional directories property name in an execution environment description file.

See Also:
  - Constant Field Values

### EXTENSION_DIRS

public static final String EXTENSION_DIRS
Extension directories property name in an execution environment description file.

See Also:
  - Constant Field Values

### LANGUAGE_LEVEL

public static final String LANGUAGE_LEVEL
Language level property name in an execution environment description file. For example, 1.4 or 1.5.

See Also:
  - Constant Field Values

### CLASS_LIB_LEVEL

public static final String CLASS_LIB_LEVEL
OSGi profile property name in an execution environment description file.

The value is the identifier of an OSGi profile, such as `J2SE-1.4`.

See Also:
  - Constant Field Values

### EXECUTABLE

public static final String EXECUTABLE
Executable property name in an execution environment description file. For example, `javaw.exe`.

See Also:
  - Constant Field Values

### EXECUTABLE_CONSOLE

public static final String EXECUTABLE_CONSOLE
Console executable property name in an execution environment description file. For example, `java.exe`.

See Also:
  - Constant Field Values

### JAVA_HOME

public static final String JAVA_HOME
Java home property name in an execution environment description file.

The root install directory of the runtime environment or development kit. Corresponds to a value that could be used for `JAVA_HOME` environment variable

See Also:
  - Constant Field Values

### DEBUG_ARGS

public static final String DEBUG_ARGS
Debug arguments property name in an execution environment description file.

The arguments to use to launch the VM in debug mode. For example `"-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:${port}"`. The `${port}` variable will be substituted with a free port at launch time. When unspecified, default arguments are constructed based on the language level of the VM.

See Also:
  - Constant Field Values

### EE_NAME

public static final String EE_NAME
VM name property name in an execution environment description file.

The name is used as the JRE name when installing an EE JRE into Eclipse.

See Also:
  - Constant Field Values

### EE_HOME

public static final String EE_HOME
The directory containing the execution environment description file. Relative paths are resolved relative to this location. This property will be set if not present, it does not need to be specified in the file.

See Also:
  - Constant Field Values

## Constructor Details

### ExecutionEnvironmentDescription

public ExecutionEnvironmentDescription(File eeFile) throws org.eclipse.core.runtime.CoreException
Creates an execution environment description based on the properties defined in the given execution environment description file. The format of the file is defined by `https://wiki.eclipse.org/Execution_Environment_Descriptions`.

Parameters:
  `eeFile` - execution environment description file
Throws:
  `org.eclipse.core.runtime.CoreException` - if unable to read or parse the file

### ExecutionEnvironmentDescription

public ExecutionEnvironmentDescription(Map<String,String> eeProperties)
Creates an execution environment description based on the given execution environment description properties. The contained properties are defined in `https://wiki.eclipse.org/Execution_Environment_Descriptions`.

Parameters:
  `eeProperties` - execution environment description properties
Since:
  3.21

## Method Details

### getProperties

public Map<String,String> getProperties()
Returns a map of properties defined in this execution environment description. Properties in the file that do not have a value assigned to them are returned in the keys with an empty string as the value. Variable substitutions for `${ee.home}` have already been performed when resolving property values.

Returns:
  properties as a map of `String` keys and values

### getProperty

public String getProperty(String property)
Returns the specified property from this description, or `null` if none.

Parameters:
  `property` - property name
Returns:
  property value or `null`

### getLibraryLocations

public LibraryLocation[] getLibraryLocations()
Returns the location of the system libraries defined in this execution environment. Libraries are generated from the endorsed directories, boot class path, additional directories, and extension directories specified by this description and are returned in that order. Source attachments are configured based on `src` and `src.map` properties.

Returns:
  library locations, possibly empty

### getVMArguments

public String getVMArguments()
Returns VM arguments in this description or `null` if none. VM arguments correspond to all properties in this description that do not begin with "-Dee." concatenated together with spaces. Any single VM argument that contains spaces itself is surrounded with quotes.

Returns:
  VM arguments or `null` if none

### getExecutable

public File getExecutable()
Returns the executable for this description as a file or `null` if not specified.

Returns:
  standard (non-console) executable or `null` if none

### getConsoleExecutable

public File getConsoleExecutable()
Returns the console executable for this description as a file or `null` if not specified.

Returns:
  console executable or `null` if none