org.xoe.core.packages
Class BaseInstaller

java.lang.Object
  |
  +--org.xoe.core.packages.BaseInstaller
All Implemented Interfaces:
Constants, IPackageXMLHandler, IService

public class BaseInstaller
extends Object
implements IPackageXMLHandler

PackageXMLHandler for the basic package information provisio which includes name, version and target arch.


Field Summary
static String NAMESPACE
          The namespace of the provios that BaseInstaller handels.
 
Fields inherited from interface org.xoe.core.packages.IPackageXMLHandler
FEATURE_NAMESPACE, FUNCTIONALITY, INTERFACE
 
Fields inherited from interface org.xoe.core.Constants
ACTION_ATTR, ADD, ADD_APP, AMPERSAND_KEY, AMPERSAND_SYMBOL, AMPERSAND_SYMBOL_STRING, APOSTROPHE_KEY, APOSTROPHE_SYMBOL, ASCENDING_SORT, BACK, BANNER_ATTR, BEEP, BEEP_PROPERTY, CONTEXT_ATTR, COPYRIGHT_KEY, COPYRIGHT_SYMBOL, COUNTRY_PROPERTY, DATA_DOC, DEFAULT_BOOTSTRAP, DEFAULT_NAMESPACE, DEFAULT_THEME, DEFAULT_THEMES_DIR, DEFAULT_VIEW, DELETE, DESCENDING_SORT, DISPLAY, DISPLAY_VIEW, DOCTYPE_NAME_NS_XHTML, DOUBLE_QUOTE_KEY, DOUBLE_QUOTE_SYMBOL, EDIT, EDIT_ITEM_VIEW, EXTENSION_ALL, EXTENSION_DTD, EXTENSION_HTML, EXTENSION_LNK, EXTENSION_WML, EXTENSION_XHTML, EXTENSION_XML, EXTENSION_XOE, EXTENSION_XOE_CONFIG, EXTENSION_ZIP, FEATURE_DOCTYPE_NAME_NS, FEATURE_EXTENSION, FEATURE_MIMETYPE, FILE_PROTOCOL, FORWARD, FUNCTION_CONTENT_HANDLER, GREATER_THAN_KEY, GREATER_THAN_SYMBOL, HIDE_IF_ATTR, HOMEDIR_PROPERTY, HREF_ATTR, INSERT_BEFORE_ATTR, LANGUAGE_PROPERTY, LAUNCH, LESSER_THAN_KEY, LESSER_THAN_SYMBOL, LOADTHEME, LOGGING_PROPERTY, MID_DOT_KEY, MID_DOT_SYMBOL, MIMETYPE_ALL, MIMETYPE_APPLICATION_XOE, MIMETYPE_APPLICATION_ZIP, MIMETYPE_STASHDIR, MIMETYPE_TEXT_HTML, MIMETYPE_TEXT_PLAIN, MIMETYPE_TEXT_VND_TVT_LNK, MIMETYPE_TEXT_WML, MIMETYPE_TEXT_XML, MIMETYPE_TEXT_XML_DTD, MIMETYPE_UNKNOWN, NAME_ATTR, NAMESPACE_SEPARATOR, NEW, NEW_ITEM_VIEW, NO_PATH, NON_BREAKING_SPACE_KEY, NON_BREAKING_SPACE_SYMBOL, NUM_LAST_APPS, ONCHANGE_ATTR, ONCLICK_ATTR, ONKEYPRESS_ATTR, ONLOAD_ATTR, ONMOUSEDOWN_ATTR, ONMOUSEOUT_ATTR, ONMOUSEOVER_ATTR, ONMOUSEUP_ATTR, PACKAGE_ARCHIVE_ROOT, PARENT_FRAME, PKG_ARCHIVE_ATTR, PKG_URI_ATTR, PKG_WORKSPACE_ATTR, PREVIOUS_DIR, PROPERTY_PREFIX, QUERY_DELIMITER, REFRESH, RESET, SAVE, SCREEN_COLORS_PROPERTY, SCREEN_HEIGHT_PROPERTY, SCREEN_TYPE_PROPERTY, SCREEN_WIDTH_PROPERTY, SCRIPT_PROPERTY, SCRIPT_SUPPORT, SELECT, SORT_BANNER_ATTR, SORT_ORDER_ATTR, SRC_ATTR, STASH_DIR_PROPERTY, STASH_FILE_SEPARATOR, STASH_PROTOCOL, STOP, STYLE_ATTR, TEMP_DIR, THEME_PROPERTY, THEMES_DIR_PROPERTY, TOP, TRIGGER_ATTR, UNICODE_DECIMAL_SYMBOL, UNICODE_HEX_SYMBOL, UNKNOWN_ICON, UNSET_NODE_TYPE, URL_CONTEXT_ATTR, USER_NAME, USERDIR_PROPERTY, VALUE_ATTR, WML_NAMESPACE, XHTML_NAMESPACE, XML, XML_PREFIX_NAMESPACE, XMLNS, XMLNS_NAMESPACE, XOE_CONFIG_DOCTYPE_NAME_NS, XOE_LOCALIZE, XPATH_ATTR
 
