Class 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 Detail

      • 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 Detail

      • ExecutionEnvironmentDescription

        public ExecutionEnvironmentDescription​(File eeFile)
                                        throws 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 http://wiki.eclipse.org/Execution_Environment_Descriptions.
        Parameters:
        eeFile - execution environment description file
        Throws:
        CoreException - if unable to read or parse the file
    • Method Detail

      • 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