org.xoe.core.packages
Class ResourceInstaller

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

public class ResourceInstaller
extends FileIteratingInstaller


Field Summary
static String NAMESPACE
           
static String SHORTCUTS_FILENAME
           
 
Fields inherited from class org.xoe.core.packages.FileIteratingInstaller
m_conflicts, m_package, m_provides, m_requires
 
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
ResourceInstaller()
           
 
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).
 String[] getHandlerPredependencies()
          Return the namespaces of handlers that must be called before this one at package install time.
 String getNamespaceURI()
          Returns the namespace URI associated with this installer.
 void install(XoePackage xoePackage, Proviso[] provisos)
          Perform any install time operations
 void processFile(ZipInputStream zis, ZipEntry entry)
          This function is called during package *build* to generate the package.xml file.
 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 org.xoe.core.packages.FileIteratingInstaller
generateConflicts, generateProvides, generateRequires, getFeatures, getFunctionalities, getInformation, getInterfaces, init, setPackage, setSuffixes, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NAMESPACE

public static final String NAMESPACE

SHORTCUTS_FILENAME

public static final String SHORTCUTS_FILENAME
Constructor Detail

ResourceInstaller

public ResourceInstaller()
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.
Following copied from interface: org.xoe.core.packages.IPackageXMLHandler
Returns:
an array of Strings corresponding to the namespace URIs of predependee handlers.

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 .

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.

processFile

public void processFile(ZipInputStream zis,
                        ZipEntry entry)
Description copied from class: FileIteratingInstaller
This function is called during package *build* to generate the package.xml file. Most subclasses will simply add provisios bases on the files in the zip archive.
Overrides:
processFile in class FileIteratingInstaller

verify

public void verify(XoePackage xoePackage,
                   Proviso[] provisos)
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.

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)
             throws InstallException
Description copied from interface: IPackageXMLHandler
Perform any install time operations

Any installers identified by getHandlerPredependencies will already have been called.

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.

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