org.xoe.core.packages
Class ClassInstaller

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

public class ClassInstaller
extends ClassIteratingInstaller


Field Summary
static String NAMESPACE
           
 
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
ClassInstaller()
           
 
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
protected  void processClass(String cname)
           
 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.ClassIteratingInstaller
handleException, processFile, setClasses
 
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
Constructor Detail

ClassInstaller

public ClassInstaller()
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.

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.

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 .

processClass

protected void processClass(String cname)
Overrides:
processClass in class ClassIteratingInstaller

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