Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse JDT
Release 3.5

org.eclipse.jdt.launching
Class JavaRuntime

java.lang.Object
  extended by 
org.eclipse.jdt.launching.JavaRuntime

public final class JavaRuntime
extends Object

The central access point for launching support. This class manages the registered VM types contributed through the "org.eclipse.jdt.launching.vmType" extension point. As well, this class provides VM install change notification, and computes class paths and source lookup paths for launch configurations.

This class provides static methods only.

Restriction:
This class is not intended to be instantiated by clients.

Field Summary
static  String ATTR_CMDLINE
          Deprecated. - use IProcess.ATTR_CMDLINE
static  String CLASSPATH_ATTR_LIBRARY_PATH_ENTRY
          Attribute key for a classpath attribute referencing a list of shared libraries that should appear on the -Djava.library.path system property.
static int DEF_CONNECT_TIMEOUT
          Default launch/connect timeout (ms).
static int ERR_UNABLE_TO_RESOLVE_JRE
          A status code indicating that a JRE could not be resolved for a project.
static  String EXTENSION_POINT_EXECUTION_ENVIRONMENTS
          Simple identifier constant (value "executionEnvironments") for the execution environments extension point.
static  String EXTENSION_POINT_RUNTIME_CLASSPATH_ENTRY_RESOLVERS
          Simple identifier constant (value "runtimeClasspathEntryResolvers") for the runtime classpath entry resolvers extension point.
static  String EXTENSION_POINT_RUNTIME_CLASSPATH_PROVIDERS
          Simple identifier constant (value "classpathProviders") for the runtime classpath providers extension point.
static  String EXTENSION_POINT_VM_INSTALLS
          Simple identifier constant (value "vmInstalls") for the VM installs extension point.
static  String ID_PLUGIN
          Unique identifier constant (value "org.eclipse.jdt.launching") for the Java launching plug-in.
static  String JRE_CONTAINER
          Classpath container used for a project's JRE (value "org.eclipse.jdt.launching.JRE_CONTAINER").
static  String JRELIB_VARIABLE
          Classpath variable name used for the default JRE's library (value "JRE_LIB").
static  String JRESRC_VARIABLE
          Classpath variable name used for the default JRE's library source (value "JRE_SRC").
static  String JRESRCROOT_VARIABLE
          Classpath variable name used for the default JRE's library source root (value "JRE_SRCROOT").
static  String PREF_CONNECT_TIMEOUT
          Preference key for launch/connect timeout.
static  String PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE
          Preference key for the default problem severity when an execution environment is bound to a project's build path for which there is no strictly compatible JRE available in the workspace.
static  String PREF_VM_XML
          Preference key for the String of XML that defines all installed VMs.
 
Method Summary
static void addContainerResolver ( IRuntimeClasspathEntryResolver resolver, String containerIdentifier)
          Registers the given resolver for the specified container.
static void addVariableResolver ( IRuntimeClasspathEntryResolver resolver, String variableName)
          Registers the given resolver for the specified variable.
static void addVMInstallChangedListener ( IVMInstallChangedListener listener)
          Adds the given listener to the list of registered VM install changed listeners.
static  String[] computeDefaultRuntimeClassPath ( IJavaProject jproject)
          Computes the default application classpath entries for the given project.
static  String[] computeJavaLibraryPath ( IJavaProject project, boolean requiredProjects)
          Returns a collection of paths that should be appended to the given project's java.library.path system property when launched.
static  IRuntimeClasspathEntry computeJREEntry ( IJavaProject project)
          Returns a runtime classpath entry identifying the JRE referenced by the specified project, or null if none.
static  IRuntimeClasspathEntry computeJREEntry ( ILaunchConfiguration configuration)
          Returns a runtime classpath entry identifying the JRE to use when launching the specified configuration or null if none is specified.
static  IRuntimeClasspathEntry[] computeUnresolvedRuntimeClasspath ( IJavaProject project)
          Computes and returns the default unresolved runtime classpath for the given project.
static  IRuntimeClasspathEntry[] computeUnresolvedRuntimeClasspath ( ILaunchConfiguration configuration)
          Computes and returns the unresolved class path for the given launch configuration.
static  IRuntimeClasspathEntry[] computeUnresolvedSourceLookupPath ( ILaunchConfiguration configuration)
          Computes and returns the unresolved source lookup path for the given launch configuration.
static  IVMInstall computeVMInstall ( ILaunchConfiguration configuration)
          Returns the VM install for the given launch configuration.
static  VMStandin createVMFromDefinitionFile ( File eeFile, String name, String id)
          Creates a new VM based on the attributes specified in the given execution environment description file.
static void fireVMAdded ( IVMInstall vm)
          Notifies all VM install changed listeners of the VM addition
static void fireVMChanged ( PropertyChangeEvent event)
          Notifies all VM install changed listeners of the given property change.
static void fireVMRemoved ( IVMInstall vm)
          Notifies all VM install changed listeners of the VM removal
static  IRuntimeClasspathProvider getClasspathProvider ( ILaunchConfiguration configuration)
          Returns the classpath provider for the given launch configuration.
static  String getCompositeIdFromVM ( IVMInstall vm)
          Returns a String that uniquely identifies the specified VM across all VM types.
static  IClasspathEntry getDefaultJREContainerEntry ()
          Creates and returns a classpath entry describing the default JRE container entry.