Constructor Summary
BaseInstaller()
           
 
Method Summary
 Dependency buildDependency(org.w3c.dom.Element depEl)
          Build a dependency from an element found in a package description document (Conflicts and dependencies have the same structure).
 Vector generateConflicts()
          This function is used at build time.
 Vector generateProvides()
          All packages provide at least this basic proviso.
 Vector generateRequires()
          This function is used at build time.
 String[] getFeatures(String func)
          This function may return null.
 String[] getFunctionalities()
          Functionalities are Strings that can be used to differentiate between different kinds of IServices.
 String[] getHandlerPredependencies()
          Return the namespaces of handlers that must be called before this one at package install time.
 String[] getInformation()
          Returns extra meta-information about the service as an array of Strings.
 String[] getInterfaces(String func)
          Returns the String names of all the Java interfaces that the IService implements for the given functionality.
 String getNamespaceURI()
          Returns the namespace URI associated with this installer.
 void init(org.w3c.dom.Document configDoc)
          Services can be configued with a DOM Document.
 void install(XoePackage xoePackage, Proviso[] provisos)
          Perform any install time operations
 void setPackage(XoePackage p)
          This function is used at build time.
 void uninstall(XoePackage xoePackage, Proviso[] provisos)
          Perform any uninstall time operations
 void verify(XoePackage xoePackage, Proviso[] provisos)
          Pre-install check to make sure the package makes sense
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NAMESPACE

public static final String NAMESPACE
The namespace of the provios that BaseInstaller handels.
Constructor Detail

BaseInstaller

public BaseInstaller()
Method Detail

getHandlerPredependencies

public String[] getHandlerPredependencies()
Description copied from interface: IPackageXMLHandler
Return the namespaces of handlers that must be called before this one at package install time. During uninstallation, the order is reversed.
Specified by:
getHandlerPredependencies in interface IPackageXMLHandler
Following copied from interface: org.xoe.core.packages.IPackageXMLHandler
Returns:
an array of Strings corresponding to the namespace URIs of predependee handlers.

buildDependency

public Dependency buildDependency(org.w3c.dom.Element depEl)
                           throws PackageDescriptionException
Description copied from interface: IPackageXMLHandler
Build a dependency from an element found in a package description document (Conflicts and dependencies have the same structure). The Dependency returned must have an xpath defined.
Specified by:
buildDependency in interface IPackageXMLHandler

init

public void init(org.w3c.dom.Document configDoc)
Description copied from interface: IService
Services can be configued with a DOM Document. configDoc may be null.
Specified by:
init in interface IService

getFunctionalities

public String[] getFunctionalities()
Description copied from interface: IService
Functionalities are Strings that can be used to differentiate between different kinds of IServices. This function must return all the Functionalities implemented by the IService. This function may return null.
Specified by:
getFunctionalities in interface IService

getInterfaces

public String[] getInterfaces(String func)
Description copied from interface: IService
Returns the String names of all the Java interfaces that the IService implements for the given functionality. This function may return null.
Specified by:
getInterfaces in interface IService

getFeatures

public String[] getFeatures(String func)
Description copied from interface: IService
This function may return null.
Specified by:
getFeatures in interface IService

getInformation

public String[] getInformation()
Description copied from interface: IService
Returns extra meta-information about the service as an array of Strings. This function may return null.
Specified by:
getInformation in interface IService

getNamespaceURI

public String getNamespaceURI()
Description copied from interface: IPackageXMLHandler
Returns the namespace URI associated with this installer. This URI is used to identify the handler responsible for expanding dependencies and to refer to other installers in getHandlerPredependencies .
Specified by:
getNamespaceURI in interface IPackageXMLHandler

verify

public void verify(XoePackage xoePackage,
                   Proviso[] provisos)
            throws PackageException
Description copied from interface: IPackageXMLHandler
Pre-install check to make sure the package makes sense

Use this function to prevent package installation from starting if there are any fatal flaws identified.

Specified by:
verify in interface IPackageXMLHandler
Following copied from interface: org.xoe.core.packages.IPackageXMLHandler
Parameters:
xoePackage - the package to be verified
provisos - any provisos in the package that match this installer's namespace
Throws:
PackageException - if fatal flaws are identified in the package

install

public void install(XoePackage xoePackage,
                    Proviso[] provisos)
Description copied from interface: IPackageXMLHandler
Perform any install time operations

Any installers identified by getHandlerPredependencies will already have been called.

Specified by:
install in interface IPackageXMLHandler
Following copied from interface: org.xoe.core.packages.IPackageXMLHandler
Parameters:
xoePackage - the package being installed
provisos - any provisos in the package that match this installer's namespace
Throws:
InstallException - if installation fails

uninstall

public void uninstall(XoePackage xoePackage,
                      Proviso[] provisos)
Description copied from interface: IPackageXMLHandler
Perform any uninstall time operations

Any installers identified by getHandlerPredependencies will not have been called yet.

Specified by:
uninstall in interface IPackageXMLHandler
Following copied from interface: org.xoe.core.packages.IPackageXMLHandler
Parameters:
xoePackage - the package being uninstalled
provisos - any provisos in the package that match this installer's namespace

setPackage

public void setPackage(XoePackage p)
Description copied from interface: IPackageXMLHandler
This function is used at build time. It may not be supported in future releases and its use is not advised. Implementations should define it as an empty function.
Specified by:
setPackage in interface IPackageXMLHandler

generateRequires

public Vector generateRequires()
                        throws PackageDescriptionException
Description copied from interface: IPackageXMLHandler
This function is used at build time. It may not be supported in future releases and its use is not advised. Implementations should define it to return null.
Specified by:
generateRequires in interface IPackageXMLHandler

generateConflicts

public Vector generateConflicts()
                         throws PackageDescriptionException
Description copied from interface: IPackageXMLHandler
This function is used at build time. It may not be supported in future releases and its use is not advised. Implementations should define it to return null.
Specified by:
generateConflicts in interface IPackageXMLHandler

generateProvides

public Vector generateProvides()
                        throws PackageDescriptionException
All packages provide at least this basic proviso.
Specified by:
generateProvides in interface IPackageXMLHandler