Class AbstractVMInstall

    • Constructor Detail

      • AbstractVMInstall

        public AbstractVMInstall​(IVMInstallType type,
                                 String id)
        Constructs a new VM install.
        Parameters:
        type - The type of this VM install. Must not be null
        id - The unique identifier of this VM instance Must not be null.
        Throws:
        IllegalArgumentException - if any of the required parameters are null.
    • Method Detail

      • getId

        public String getId()
        Description copied from interface: IVMInstall
        Returns the id for this VM. VM IDs are unique within the VMs of a given VM type. The VM id is not intended to be presented to users.
        Specified by:
        getId in interface IVMInstall
        Returns:
        the VM identifier. Must not return null.
      • getName

        public String getName()
        Description copied from interface: IVMInstall
        Returns the display name of this VM. The VM name is intended to be presented to users.
        Specified by:
        getName in interface IVMInstall
        Returns:
        the display name of this VM. May return null.
      • setName

        public void setName​(String name)
        Description copied from interface: IVMInstall
        Sets the display name of this VM. The VM name is intended to be presented to users.
        Specified by:
        setName in interface IVMInstall
        Parameters:
        name - the display name of this VM
      • getInstallLocation

        public File getInstallLocation()
        Description copied from interface: IVMInstall
        Returns the root directory of the install location of this VM.
        Specified by:
        getInstallLocation in interface IVMInstall
        Returns:
        the root directory of this VM installation. May return null.
      • setInstallLocation

        public void setInstallLocation​(File installLocation)
        Description copied from interface: IVMInstall
        Sets the root directory of the install location of this VM.
        Specified by:
        setInstallLocation in interface IVMInstall
        Parameters:
        installLocation - the root directory of this VM installation
      • getVMInstallType

        public IVMInstallType getVMInstallType()
        Description copied from interface: IVMInstall
        Returns the VM type of this VM.
        Specified by:
        getVMInstallType in interface IVMInstall
        Returns:
        the VM type that created this IVMInstall instance
      • getVMRunner

        public IVMRunner getVMRunner​(String mode)
        Description copied from interface: IVMInstall
        Returns a VM runner that runs this installed VM in the given mode.
        Specified by:
        getVMRunner in interface IVMInstall
        Parameters:
        mode - the mode the VM should be launched in; one of the constants declared in org.eclipse.debug.core.ILaunchManager
        Returns:
        a VMRunner for a given mode May return null if the given mode is not supported by this VM.
        See Also:
        ILaunchManager
      • getLibraryLocations

        public LibraryLocation[] getLibraryLocations()
        Description copied from interface: IVMInstall
        Returns the library locations of this IVMInstall. Generally, clients should use JavaRuntime.getLibraryLocations(IVMInstall) to determine the libraries associated with this VM install.
        Specified by:
        getLibraryLocations in interface IVMInstall
        Returns:
        The library locations of this IVMInstall. Returns null to indicate that this VM install uses the default library locations associated with this VM's install type.
        See Also:
        IVMInstall.setLibraryLocations(LibraryLocation[])
      • setLibraryLocations

        public void setLibraryLocations​(LibraryLocation[] locations)
        Description copied from interface: IVMInstall
        Sets the library locations of this IVMInstall.
        Specified by:
        setLibraryLocations in interface IVMInstall
        Parameters:
        locations - The LibraryLocations 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.
      • getJavadocLocation

        public URL getJavadocLocation()
        Description copied from interface: IVMInstall
        Returns the Javadoc location associated with this VM install.
        Specified by:
        getJavadocLocation in interface IVMInstall
        Returns:
        a url pointing to the Javadoc location associated with this VM install, or null if none
      • setJavadocLocation

        public void setJavadocLocation​(URL url)
        Description copied from interface: IVMInstall
        Sets the Javadoc location associated with this VM install.
        Specified by:
        setJavadocLocation in interface IVMInstall
        Parameters:
        url - a url pointing to the Javadoc location associated with this VM install
      • setNotify

        protected void setNotify​(boolean notify)
        Whether this VM should fire property change notifications.
        Parameters:
        notify - if this VM should fire property change notifications.
        Since:
        2.1
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • getVMArguments

        public String[] getVMArguments()
        Description copied from interface: IVMInstall
        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.
        Specified by:
        getVMArguments in interface IVMInstall
        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
      • setVMArguments

        public void setVMArguments​(String[] vmArgs)
        Description copied from interface: IVMInstall
        Sets VM arguments to be used with this vm install whenever this VM is launched, possibly null. This is equivalent to setVMArgs(String) with whitespace character delimited arguments.
        Specified by:
        setVMArguments in interface IVMInstall
        Parameters:
        vmArgs - VM arguments to be used with this vm install whenever this VM is launched, possibly null
      • getVMArgs

        public String getVMArgs()
        Description copied from interface: IVMInstall2
        Returns VM arguments to be used with this vm install whenever this VM is launched as a raw string, or null if none.
        Specified by:
        getVMArgs in interface IVMInstall2
        Returns:
        VM arguments to be used with this vm install whenever this VM is launched as a raw string, or null if none
      • setVMArgs

        public void setVMArgs​(String vmArgs)
        Description copied from interface: IVMInstall2
        Sets VM arguments to be used with this vm install whenever this VM is launched as a raw string, possibly null.
        Specified by:
        setVMArgs in interface IVMInstall2
        Parameters:
        vmArgs - VM arguments to be used with this vm install whenever this VM is launched as a raw string, possibly null
      • getJavaVersion

        public String getJavaVersion()
        Description copied from interface: IVMInstall2
        Returns a string representing the java.version system property of this VM install, or null if unknown.
        Specified by:
        getJavaVersion in interface IVMInstall2
        Returns:
        a string representing the java.version system property of this VM install, or null if unknown.
      • evaluateSystemProperties

        public Map<String,​String> evaluateSystemProperties​(String[] properties,
                                                                 IProgressMonitor monitor)
                                                          throws CoreException
        Description copied from interface: IVMInstall3
        Evaluates the specified system properties in this VM, returning the result as a map of property names to property values.
        Specified by:
        evaluateSystemProperties in interface IVMInstall3
        Parameters:
        properties - the property names to evaluate, for example {"user.home"}
        monitor - progress monitor or null
        Returns:
        map of system property names to associated property values
        Throws:
        CoreException - if an exception occurs evaluating the properties
      • abort

        protected void abort​(String message,
                             Throwable exception,
                             int code)
                      throws CoreException
        Throws a core exception with an error status object built from the given message, lower level exception, and error code.
        Parameters:
        message - the status message
        exception - lower level exception associated with the error, or null if none
        code - error code
        Throws:
        CoreException - the "abort" core exception
        Since:
        3.2
      • setAttribute

        public void setAttribute​(String key,
                                 String value)
        Sets a VM specific attribute. Attributes are persisted and restored with VM installs. Specifying a value of null as a value removes the attribute. Change notification is provided to IVMInstallChangedListener for VM attributes.
        Parameters:
        key - attribute key, cannot be null
        value - attribute value or null to remove the attribute
        Since:
        3.4
      • getAttribute

        public String getAttribute​(String key)
        Returns a VM specific attribute associated with the given key or null if none.
        Parameters:
        key - attribute key, cannot be null
        Returns:
        attribute value, or null if none
        Since:
        3.4
      • getAttributes

        public Map<String,​String> getAttributes()
        Returns a map of VM specific attributes stored with this VM install. Keys and values are strings. Modifying the map does not modify the attributes associated with this VM install.
        Returns:
        map of VM attributes
        Since:
        3.4