static  IVMConnector getDefaultVMConnector ()
          Return the default VM connector.
static  IVMInstall getDefaultVMInstall ()
          Return the default VM set with setDefaultVM().
static  String getExecutionEnvironmentId ( IPath jreContainerPath)
          Returns the execution environment identifier in the following JRE classpath container path, or null if none.
static  IExecutionEnvironmentsManager getExecutionEnvironmentsManager ()
          Returns the execution environments manager.
static  IJavaProject getJavaProject ( ILaunchConfiguration configuration)
          Return the IJavaProject referenced in the specified configuration or null if none.
static  IClasspathEntry getJREVariableEntry ()
          Creates and returns a classpath entry describing the JRE_LIB classpath variable.
static  LibraryLocation[] getLibraryLocations ( IVMInstall vm)
          Evaluates library locations for a IVMInstall.
static  String[] getLibraryPaths ( IClasspathAttribute attribute)
          Returns an array of strings referencing shared libraries that should appear on the -Djava.library.path system property at runtime for an associated IClasspathEntry, or null if the given attribute is not a CLASSPATH_ATTR_LIBRARY_PATH_ENTRY.
static  Preferences getPreferences ()
          Returns the preference store for the launching plug-in.
static  String getProjectOutputDirectory ( ILaunchConfiguration config)
          Return the String representation of the default output directory of the launch config's project or null if there is no config, no project or some sort of problem.
static  ISourceContainer[] getSourceContainers ( IRuntimeClasspathEntry[] entries)
          Returns a collection of source containers corresponding to the given resolved runtime classpath entries.
static  IRuntimeClasspathProvider getSourceLookupPathProvider ( ILaunchConfiguration configuration)
          Returns the source lookup path provider for the given launch configuration.
static  IVMConnector getVMConnector ( String id)
          Returns the VM connector defined with the specified identifier, or null if none.
static  IVMConnector[] getVMConnectors ()
          Returns all VM connector extensions.
static  IVMInstall getVMFromCompositeId ( String idString)
          Return the VM corresponding to the specified composite Id.
static  IVMInstall getVMInstall ( IJavaProject project)
          Returns the VM assigned to build the given Java project.
static  IVMInstall getVMInstall ( IPath jreContainerPath)
          Returns the JRE referenced by the specified JRE classpath container path or null if none.
static  String getVMInstallName ( IPath jreContainerPath)
          Returns the name of the VM install referenced by the given JRE classpath container path, or null if none.
static  IVMInstallType getVMInstallType ( String id)
          Returns the VM install type with the given unique id.
static  String getVMInstallTypeId ( IPath jreContainerPath)
          Returns the identifier of the VM install type referenced by the given JRE classpath container path, or null if none.
static  IVMInstallType[] getVMInstallTypes ()
          Returns the list of registered VM types.
static boolean isContributedVMInstall ( String id)
          Returns whether the VM install with the specified id was contributed via the vmInstalls extension point.
static boolean isVMInstallReference ( IRuntimeClasspathEntry entry)
          Returns whether the given runtime classpath entry refers to a vm install.
static  IRuntimeClasspathEntry newArchiveRuntimeClasspathEntry ( IPath path)
          Returns a new runtime classpath entry for the given archive (possibly external).
static  IRuntimeClasspathEntry newArchiveRuntimeClasspathEntry ( IResource resource)
          Returns a new runtime classpath entry for the given archive.
static  IPath newDefaultJREContainerPath ()
          Returns a path for the JRE classpath container identifying the default VM install.
static  IRuntimeClasspathEntry newDefaultProjectClasspathEntry ( IJavaProject project)
          Returns a new runtime classpath entry containing the default classpath for the specified Java project.
static  IPath newJREContainerPath ( IExecutionEnvironment environment)
          Returns a path for the JRE classpath container identifying the specified execution environment.
static  IPath newJREContainerPath ( IVMInstall vm)
          Returns a path for the JRE classpath container identifying the specified VM install by type and name.
static  IPath newJREContainerPath ( String typeId, String name)
          Returns a path for the JRE classpath container identifying the specified VM install by type and name.
static  IClasspathAttribute newLibraryPathsAttribute ( String[] paths)
          Creates a new classpath attribute referencing a list of shared libraries that should appear on the -Djava.library.path system property at runtime for an associated IClasspathEntry.
static  IRuntimeClasspathEntry newProjectRuntimeClasspathEntry ( IJavaProject project)
          Returns a new runtime classpath entry for the given project.
static  IRuntimeClasspathEntry newRuntimeClasspathEntry ( String memento)
          Returns a runtime classpath entry constructed from the given memento.
static  IRuntimeClasspathEntry newRuntimeContainerClasspathEntry ( IPath path, int classpathProperty)
          Returns a runtime classpath entry for the given container path with the given classpath property.
static  IRuntimeClasspathEntry newRuntimeContainerClasspathEntry ( IPath path, int classpathProperty, IJavaProject project)
          Returns a runtime classpath entry for the given container path with the given classpath property to be resolved in the context of the given Java project.
static  IRuntimeClasspathEntry newStringVariableClasspathEntry ( String expression)
          Returns a new runtime classpath entry for the given expression that may contain string substitution variable references.
