public abstract class AbstractVMInstall extends Object implements IVMInstall, IVMInstall2, IVMInstall3
Clients implementing VM installs must subclass this class.
Constructor and Description |
---|
AbstractVMInstall(IVMInstallType type,
String id)
Constructs a new VM install.
|
Modifier and Type | Method and Description |
---|---|
protected void |
abort(String message,
Throwable exception,
int code)
Throws a core exception with an error status object built from the given
message, lower level exception, and error code.
|
boolean |
equals(Object object) |
Map<String,String> |
evaluateSystemProperties(String[] properties,
IProgressMonitor monitor)
Evaluates the specified system properties in this VM, returning the result
as a map of property names to property values.
|
String |
getAttribute(String key)
Returns a VM specific attribute associated with the given key or
null
if none. |
Map<String,String> |
getAttributes()
Returns a map of VM specific attributes stored with this VM install.
|
String |
getId()
Returns the id for this VM.
|
File |
getInstallLocation()
Returns the root directory of the install location of this VM.
|
URL |
getJavadocLocation()
Returns the Javadoc location associated with this VM install.
|
String |
getJavaVersion()
Returns a string representing the
java.version system property
of this VM install, or null if unknown. |
LibraryLocation[] |
getLibraryLocations()
Returns the library locations of this IVMInstall.
|
String |
getName()
Returns the display name of this VM.
|
String |
getVMArgs()
Returns VM arguments to be used with this vm install whenever this
VM is launched as a raw string, or
null if none. |
String[] |
getVMArguments()
Returns VM arguments to be used with this vm install whenever this
VM is launched as they should be passed to the command line, or
null if none. |
IVMInstallType |
getVMInstallType()
Returns the VM type of this VM.
|
IVMRunner |
getVMRunner(String mode)
Returns a VM runner that runs this installed VM in the given mode.
|
int |
hashCode() |
void |
setAttribute(String key,
String value)
Sets a VM specific attribute.
|
void |
setInstallLocation(File installLocation)
Sets the root directory of the install location of this VM.
|
void |
setJavadocLocation(URL url)
Sets the Javadoc location associated with this VM install.
|
void |
setLibraryLocations(LibraryLocation[] locations)
Sets the library locations of this IVMInstall.
|
void |
setName(String name)
Sets the display name of this VM.
|
protected void |
setNotify(boolean notify)
Whether this VM should fire property change notifications.
|
void |
setVMArgs(String vmArgs)
Sets VM arguments to be used with this vm install whenever this
VM is launched as a raw string, possibly
null . |
void |
setVMArguments(String[] vmArgs)
Sets VM arguments to be used with this vm install whenever this
VM is launched, possibly
null . |
public AbstractVMInstall(IVMInstallType type, String id)
type
- The type of this VM install.
Must not be null
id
- The unique identifier of this VM instance
Must not be null
.IllegalArgumentException
- if any of the required
parameters are null
.public String getId()
IVMInstall
getId
in interface IVMInstall
null
.public String getName()
IVMInstall
getName
in interface IVMInstall
null
.public void setName(String name)
IVMInstall
setName
in interface IVMInstall
name
- the display name of this VMpublic File getInstallLocation()
IVMInstall
getInstallLocation
in interface IVMInstall
null
.public void setInstallLocation(File installLocation)
IVMInstall
setInstallLocation
in interface IVMInstall
installLocation
- the root directory of this VM installationpublic IVMInstallType getVMInstallType()
IVMInstall
getVMInstallType
in interface IVMInstall
public IVMRunner getVMRunner(String mode)
IVMInstall
getVMRunner
in interface IVMInstall
mode
- the mode the VM should be launched in; one of the constants
declared in org.eclipse.debug.core.ILaunchManager
null
if the given mode
is not supported by this VM.ILaunchManager
public LibraryLocation[] getLibraryLocations()
IVMInstall
JavaRuntime.getLibraryLocations(IVMInstall)
to determine the libraries associated with this VM install.getLibraryLocations
in interface IVMInstall
null
to indicate that this VM install uses
the default library locations associated with this VM's install type.IVMInstall.setLibraryLocations(LibraryLocation[])
public void setLibraryLocations(LibraryLocation[] locations)
IVMInstall
setLibraryLocations
in interface IVMInstall
locations
- The LibraryLocation
s to associate
with this IVMInstall.
May be null
to indicate that this VM install uses
the default library locations associated with this VM's install type.public URL getJavadocLocation()
IVMInstall
getJavadocLocation
in interface IVMInstall
null
if nonepublic void setJavadocLocation(URL url)
IVMInstall
setJavadocLocation
in interface IVMInstall
url
- a url pointing to the Javadoc location associated with
this VM installprotected void setNotify(boolean notify)
notify
- if this VM should fire property change notifications.public String[] getVMArguments()
IVMInstall
null
if none.getVMArguments
in interface IVMInstall
null
if nonepublic void setVMArguments(String[] vmArgs)
IVMInstall
null
. This is equivalent
to setVMArgs(String)
with whitespace character delimited
arguments.setVMArguments
in interface IVMInstall
vmArgs
- VM arguments to be used with this vm install whenever this
VM is launched, possibly null
public String getVMArgs()
IVMInstall2
null
if none.getVMArgs
in interface IVMInstall2
null
if nonepublic void setVMArgs(String vmArgs)
IVMInstall2
null
.setVMArgs
in interface IVMInstall2
vmArgs
- VM arguments to be used with this vm install whenever this
VM is launched as a raw string, possibly null
public String getJavaVersion()
IVMInstall2
java.version
system property
of this VM install, or null
if unknown.getJavaVersion
in interface IVMInstall2
java.version
system property
of this VM install, or null
if unknown.public Map<String,String> evaluateSystemProperties(String[] properties, IProgressMonitor monitor) throws CoreException
IVMInstall3
evaluateSystemProperties
in interface IVMInstall3
properties
- the property names to evaluate, for example {"user.home"}
monitor
- progress monitor or null
CoreException
- if an exception occurs evaluating the propertiesprotected void abort(String message, Throwable exception, int code) throws CoreException
message
- the status messageexception
- lower level exception associated with the error, or
null
if nonecode
- error codeCoreException
- the "abort" core exceptionpublic void setAttribute(String key, String value)
null
as a value removes the attribute. Change
notification is provided to IVMInstallChangedListener
for VM attributes.key
- attribute key, cannot be null
value
- attribute value or null
to remove the attributepublic String getAttribute(String key)
null
if none.key
- attribute key, cannot be null
null
if none
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.