Class UninstallerProxy

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String decryptEncryptedValue​(java.lang.String var)
      This method returns the decrypted value if an numeric encrypted value is passed
      int getCurrentProgressPercentage()
      This method provides the percentage done of the progress bar during the installation of the installer
      java.lang.Object getEncryptedVariable​(java.lang.String var)
      This method returns the encrypted literal Object represented by an InstallAnywhere variable
      java.io.DataInput getLogInput()
      This method returns an instance that implements java.io.DataInput.
      java.net.URL getResource​(java.lang.String archivePath)
      This method provides a mechanism to access resources located in the user archive.
      java.lang.Object getService​(java.lang.Class requestedServiceClass)
      This method provides access to InstallAnywhere uninstaller services
      java.io.File getTempDirectory()
      This method creates and returns a temporary directory.
      java.lang.String getValue​(java.lang.String key)
      This method loads an i18n resource for the current locale.
      java.lang.String getValue​(java.lang.String key, java.util.Locale locale)
      This method loads an i18n resource for a specific locale.
      java.lang.Object getVariable​(java.lang.String var)
      This method returns the literal Object represented by an InstallAnywhere variable
      java.util.Enumeration getVariables()
      This method returns an enumeration containing the name of all variables defined in the installer or uninstaller.
      java.io.File saveURLContentToFile​(java.net.URL url)
      This method is used to store the contents of the given java.net.URL to a temporary file.
      void setProgressAccess​(ProgressAccess progressAccess)
      NOTE : This method is for InstallAnywhere internal use.
      void setProgressDescription​(java.lang.String text)
      Sets the description that is shown during the action's execution.
      void setProgressPercentage​(float percentage)
      Sets the percentage of the progress bar.
      void setProgressStatusText​(java.lang.String text)
      Sets the status text associated with the action's current progress.
      void setProgressTitle​(java.lang.String title)
      Sets the title of the panel showing the action's current progress.
      java.lang.Object setVariable​(java.lang.String var, java.lang.Object value)
      This method sets the named variable to the specified value.
      java.lang.String substitute​(java.lang.String var)
      This method fully resolves a String that may contain embedded InstallAnywhere variables
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • UninstallerProxy

        public UninstallerProxy​(ResourceAccess _ra,
                                VariableAccess _va,
                                I18NAccess _i18na,
                                UninstallerAccess _ua)

        Constructor

        Creates an instance of the UninstallerProxy.

        Parameters:
        _ra - Access to the designer-specified resources.
        _va - Access to the runtime variables.
        _i18na - Access to the international resources.
        _ua - Access to a log file for retrieving information placed during install.
        _osxPO - Access to executing privileged operations on OSX
    • Method Detail

      • setProgressAccess

        public void setProgressAccess​(ProgressAccess progressAccess)
        NOTE : This method is for InstallAnywhere internal use. Customer use is not recommended.

        This method provides a mechanism to set the current access object for interaction with the progress bar.

        Parameters:
        progressAccess - The ProgressAccess instance to be utilized for interaction with the progress architecture.
      • getResource

        public java.net.URL getResource​(java.lang.String archivePath)

        This method provides a mechanism to access resources located in the user archive.

        Specified by:
        getResource in interface IAProxy
        Specified by:
        getResource in interface ResourceAccess
        Parameters:
        archivePath - a forward-slash ('/') delimited path relative to the root of the archive. For example "com/acme/picture.gif".
        Returns:
        an instance of java.net.URL that refers to a resource located in the uninstaller archive.
      • getTempDirectory

        public java.io.File getTempDirectory()
                                      throws java.io.IOException

        This method creates and returns a temporary directory.

        InstallAnywhere will delete the temp directory and all of its contents at the completion of the uninstall.

        Specified by:
        getTempDirectory in interface IAProxy
        Specified by:
        getTempDirectory in interface ResourceAccess
        Returns:
        an instance of java.io.File that rerepresents the temp directory created by InstallAnywhere.
        Throws:
        java.io.IOException
      • saveURLContentToFile

        public java.io.File saveURLContentToFile​(java.net.URL url)
                                          throws java.io.IOException

        This method is used to store the contents of the given java.net.URL to a temporary file.

        Specified by:
        saveURLContentToFile in interface IAProxy
        Specified by:
        saveURLContentToFile in interface ResourceAccess
        Parameters:
        url - the java.net.URL whose contents are to be stored to a temporary file.
        Returns:
        an instance of java.io.File that refers to the temporary file in which the contents of the URL have been stored.
        Throws:
        java.io.IOException
      • getValue

        public java.lang.String getValue​(java.lang.String key,
                                         java.util.Locale locale)

        This method loads an i18n resource for a specific locale.

        Gives access to locale-specific static UI strings. The resource is returned from the specified custom_ file. This is useful if you want to internationalize custom code.

        Localized resources should be placed in the custom_ files in the i18nresources directory in the resource directory of your InstallAnywhere installation ([InstallAnywhere]/resource/i18nresources/custom_[locale]) prior to building the installer in the InstallAnywhere designer. Resources are included in the locale files using Java properties file notation (i.e., a key/value combination delimited by an equals sign ('=') with no spaces between the key, value, and delimiter).

        Resources are then accessed during uninstall time by specifying the desired key.

        For example:
           getValue("userpanel.imageresource", Locale.ENGLISH)
        would retrieve the value of userpanel.imagesource from the custom_en locale file.

        Specified by:
        getValue in interface I18NAccess
        Specified by:
        getValue in interface IAProxy
        Parameters:
        key - the Key in the externalized property file for i18n.
        locale - the Locale from which property file to load value specified by the Key.
        Returns:
        the value of the Key from the Locales property file.
      • getValue

        public java.lang.String getValue​(java.lang.String key)

        This method loads an i18n resource for the current locale.

        Gives access to locale-specific static UI strings. The resource is returned from the custom_ file the uninstallation locale. This is useful if you want to internationalize custom code.

        Localized resources should be placed in the custom_ files in the i18nresources directory in the resource directory of your InstallAnywhere installation ([InstallAnywhere]/resource/i18nresources/custom_[locale]) prior to building the installer in the InstallAnywhere designer. Resources are included in the locale files using Java properties file notation (i.e., a key/value combination delimited by an equals sign ('=') with no spaces between the key, value, and delimiter).

        Resources are then accessed during uninstall time by specifying the desired key.

        For example:
           getValue("userpanel.imageresource")
        would retrieve the value of userpanel.imagesource from locale file for the current installation locale.

        Specified by:
        getValue in interface I18NAccess
        Specified by:
        getValue in interface IAProxy
        Parameters:
        key - the Key in the externalized property file for i18n.
        Returns:
        the value of the Key from the Locales property file.
      • getLogInput

        public java.io.DataInput getLogInput()

        This method returns an instance that implements java.io.DataInput.

        Information written to the instance of java.io.DataOutput returned by the getLogOutput() method by the action during installation can be retrieved during uninstall by using the instance of java.io.DataInput returned by this method.

        The getLogOutput() method is available in the InstallerProxy interface, which should be called during installation.

        ExecuteCustomCode's run as part of the Pre/Post Uninstall sequence should not read from getLogInput().

        Specified by:
        getLogInput in interface UninstallerAccess
        See Also:
        DataInput, InstallerProxy.getLogOutput()
      • setProgressPercentage

        public void setProgressPercentage​(float percentage)

        Sets the percentage of the progress bar.

        Specified by:
        setProgressPercentage in interface ProgressAccess
        Parameters:
        percentage - The current percentage value for the progress bar
      • setProgressStatusText

        public void setProgressStatusText​(java.lang.String text)

        Sets the status text associated with the action's current progress. This is shown above the progress bar in GUI mode.

        Specified by:
        setProgressStatusText in interface ProgressAccess
        Parameters:
        text - The status text to be associated with the progress
      • setProgressTitle

        public void setProgressTitle​(java.lang.String title)

        Sets the title of the panel showing the action's current progress. e.g. The "Please, wait" panel that can be optionally shown when a custom action is occurring.

        NOTE: This progress title is only utilized when the action is operating outside of the uninstall sequence (e.g. it would operate within the pre-uninstall sequence, etc.). Within the uninstall sequence, use of this method is allowed, but ignored.

        Specified by:
        setProgressTitle in interface ProgressAccess
        Parameters:
        title - The title of the panel showing the progress
      • setProgressDescription

        public void setProgressDescription​(java.lang.String text)

        Sets the description that is shown during the action's execution. e.g. This is the main text in the "Please, wait" panel that can be optionally shown when a custom action is occurring.

        NOTE: This progress description is only utilized when the action is operating outside of the uninstall sequence (e.g. it would operate within the pre-uninstall sequence, etc.). Within the uninstall sequence, use of this method is allowed, but ignored.

        Specified by:
        setProgressDescription in interface ProgressAccess
        Parameters:
        text - The description text of the panel showing the progress
      • getService

        public java.lang.Object getService​(java.lang.Class requestedServiceClass)

        This method provides access to InstallAnywhere uninstaller services

        The Object returned by this method must be cast to the requested service. The returned Object, if the service is available, is guaranteed to implement requestedServiceClass.

        Specified by:
        getService in interface IAProxy
        Specified by:
        getService in interface ServiceAccess
        Parameters:
        requestedServiceClass - a class representing the the interface of the service requested.
        Returns:
        an instance of the requested service.

        The extensions currently available are:

        See Also:
        SimpleRegistryManager
      • substitute

        public java.lang.String substitute​(java.lang.String var)

        This method fully resolves a String that may contain embedded InstallAnywhere variables

        The String returned is guaranteed to resolve all InstallAnywhere variables embedded in the parameter passed to this method. Variables contained (embedded) within the String are fully and recursively resolved (i.e., they are resolved recursively). InstallAnywhere variables that are to be resolved are identified by their surrounding dollar signs ($). If no value has been set for a given variable name, that variable is resolved to the empty String.

        For example, calling this method on the String:

           "The files have been $PLACED$ in $USER_INSTALL_DIR$"

        would return a String with $PLACED$ and $USER_INSTALL_DIR$ resolved to the toString() values of the objects represented by the InstallAnywhere variables.

        This method is particularly useful for resolving file system paths represented by InstallAnywhere variables for Magic Folders and is the preferred mechanism for retrieving this type of data.

        Specified by:
        substitute in interface IAProxy
        Specified by:
        substitute in interface VariableAccess
        Parameters:
        var - the String that is to be substituted (i.e., the String whose embedded InstallAnywhere variables are to be resolved).
        Returns:
        a String representing the fully resolved contents of the String var that is passed to the method.
        See Also:
        getVariable(String), setVariable(String, Object)
      • getVariable

        public java.lang.Object getVariable​(java.lang.String var)

        This method returns the literal Object represented by an InstallAnywhere variable

        InstallAnywhere variables are identified by their surrounding dollar signs ($). If no value has been set for a given variable name, null is returned.

        The getVariable() method does not recursively resolve variables. If the intention is to get the String representation of a particular InstallAnywhere variable, the substitute()method is generally preferred.

        For example, getVariable("$USER_INSTALL_DIR$") would return the MagicFolder object for the current install location, while substitute("$USER_INSTALL_DIR$") would return a String representing the absolute path to the current install location.

        Specified by:
        getVariable in interface IAProxy
        Specified by:
        getVariable in interface VariableAccess
        Parameters:
        var - the String that represents the name of the InstallAnywhere variable whose contents are to be retrieved.
        Returns:
        the Object representing contents of the named InstallAnywhere variable that is passed as a parameter to the method.
        See Also:
        substitute(String), setVariable(String, Object)
      • getVariables

        public java.util.Enumeration getVariables()

        This method returns an enumeration containing the name of all variables defined in the installer or uninstaller.

        To get the literal Object represented by an InstallAnywhere variable use the getVariable() method.

        Specified by:
        getVariables in interface VariableAccess
        Returns:
        Enumeration with the name of the variables.
        See Also:
        getVariable(String)
      • setVariable

        public java.lang.Object setVariable​(java.lang.String var,
                                            java.lang.Object value)

        This method sets the named variable to the specified value.

        If the variable was already set, its previous value is returned. Otherwise, returns null.

        Specified by:
        setVariable in interface IAProxy
        Specified by:
        setVariable in interface VariableAccess
        Parameters:
        var - The String representation of the variable to be set.
        value - The value of the variable to be set.
        Returns:
        The previous value of the variable, or null if the variable was not previously set.
      • getEncryptedVariable

        public java.lang.Object getEncryptedVariable​(java.lang.String var)

        This method returns the encrypted literal Object represented by an InstallAnywhere variable

        InstallAnywhere variables are identified by their surrounding dollar signs ($). If no value has been set for a given variable name, null is returned.

        The getVariable() method does not recursively resolve variables. If the intention is to get the String representation of a particular InstallAnywhere variable, the substitute()method is generally preferred.

        For example, getVariable("$USER_INSTALL_DIR$") would return the MagicFolder object for the current install location, while substitute("$USER_INSTALL_DIR$") would return a String representing the absolute path to the current install location.

        Specified by:
        getEncryptedVariable in interface VariableAccess
        Parameters:
        var - the String that represents the name of the InstallAnywhere variable whose contents are to be retrieved.
        Returns:
        the Object representing contents of the named InstallAnywhere variable that is passed as a parameter to the method.
        See Also:
        substitute(String)
      • decryptEncryptedValue

        public java.lang.String decryptEncryptedValue​(java.lang.String var)

        This method returns the decrypted value if an numeric encrypted value is passed

        Specified by:
        decryptEncryptedValue in interface VariableAccess
        Parameters:
        var - the String that represents the numeric value of the encrypted value which has to be decrypted.
        Returns:
        the String representing decrypted value.
      • getCurrentProgressPercentage

        public int getCurrentProgressPercentage()

        This method provides the percentage done of the progress bar during the installation of the installer

        Specified by:
        getCurrentProgressPercentage in interface IAProxy
        Returns:
        percentageDone The current percentage completed value for the progress bar