static  IRuntimeClasspathEntry newVariableRuntimeClasspathEntry ( IPath path)
          Returns a new runtime classpath entry for the classpath variable with the given path.
static void removeVMInstallChangedListener ( IVMInstallChangedListener listener)
          Removes the given listener from the list of registered VM install changed listeners.
static  IRuntimeClasspathEntry[] resolveRuntimeClasspath ( IRuntimeClasspathEntry[] entries, ILaunchConfiguration configuration)
          Resolves the given classpath, returning the resolved classpath in the context of the given launch configuration.
static  IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry ( IRuntimeClasspathEntry entry, IJavaProject project)
          Returns resolved entries for the given entry in the context of the given Java project.
static  IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry ( IRuntimeClasspathEntry entry, ILaunchConfiguration configuration)
          Returns resolved entries for the given entry in the context of the given launch configuration.
static  IRuntimeClasspathEntry[] resolveSourceLookupPath ( IRuntimeClasspathEntry[] entries, ILaunchConfiguration configuration)
          Resolves the given source lookup path, returning the resolved source lookup path in the context of the given launch configuration.
static void savePreferences ()
          Saves the preferences for the launching plug-in.
static void saveVMConfiguration ()
          Saves the VM configuration information to the preferences.
static void setDefaultVMConnector ( IVMConnector connector, IProgressMonitor monitor)
          Sets a VM connector as the system-wide default VM.
static void setDefaultVMInstall ( IVMInstall vm, IProgressMonitor monitor)
          Sets a VM as the system-wide default VM, and notifies registered VM install change listeners of the change.
static void setDefaultVMInstall ( IVMInstall vm, IProgressMonitor monitor, boolean savePreference)
          Sets a VM as the system-wide default VM, and notifies registered VM install change listeners of the change.
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JRELIB_VARIABLE

public static final 
String JRELIB_VARIABLE
Classpath variable name used for the default JRE's library (value "JRE_LIB").

See Also:
Constant Field Values

JRESRC_VARIABLE

public static final 
String JRESRC_VARIABLE
Classpath variable name used for the default JRE's library source (value "JRE_SRC").

See Also:
Constant Field Values

JRESRCROOT_VARIABLE

public static final 
String JRESRCROOT_VARIABLE
Classpath variable name used for the default JRE's library source root (value "JRE_SRCROOT").

See Also:
Constant Field Values

EXTENSION_POINT_RUNTIME_CLASSPATH_ENTRY_RESOLVERS

public static final 
String EXTENSION_POINT_RUNTIME_CLASSPATH_ENTRY_RESOLVERS
Simple identifier constant (value "runtimeClasspathEntryResolvers") for the runtime classpath entry resolvers extension point.

Since:
2.0
See Also:
Constant Field Values

EXTENSION_POINT_RUNTIME_CLASSPATH_PROVIDERS

public static final 
String EXTENSION_POINT_RUNTIME_CLASSPATH_PROVIDERS
Simple identifier constant (value "classpathProviders") for the runtime classpath providers extension point.

Since:
2.0
See Also:
Constant Field Values

EXTENSION_POINT_EXECUTION_ENVIRONMENTS

public static final 
String EXTENSION_POINT_EXECUTION_ENVIRONMENTS
Simple identifier constant (value "executionEnvironments") for the execution environments extension point.

Since:
3.2
See Also:
Constant Field Values

EXTENSION_POINT_VM_INSTALLS

public static final 
String EXTENSION_POINT_VM_INSTALLS
Simple identifier constant (value "vmInstalls") for the VM installs extension point.

Since:
3.2
See Also:
Constant Field Values

JRE_CONTAINER

public static final 
String JRE_CONTAINER
Classpath container used for a project's JRE (value "org.eclipse.jdt.launching.JRE_CONTAINER"). A container is resolved in the context of a specific Java project, to one or more system libraries contained in a JRE. The container can have zero or two path segments following the container name. When no segments follow the container name, the workspace default JRE is used to build a project. Otherwise the segments identify a specific JRE used to build a project:
  1. VM Install Type Identifier - identifies the type of JRE used to build the project. For example, the standard VM.
  2. VM Install Name - a user defined name that identifies that a specific VM of the above kind. For example, IBM 1.3.1. This information is shared in a projects classpath file, so teams must agree on JRE naming conventions.

Since 3.2, the path may also identify an execution environment as follows:

  1. Execution environment extension point name (value executionEnvironments)
  2. Identifier of a contributed execution environment

Since:
2.0

ERR_UNABLE_TO_RESOLVE_JRE

public static final int ERR_UNABLE_TO_RESOLVE_JRE
A status code indicating that a JRE could not be resolved for a project. When a JRE cannot be resolved for a project by this plug-in's container initializer, an exception is thrown with this status code. A status handler may be registered for this status code. The source object provided to the status handler is the Java project for which the path could not be resolved. The status handler must return an IVMInstall or null. The container resolver will re-set the project's classpath if required.

Since:
2.0
See Also:
Constant Field Values

PREF_CONNECT_TIMEOUT

public static final 
String PREF_CONNECT_TIMEOUT
Preference key for launch/connect timeout. VM Runners should honor this timeout value when attempting to launch and connect to a debuggable VM. The value is an int, indicating a number of milliseconds.

Since:
2.0

PREF_VM_XML

public static final 
String PREF_VM_XML
Preference key for the String of XML that defines all installed VMs.

