Package org.eclipse.jdt.launching
Class AbstractVMInstallType
- java.lang.Object
-
- org.eclipse.jdt.launching.AbstractVMInstallType
-
- All Implemented Interfaces:
IExecutableExtension
,IVMInstallType
public abstract class AbstractVMInstallType extends Object implements IVMInstallType, IExecutableExtension
Abstract implementation of a VM install type. Subclasses should implementIVMInstall doCreateVMInstall(String id)
String getName()
IStatus validateInstallLocation(File installLocation)
Clients implementing VM install types should subclass this class.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractVMInstallType()
Constructs a new VM install type.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description IVMInstall
createVMInstall(String id)
Creates a new instance of this VM Install type.void
disposeVMInstall(String id)
Remove the VM associated with the given id from the set of VMs managed by this VM type.protected abstract IVMInstall
doCreateVMInstall(String id)
Subclasses should return a new instance of the appropriateIVMInstall
subclass from this method.IVMInstall
findVMInstall(String id)
Finds the VM with the given id.IVMInstall
findVMInstallByName(String name)
Finds the VM with the given name.URL
getDefaultJavadocLocation(File installLocation)
Returns a URL for the default javadoc location of a VM installed at the given home location, ornull
if none.String
getDefaultVMArguments(File installLocation)
Returns a string of default VM arguments for a VM installed at the given home location, ornull
if none.String
getId()
Returns the globally unique id of this VM type.IVMInstall[]
getVMInstalls()
Returns all VM instances managed by this VM type.void
setInitializationData(IConfigurationElement config, String propertyName, Object data)
Initializes the id parameter from the "id" attribute in the configuration markup.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.jdt.launching.IVMInstallType
detectInstallLocation, getDefaultLibraryLocations, getName, validateInstallLocation
-
-
-
-
Method Detail
-
getVMInstalls
public IVMInstall[] getVMInstalls()
Description copied from interface:IVMInstallType
Returns all VM instances managed by this VM type.- Specified by:
getVMInstalls
in interfaceIVMInstallType
- Returns:
- the list of VM instances managed by this VM type
-
disposeVMInstall
public void disposeVMInstall(String id)
Description copied from interface:IVMInstallType
Remove the VM associated with the given id from the set of VMs managed by this VM type. Has no effect if a VM with the given id is not currently managed by this type. A VM install that is disposed may not be used anymore.- Specified by:
disposeVMInstall
in interfaceIVMInstallType
- Parameters:
id
- the id of the VM to be disposed.
-
findVMInstall
public IVMInstall findVMInstall(String id)
Description copied from interface:IVMInstallType
Finds the VM with the given id.- Specified by:
findVMInstall
in interfaceIVMInstallType
- Parameters:
id
- the VM id- Returns:
- a VM instance, or
null
if not found
-
createVMInstall
public IVMInstall createVMInstall(String id) throws IllegalArgumentException
Description copied from interface:IVMInstallType
Creates a new instance of this VM Install type. The newly created IVMInstall is managed by this IVMInstallType.- Specified by:
createVMInstall
in interfaceIVMInstallType
- Parameters:
id
- An id String that must be unique within this IVMInstallType.- Returns:
- the newly created VM instance
- Throws:
IllegalArgumentException
- If the id exists already.
-
doCreateVMInstall
protected abstract IVMInstall doCreateVMInstall(String id)
Subclasses should return a new instance of the appropriateIVMInstall
subclass from this method.- Parameters:
id
- The vm's id. TheIVMInstall
instance that is created must returnid
from itsgetId()
method. Must not benull
.- Returns:
- the newly created IVMInstall instance. Must not return
null
.
-
setInitializationData
public void setInitializationData(IConfigurationElement config, String propertyName, Object data)
Initializes the id parameter from the "id" attribute in the configuration markup. Subclasses should not override this method.- Specified by:
setInitializationData
in interfaceIExecutableExtension
- Parameters:
config
- the configuration element used to trigger this execution. It can be queried by the executable extension for specific configuration propertiespropertyName
- the name of an attribute of the configuration element used on thecreateExecutableExtension(String)
call. This argument can be used in the cases where a single configuration element is used to define multiple executable extensions.data
- adapter data in the form of aString
, aHashtable
, ornull
.- See Also:
IExecutableExtension.setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object)
-
getId
public String getId()
Description copied from interface:IVMInstallType
Returns the globally unique id of this VM type. Clients are responsible for providing a unique id.- Specified by:
getId
in interfaceIVMInstallType
- Returns:
- the id of this IVMInstallType
-
findVMInstallByName
public IVMInstall findVMInstallByName(String name)
Description copied from interface:IVMInstallType
Finds the VM with the given name.- Specified by:
findVMInstallByName
in interfaceIVMInstallType
- Parameters:
name
- the VM name- Returns:
- a VM instance, or
null
if not found
-
getDefaultJavadocLocation
public URL getDefaultJavadocLocation(File installLocation)
Returns a URL for the default javadoc location of a VM installed at the given home location, ornull
if none. The default implementation returnsnull
, subclasses must override as appropriate.Note, this method would ideally be added to
IVMInstallType
, but it would have been a breaking API change between 2.0 and 2.1. Thus, it has been added to the abstract base class that VM install types should subclass.- Parameters:
installLocation
- home location- Returns:
- default javadoc location or
null
- Since:
- 2.1
-
getDefaultVMArguments
public String getDefaultVMArguments(File installLocation)
Returns a string of default VM arguments for a VM installed at the given home location, ornull
if none. The default implementation returnsnull
, subclasses must override as appropriate.Note, this method would ideally be added to
IVMInstallType
, but it would have been a breaking API change between 2.0 and 3.4. Thus, it has been added to the abstract base class that VM install types should subclass.- Parameters:
installLocation
- home location- Returns:
- default VM arguments or
null
if none - Since:
- 3.4
-
-