Since:
2.1

PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE

public static final 
String PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE
Preference key for the default problem severity when an execution environment is bound to a project's build path for which there is no strictly compatible JRE available in the workspace. Value is one of JavaCore.ERROR, JavaCore.WARNING, or JavaCore.IGNORE

Since:
3.5

ID_PLUGIN

public static final 
String ID_PLUGIN
Unique identifier constant (value "org.eclipse.jdt.launching") for the Java launching plug-in.

Since:
3.5
See Also:
Constant Field Values

DEF_CONNECT_TIMEOUT

public static final int DEF_CONNECT_TIMEOUT
Default launch/connect timeout (ms).

Since:
2.0
See Also:
Constant Field Values

ATTR_CMDLINE

public static final 
String ATTR_CMDLINE
Deprecated. - use IProcess.ATTR_CMDLINE
Attribute key for a process property. The class org.eclipse.debug.core.model.IProcess allows attaching String properties to processes. The value of this attribute is the command line a process was launched with. Implementers of IVMRunner should use this attribute key to attach the command lines to the processes they create.


CLASSPATH_ATTR_LIBRARY_PATH_ENTRY

public static final 
String CLASSPATH_ATTR_LIBRARY_PATH_ENTRY
Attribute key for a classpath attribute referencing a list of shared libraries that should appear on the -Djava.library.path system property.

The factory methods newLibraryPathsAttribute(String[]) and getLibraryPaths(IClasspathAttribute) should be used to encode and decode the attribute value.

Each string is used to create an IPath using the constructor Path(String), and may contain IStringVariable's. Variable substitution is performed on the string prior to constructing a path from the string. If the resulting IPath is a relative path, it is interpreted as relative to the workspace location. If the path is absolute, it is interpreted as an absolute path in the local file system.

Since:
3.1
See Also:
IClasspathAttribute
Method Detail

getVMInstall

public static 
IVMInstall getVMInstall(
IJavaProject project)
                               throws 
CoreException
Returns the VM assigned to build the given Java project. The project must exist. The VM assigned to a project is determined from its build path.

Parameters:
project - the project to retrieve the VM from
Returns:
the VM instance that is assigned to build the given Java project Returns null if no VM is referenced on the project's build path.
Throws:
CoreException - if unable to determine the project's VM install

getVMInstallType

public static 
IVMInstallType getVMInstallType(
String id)
Returns the VM install type with the given unique id.

Parameters:
id - the VM install type unique id
Returns:
The VM install type for the given id, or null if no VM install type with the given id is registered.

setDefaultVMInstall

public static void setDefaultVMInstall(
IVMInstall vm,
                                       
IProgressMonitor monitor)
                                throws 
CoreException
Sets a VM as the system-wide default VM, and notifies registered VM install change listeners of the change.

Parameters:
vm - The vm to make the default. May be null to clear the default.
monitor - progress monitor or null
Throws:
CoreException

setDefaultVMInstall

public static void setDefaultVMInstall(
IVMInstall vm,
                                       
IProgressMonitor monitor,
                                       boolean savePreference)
                                throws 
CoreException
Sets a VM as the system-wide default VM, and notifies registered VM install change listeners of the change.

Parameters:
vm - The vm to make the default. May be null to clear the default.
monitor - progress monitor or null
savePreference - If true, update workbench preferences to reflect the new default VM.
Throws:
CoreException
Since:
2.1

setDefaultVMConnector

public static void setDefaultVMConnector(
IVMConnector connector,
                                         
IProgressMonitor monitor)
                                  throws 
CoreException
Sets a VM connector as the system-wide default VM. This setting is persisted when saveVMConfiguration is called.

Parameters:
connector - The connector to make the default. May be null to clear the default.
monitor - The progress monitor to use
Throws:
CoreException - Thrown if saving the new default setting fails
Since:
2.0

getDefaultVMInstall

public static 
IVMInstall getDefaultVMInstall()
Return the default VM set with setDefaultVM().

Returns:
Returns the default VM. May return null when no default VM was set or when the default VM has been disposed.

getDefaultVMConnector

public static 
IVMConnector getDefaultVMConnector()
Return the default VM connector.

Returns:
Returns the default VM connector.
Since:
2.0

getVMInstallTypes

public static 
IVMInstallType[] getVMInstallTypes()
Returns the list of registered VM types. VM types are registered via "org.eclipse.jdt.launching.vmTypes" extension point. Returns an empty list if there are no registered VM types.

Returns:
the list of registered VM types

getCompositeIdFromVM

public static 
String getCompositeIdFromVM(
IVMInstall vm)
Returns a String that uniquely identifies the specified VM across all VM types.

Parameters:
vm - the instance of IVMInstallType to be identified
Since:
2.1

getVMFromCompositeId

public static 
IVMInstall getVMFromCompositeId(
String idString)
Return the VM corresponding to the specified composite Id. The id uniquely identifies a VM across all vm types.

Parameters:
idString - the composite id that specifies an instance of IVMInstall
Since:
2.1

newStringVariableClasspathEntry

public static 
IRuntimeClasspathEntry newStringVariableClasspathEntry(
String expression)
Returns a new runtime classpath entry for the given expression that may contain string substitution variable references. The resulting expression refers to an archive (jar or directory) containing class files.

Parameters:
expression - an expression that resolves to the location of an archive
Returns:
runtime classpath entry
Since:
3.0

newDefaultProjectClasspathEntry

public static 
IRuntimeClasspathEntry newDefaultProjectClasspathEntry(
IJavaProject project)
Returns a new runtime classpath entry containing the default classpath for the specified Java project.

Parameters:
project - Java project
Returns:
runtime classpath entry
Since:
3.0

newProjectRuntimeClasspathEntry

public static 
IRuntimeClasspathEntry newProjectRuntimeClasspathEntry(
IJavaProject project)
Returns a new runtime classpath entry for the given project.

Parameters:
project - Java project
Returns:
runtime classpath entry
Since:
2.0

newArchiveRuntimeClasspathEntry

public static 
IRuntimeClasspathEntry newArchiveRuntimeClasspathEntry(
IResource resource)
Returns a new runtime classpath entry for the given archive.

Parameters:
resource - archive resource
Returns:
runtime classpath entry
Since:
2.0

newArchiveRuntimeClasspathEntry

public static 
IRuntimeClasspathEntry newArchiveRuntimeClasspathEntry(
IPath path)
Returns a new runtime classpath entry for the given archive (possibly external).

Parameters:
path - absolute path to an archive
Returns:
runtime classpath entry
Since:
2.0

newVariableRuntimeClasspathEntry

public static 
IRuntimeClasspathEntry newVariableRuntimeClasspathEntry(
IPath path)
Returns a new runtime classpath entry for the classpath variable with the given path.

Parameters:
path - variable path; first segment is the name of the variable; trailing segments are appended to the resolved variable value
Returns:
runtime classpath entry
Since:
2.0

newRuntimeContainerClasspathEntry

public static 
IRuntimeClasspathEntry newRuntimeContainerClasspathEntry(
IPath path,
                                                                       int classpathProperty)
                                                                throws 
CoreException
Returns a runtime classpath entry for the given container path with the given classpath property.

Parameters:
path - container path
classpathProperty - the type of entry - one of USER_CLASSES, BOOTSTRAP_CLASSES, or STANDARD_CLASSES
Returns:
runtime classpath entry
Throws:
CoreException - if unable to construct a runtime classpath entry
Since:
2.0

newRuntimeContainerClasspathEntry

public static 
IRuntimeClasspathEntry newRuntimeContainerClasspathEntry(
IPath path,
                                                                       int classpathProperty,
                                                                       
IJavaProject project)
                                                                throws 
CoreException
Returns a runtime classpath entry for the given container path with the given classpath property to be resolved in the context of the given Java project.

Parameters:
path - container path
classpathProperty - the type of entry - one of USER_CLASSES, BOOTSTRAP_CLASSES, or STANDARD_CLASSES
project - Java project context used for resolution, or null if to be resolved in the context of the launch configuration this entry is referenced in
Returns:
runtime classpath entry
Throws:
CoreException - if unable to construct a runtime classpath entry
Since:
3.0

newRuntimeClasspathEntry

public static 
IRuntimeClasspathEntry newRuntimeClasspathEntry(
String memento)
                                                       throws 
CoreException
Returns a runtime classpath entry constructed from the given memento.

Parameters:
memento - a memento for a runtime classpath entry
Returns:
runtime classpath entry
Throws:
CoreException - if unable to construct a runtime classpath entry
Since:
2.0

computeUnresolvedRuntimeClasspath

public static 
IRuntimeClasspathEntry[] computeUnresolvedRuntimeClasspath(
IJavaProject project)
                                                                  throws 
CoreException
Computes and returns the default unresolved runtime classpath for the given project.

Returns:
runtime classpath entries
Throws:
CoreException - if unable to compute the runtime classpath
Since:
2.0
See Also:
IRuntimeClasspathEntry

computeUnresolvedSourceLookupPath

public static 
IRuntimeClasspathEntry[] computeUnresolvedSourceLookupPath(
ILaunchConfiguration configuration)
                                                                  throws 
CoreException
Computes and returns the unresolved source lookup path for the given launch configuration.

Parameters:
configuration - launch configuration
Returns:
runtime classpath entries
Throws:
CoreException - if unable to compute the source lookup path
Since:
2.0

resolveSourceLookupPath

public static 
IRuntimeClasspathEntry[] resolveSourceLookupPath(
IRuntimeClasspathEntry[] entries,
                                                               
ILaunchConfiguration configuration)
                                                        throws 
CoreException
Resolves the given source lookup path, returning the resolved source lookup path in the context of the given launch configuration.

Parameters:
entries - unresolved entries
configuration - launch configuration
Returns:
resolved entries
Throws:
CoreException - if unable to resolve the source lookup path
Since:
2.0

getClasspathProvider

public static 
IRuntimeClasspathProvider getClasspathProvider(
ILaunchConfiguration configuration)
                                                      throws 
CoreException
Returns the classpath provider for the given launch configuration.

Parameters:
configuration - launch configuration
Returns:
classpath provider
Throws:
CoreException - if unable to resolve the path provider
Since:
2.0

getSourceLookupPathProvider

public static 
IRuntimeClasspathProvider getSourceLookupPathProvider(
ILaunchConfiguration configuration)
                                                             throws 
CoreException
Returns the source lookup path provider for the given launch configuration.

Parameters:
configuration - launch configuration
Returns:
source lookup path provider
Throws:
CoreException - if unable to resolve the path provider
Since:
2.0

resolveRuntimeClasspathEntry

public static 
IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(
IRuntimeClasspathEntry entry,
                                                                    
ILaunchConfiguration configuration)
                                                             throws 
CoreException
Returns resolved entries for the given entry in the context of the given launch configuration. If the entry is of kind VARIABLE or CONTAINER, variable and container resolvers are consulted. If the entry is of kind PROJECT, and the associated Java project specifies non-default output locations, the corresponding output locations are returned. Otherwise, the given entry is returned.

If the given entry is a variable entry, and a resolver is not registered, the entry itself is returned. If the given entry is a container, and a resolver is not registered, resolved runtime classpath entries are calculated from the associated container classpath entries, in the context of the project associated with the given launch configuration.

Parameters:
entry - runtime classpath entry
configuration - launch configuration
Returns:
resolved runtime classpath entry
Throws:
CoreException - if unable to resolve
Since:
2.0
See Also:
IRuntimeClasspathEntryResolver

resolveRuntimeClasspathEntry

public static 
IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(
IRuntimeClasspathEntry entry,
                                                                    
IJavaProject project)
                                                             throws 
CoreException
Returns resolved entries for the given entry in the context of the given Java project. If the entry is of kind VARIABLE or CONTAINER, variable and container resolvers are consulted. If the entry is of kind PROJECT, and the associated Java project specifies non-default output locations, the corresponding output locations are returned. Otherwise, the given entry is returned.

If the given entry is a variable entry, and a resolver is not registered, the entry itself is returned. If the given entry is a container, and a resolver is not registered, resolved runtime classpath entries are calculated from the associated container classpath entries, in the context of the given project.

Parameters:
entry - runtime classpath entry
project - Java project context
Returns:
resolved runtime classpath entry
Throws:
CoreException - if unable to resolve
Since:
2.0
See Also:
IRuntimeClasspathEntryResolver

computeUnresolvedRuntimeClasspath

public static 
IRuntimeClasspathEntry[] computeUnresolvedRuntimeClasspath(
ILaunchConfiguration configuration)
                                                                  throws 
CoreException
Computes and returns the unresolved class path for the given launch configuration. Variable and container entries are unresolved.

Parameters:
configuration - launch configuration
Returns:
unresolved runtime classpath entries
Throws:
CoreException - if unable to compute the classpath
Since:
2.0

resolveRuntimeClasspath

public static 
IRuntimeClasspathEntry[] resolveRuntimeClasspath(
IRuntimeClasspathEntry[] entries,
                                                               
ILaunchConfiguration configuration)
                                                        throws 
CoreException
Resolves the given classpath, returning the resolved classpath in the context of the given launch configuration.

Parameters:
entries - unresolved classpath
configuration - launch configuration
Returns:
resolved runtime classpath entries
Throws:
CoreException - if unable to compute the classpath
Since:
2.0

getJavaProject

public static 
IJavaProject getJavaProject(
ILaunchConfiguration configuration)
                                   throws 
CoreException
Return the IJavaProject referenced in the specified configuration or null if none.

Throws:
CoreException - if the referenced Java project does not exist
Since:
2.0

computeVMInstall

public static 
IVMInstall computeVMInstall(
ILaunchConfiguration configuration)
                                   throws 
CoreException
Returns the VM install for the given launch configuration. The VM install is determined in the following prioritized way:
  1. The VM install is explicitly specified on the launch configuration via the ATTR_JRE_CONTAINER_PATH attribute (since 3.2).
  2. The VM install is explicitly specified on the launch configuration via the ATTR_VM_INSTALL_TYPE and ATTR_VM_INSTALL_ID attributes.
  3. If no explicit VM install is specified, the VM install associated with the launch configuration's project is returned.
  4. If no project is specified, or the project does not specify a custom VM install, the workspace default VM install is returned.

Parameters:
configuration - launch configuration
Returns:
vm install
Throws:
CoreException - if unable to compute a vm install
Since:
2.0

computeDefaultRuntimeClassPath

public static 
String[] computeDefaultRuntimeClassPath(
IJavaProject jproject)
                                               throws 
CoreException
Computes the default application classpath entries for the given project.

Parameters:
jproject - The project to compute the classpath for
Returns:
The computed classpath. May be empty, but not null.
Throws:
CoreException - if unable to compute the default classpath

saveVMConfiguration

public static void saveVMConfiguration()
                                throws 
CoreException
Saves the VM configuration information to the preferences. This includes the following information:
  • The list of all defined IVMInstall instances.
  • The default VM
    • This state will be read again upon first access to VM configuration information.

      Throws:
      CoreException

isContributedVMInstall

public static boolean isContributedVMInstall(
String id)
Returns whether the VM install with the specified id was contributed via the vmInstalls extension point.

Parameters:
id - vm id
Returns:
whether the vm install was contributed via extension point
Since:
3.2

getLibraryLocations

public static 
LibraryLocation[] getLibraryLocations(
IVMInstall vm)
Evaluates library locations for a IVMInstall. If no library locations are set on the install, a default location is evaluated and checked if it exists.

Returns:
library locations with paths that exist or are empty
Since:
2.0

getJREVariableEntry

public static 
IClasspathEntry getJREVariableEntry()
Creates and returns a classpath entry describing the JRE_LIB classpath variable.

Returns:
a new IClasspathEntry that describes the JRE_LIB classpath variable

getDefaultJREContainerEntry

public static 
IClasspathEntry getDefaultJREContainerEntry()
Creates and returns a classpath entry describing the default JRE container entry.

Returns:
a new IClasspathEntry that describes the default JRE container entry
Since:
2.0

newDefaultJREContainerPath

public static 
IPath newDefaultJREContainerPath()
Returns a path for the JRE classpath container identifying the default VM install.

Returns:
classpath container path
Since:
3.2

newJREContainerPath

public static 
IPath newJREContainerPath(
IVMInstall vm)
Returns a path for the JRE classpath container identifying the specified VM install by type and name.

Parameters:
vm - vm install
Returns:
classpath container path
Since:
3.2

newJREContainerPath

public static 
IPath newJREContainerPath(
String typeId,
                                        
String name)
Returns a path for the JRE classpath container identifying the specified VM install by type and name.

Parameters:
typeId - vm install type identifier
name - vm install name
Returns:
classpath container path
Since:
3.2

newJREContainerPath

public static 
IPath newJREContainerPath(
IExecutionEnvironment environment)
Returns a path for the JRE classpath container identifying the specified execution environment.

Parameters:
environment - execution environment
Returns:
classpath container path
Since:
3.2

getVMInstall

public static 
IVMInstall getVMInstall(
IPath jreContainerPath)
Returns the JRE referenced by the specified JRE classpath container path or null if none.

Parameters:
jreContainerPath -
Returns:
JRE referenced by the specified JRE classpath container path or null
Since:
3.2

getVMInstallTypeId

public static 
String getVMInstallTypeId(
IPath jreContainerPath)
Returns the identifier of the VM install type referenced by the given JRE classpath container path, or null if none.

Parameters:
jreContainerPath -
Returns:
vm install type identifier or null
Since:
3.2

getVMInstallName

public static 
String getVMInstallName(
IPath jreContainerPath)
Returns the name of the VM install referenced by the given JRE classpath container path, or null if none.

Parameters:
jreContainerPath -
Returns:
vm name or null
Since:
3.2

getExecutionEnvironmentId

public static 
String getExecutionEnvironmentId(
IPath jreContainerPath)
Returns the execution environment identifier in the following JRE classpath container path, or null if none.

Parameters:
jreContainerPath - classpath container path
Returns:
execution environment identifier or null
Since:
3.2

computeJREEntry

public static 
IRuntimeClasspathEntry computeJREEntry(
ILaunchConfiguration configuration)
                                              throws 
CoreException
Returns a runtime classpath entry identifying the JRE to use when launching the specified configuration or null if none is specified. The entry returned represents a either a classpath variable or classpath container that resolves to a JRE.

The entry is resolved as follows:

  1. If the ATTR_JRE_CONTAINER_PATH is present, it is used to create a classpath container referring to a JRE.
  2. Next, if the ATTR_VM_INSTALL_TYPE and ATTR_VM_INSTALL_NAME attributes are present, they are used to create a classpath container.
  3. When none of the above attributes are specified, a default entry is created which refers to the JRE referenced by the build path of the configuration's associated Java project. This could be a classpath variable or classpath container.
  4. When there is no Java project associated with a configuration, the workspace default JRE is used to create a container path.

Parameters:
configuration -
Returns:
classpath container path identifying a JRE or null
Throws:
CoreException - if an exception occurs retrieving attributes from the specified launch configuration
Since:
3.2

computeJREEntry

public static 
IRuntimeClasspathEntry computeJREEntry(
IJavaProject project)
                                              throws 
CoreException
Returns a runtime classpath entry identifying the JRE referenced by the specified project, or null if none. The entry returned represents a either a classpath variable or classpath container that resolves to a JRE.

Parameters:
project - Java project
Returns:
JRE runtime classpath entry or null
Throws:
CoreException - if an exception occurs accessing the project's classpath
Since:
3.2

isVMInstallReference

public static boolean isVMInstallReference(
IRuntimeClasspathEntry entry)
Returns whether the given runtime classpath entry refers to a vm install.

Parameters:
entry -
Returns:
whether the given runtime classpath entry refers to a vm install
Since:
3.2

getVMConnector

public static 
IVMConnector getVMConnector(
String id)
Returns the VM connector defined with the specified identifier, or null if none.

Parameters:
id - VM connector identifier
Returns:
VM connector or null if none
Since:
2.0

getVMConnectors

public static 
IVMConnector[] getVMConnectors()
Returns all VM connector extensions.

Returns:
VM connectors
Since:
2.0

getPreferences

public static 
Preferences getPreferences()
Returns the preference store for the launching plug-in.

Returns:
the preference store for the launching plug-in
Since:
2.0

savePreferences

public static void savePreferences()
Saves the preferences for the launching plug-in.

Since:
2.0

addVariableResolver

public static void addVariableResolver(
IRuntimeClasspathEntryResolver resolver,
                                       
String variableName)
Registers the given resolver for the specified variable.

Parameters:
resolver - runtime classpath entry resolver
variableName - variable name to register for
Since:
2.0

addContainerResolver

public static void addContainerResolver(
IRuntimeClasspathEntryResolver resolver,
                                        
String containerIdentifier)
Registers the given resolver for the specified container.

Parameters:
resolver - runtime classpath entry resolver
containerIdentifier - identifier of the classpath container to register for
Since:
2.0

addVMInstallChangedListener

public static void addVMInstallChangedListener(
IVMInstallChangedListener listener)
Adds the given listener to the list of registered VM install changed listeners. Has no effect if an identical listener is already registered.

Parameters:
listener - the listener to add
Since:
2.0

removeVMInstallChangedListener

public static void removeVMInstallChangedListener(
IVMInstallChangedListener listener)
Removes the given listener from the list of registered VM install changed listeners. Has no effect if an identical listener is not already registered.

Parameters:
listener - the listener to remove
Since:
2.0

fireVMChanged

public static void fireVMChanged(
PropertyChangeEvent event)
Notifies all VM install changed listeners of the given property change.

Parameters:
event - event describing the change.
Since:
2.0

fireVMAdded

public static void fireVMAdded(
IVMInstall vm)
Notifies all VM install changed listeners of the VM addition

Parameters:
vm - the VM that has been added
Since:
2.0

fireVMRemoved

public static void fireVMRemoved(
IVMInstall vm)
Notifies all VM install changed listeners of the VM removal

Parameters:
vm - the VM that has been removed
Since:
2.0

getProjectOutputDirectory

public static 
String getProjectOutputDirectory(
ILaunchConfiguration config)
Return the String representation of the default output directory of the launch config's project or null if there is no config, no project or some sort of problem.

Returns:
the default output directory for the specified launch configuration's project
Since:
2.1

getSourceContainers

public static 
ISourceContainer[] getSourceContainers(
IRuntimeClasspathEntry[] entries)
Returns a collection of source containers corresponding to the given resolved runtime classpath entries.

Note that the entries must be resolved to ARCHIVE and PROJECT entries, as source containers cannot be determined for unresolved entries.

Parameters:
entries - entries to translate
Returns:
source containers corresponding to the given runtime classpath entries
Since:
3.1

computeJavaLibraryPath

public static 
String[] computeJavaLibraryPath(
IJavaProject project,
                                              boolean requiredProjects)
                                       throws 
CoreException
Returns a collection of paths that should be appended to the given project's java.library.path system property when launched. Entries are searched for on the project's build path as extra classpath attributes. Each entry represents an absolute path in the local file system.

Parameters:
project - the project to compute the java.library.path for
requiredProjects - whether to consider entries in required projects
Returns:
a collection of paths representing entries that should be appended to the given project's java.library.path
Throws:
CoreException - if unable to compute the Java library path
Since:
3.1
See Also:
IClasspathAttribute, CLASSPATH_ATTR_LIBRARY_PATH_ENTRY

newLibraryPathsAttribute

public static 
IClasspathAttribute newLibraryPathsAttribute(
String[] paths)
Creates a new classpath attribute referencing a list of shared libraries that should appear on the -Djava.library.path system property at runtime for an associated IClasspathEntry.

The factory methods newLibraryPathsAttribute(String[]) and getLibraryPaths(IClasspathAttribute) should be used to encode and decode the attribute value.

Parameters:
paths - an array of strings representing paths of shared libraries. Each string is used to create an IPath using the constructor Path(String), and may contain IStringVariable's. Variable substitution is performed on each string before a path is constructed from a string.
Returns:
a classpath attribute with the name CLASSPATH_ATTR_LIBRARY_PATH_ENTRY and an value encoded to the specified paths.
Since:
3.1

getLibraryPaths

public static 
String[] getLibraryPaths(
IClasspathAttribute attribute)
Returns an array of strings referencing shared libraries that should appear on the -Djava.library.path system property at runtime for an associated IClasspathEntry, or null if the given attribute is not a CLASSPATH_ATTR_LIBRARY_PATH_ENTRY. Each string is used to create an IPath using the constructor Path(String), and may contain IStringVariable's.

The factory methods newLibraryPathsAttribute(String[]) and getLibraryPaths(IClasspathAttribute) should be used to encode and decode the attribute value.

Parameters:
attribute - a CLASSPATH_ATTR_LIBRARY_PATH_ENTRY classpath attribute
Returns:
an array of strings referencing shared libraries that should appear on the -Djava.library.path system property at runtime for an associated IClasspathEntry, or null if the given attribute is not a CLASSPATH_ATTR_LIBRARY_PATH_ENTRY. Each string is used to create an IPath using the constructor Path(String), and may contain IStringVariable's.
Since:
3.1

getExecutionEnvironmentsManager

public static 
IExecutionEnvironmentsManager getExecutionEnvironmentsManager()
Returns the execution environments manager.

Returns:
execution environments manager
Since:
3.2

createVMFromDefinitionFile

public static 
VMStandin createVMFromDefinitionFile(
File eeFile,
                                                   
String name,
                                                   
String id)
                                            throws 
CoreException
Creates a new VM based on the attributes specified in the given execution environment description file. The format of the file is defined by https://wiki.eclipse.org/Execution_Environment_Descriptions.

Parameters:
eeFile - VM definition file
name - name for the VM, or null if a default name should be assigned
id - id to assign to the new VM
Returns:
VM standin
Throws:
CoreException - if unable to create a VM from the given definition file
Since:
3.4

Eclipse JDT
Release 3.5

Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.

 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire