org.opencms.module
Class CmsModuleXmlHandler

java.lang.Object
  extended by org.opencms.module.CmsModuleXmlHandler

public class CmsModuleXmlHandler
extends java.lang.Object

Adds the XML handler rules for import and export of a single module.

Since:
6.0.0
Version:
$Revision: 1.30 $
Author:
Alexander Kandzior

Field Summary
static java.lang.String A_NAME
          The "name" attribute.
static java.lang.String A_VERSION
          The "version" attribute.
static java.lang.String N_AUTHOREMAIL
          The node name for the authoremail node.
static java.lang.String N_AUTHORNAME
          The node name for the authorname node.
static java.lang.String N_CLASS
          The node name for the class node.
static java.lang.String N_DATECREATED
          The node name for the datecreated node.
static java.lang.String N_DATEINSTALLED
          The node name for the date installed node.
static java.lang.String N_DEPENDENCIES
          The node name for the dependencies node.
static java.lang.String N_DEPENDENCY
          The node name for the dependency node.
static java.lang.String N_DESCRIPTION
          The node name for the description node.
static java.lang.String N_GROUP
          The node name for the group node.
static java.lang.String N_MODULE
          The node name for a module.
static java.lang.String N_NAME
          The node name for the name node.
static java.lang.String N_NICENAME
          The node name for the nicename node.
static java.lang.String N_PARAM
          The "param" node name for generic parameters.
static java.lang.String N_PARAMETERS
          The node name for the parameters node.
static java.lang.String N_RESOURCES
          The node name for the resources node.
static java.lang.String N_USERINSTALLED
          The node name for the user installed node.
static java.lang.String N_VERSION
          The node name for the version node.
 
Constructor Summary
CmsModuleXmlHandler()
          Public constructor, will be called by digester during import.
 
Method Summary
 void addDependency(java.lang.String name, java.lang.String version)
          Adds a module dependency to the current module.
 void addExplorerTypeSetting(CmsExplorerTypeSettings settings)
          Adds an explorer type setting object to the list of type settings.
 void addExportPoint(java.lang.String uri, java.lang.String destination)
          Adds an export point to the module configuration.
 void addParameter(java.lang.String key, java.lang.String value)
          Adds a module parameter to the module configuration.
 void addResource(java.lang.String resource)
          Adds a resource to the list module resources.
 void addResourceType(I_CmsResourceType resourceType)
          Adds a new resource type to the internal list of loaded resource types.
static void addXmlDigesterRules(org.apache.commons.digester.Digester digester)
          Adds the XML digester rules for a single module.
 void createdModule(java.lang.String name, java.lang.String niceName, java.lang.String group, java.lang.String actionClass, java.lang.String description, java.lang.String version, java.lang.String authorName, java.lang.String authorEmail, java.lang.String dateCreated, java.lang.String userInstalled, java.lang.String dateInstalled)
          Created a new module from the provided parameters.
static org.dom4j.Element generateXml(CmsModule module)
          Generates a detached XML element for a module.
 CmsModule getModule()
          Returns the generated module.
static java.lang.String makeValidJavaClassName(java.lang.String className)
          Generates a (hopefully) valid Java class name from an invalid class name.
 void setOldModule()
          Sets the current imported module to an old (5.0.x) style module.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

A_NAME

public static final java.lang.String A_NAME
The "name" attribute.

See Also:
Constant Field Values

A_VERSION

public static final java.lang.String A_VERSION
The "version" attribute.

See Also:
Constant Field Values

N_AUTHOREMAIL

public static final java.lang.String N_AUTHOREMAIL
The node name for the authoremail node.

See Also:
Constant Field Values

N_AUTHORNAME

public static final java.lang.String N_AUTHORNAME
The node name for the authorname node.

See Also:
Constant Field Values

N_CLASS

public static final java.lang.String N_CLASS
The node name for the class node.

See Also:
Constant Field Values

N_DATECREATED

public static final java.lang.String N_DATECREATED
The node name for the datecreated node.

See Also:
Constant Field Values

N_DATEINSTALLED

public static final java.lang.String N_DATEINSTALLED
The node name for the date installed node.

See Also:
Constant Field Values

N_DEPENDENCIES

public static final java.lang.String N_DEPENDENCIES
The node name for the dependencies node.

See Also:
Constant Field Values

N_DEPENDENCY

public static final java.lang.String N_DEPENDENCY
The node name for the dependency node.

See Also:
Constant Field Values

N_DESCRIPTION

public static final java.lang.String N_DESCRIPTION
The node name for the description node.

See Also:
Constant Field Values

N_GROUP

public static final java.lang.String N_GROUP
The node name for the group node.

See Also:
Constant Field Values

N_MODULE

public static final java.lang.String N_MODULE
The node name for a module.

See Also:
Constant Field Values

N_NAME

public static final java.lang.String N_NAME
The node name for the name node.

See Also:
Constant Field Values

N_NICENAME

public static final java.lang.String N_NICENAME
The node name for the nicename node.

See Also:
Constant Field Values

N_PARAM

public static final java.lang.String N_PARAM
The "param" node name for generic parameters.

See Also:
Constant Field Values

N_PARAMETERS

public static final java.lang.String N_PARAMETERS
The node name for the parameters node.

See Also:
Constant Field Values

N_RESOURCES

public static final java.lang.String N_RESOURCES
The node name for the resources node.

See Also:
Constant Field Values

N_USERINSTALLED

public static final java.lang.String N_USERINSTALLED
The node name for the user installed node.

See Also:
Constant Field Values

N_VERSION

public static final java.lang.String N_VERSION
The node name for the version node.

See Also:
Constant Field Values
Constructor Detail

CmsModuleXmlHandler

public CmsModuleXmlHandler()
Public constructor, will be called by digester during import.

Method Detail

addXmlDigesterRules

public static void addXmlDigesterRules(org.apache.commons.digester.Digester digester)
Adds the XML digester rules for a single module.

Parameters:
digester - the digester to add the rules to

generateXml

public static org.dom4j.Element generateXml(CmsModule module)
Generates a detached XML element for a module.

Parameters:
module - the module to generate the XML element for
Returns:
the detached XML element for the module

makeValidJavaClassName

public static java.lang.String makeValidJavaClassName(java.lang.String className)
Generates a (hopefully) valid Java class name from an invalid class name.

All invalid characters are replaced by an underscore "_". This is for example used to make sure old (5.0) modules can still be imported, by converting the name to a valid class name.

Parameters:
className - the class name to make valid
Returns:
a valid Java class name from an invalid class name

addDependency

public void addDependency(java.lang.String name,
                          java.lang.String version)
Adds a module dependency to the current module.

Parameters:
name - the module name of the dependency
version - the module version of the dependency

addExplorerTypeSetting

public void addExplorerTypeSetting(CmsExplorerTypeSettings settings)
Adds an explorer type setting object to the list of type settings.

Adds the type setting as well to a map with the resource type name as key.

Parameters:
settings - the explorer type settings

addExportPoint

public void addExportPoint(java.lang.String uri,
                           java.lang.String destination)
Adds an export point to the module configuration.

Parameters:
uri - the export point uri
destination - the export point destination

addParameter

public void addParameter(java.lang.String key,
                         java.lang.String value)
Adds a module parameter to the module configuration.

Parameters:
key - the parameter key
value - the parameter value

addResource

public void addResource(java.lang.String resource)
Adds a resource to the list module resources.

Parameters:
resource - a resources uri in the OpenCms VFS

addResourceType

public void addResourceType(I_CmsResourceType resourceType)
Adds a new resource type to the internal list of loaded resource types.

Parameters:
resourceType - the resource type to add
See Also:
I_CmsResourceType.ADD_RESOURCE_TYPE_METHOD

createdModule

public void createdModule(java.lang.String name,
                          java.lang.String niceName,
                          java.lang.String group,
                          java.lang.String actionClass,
                          java.lang.String description,
                          java.lang.String version,
                          java.lang.String authorName,
                          java.lang.String authorEmail,
                          java.lang.String dateCreated,
                          java.lang.String userInstalled,
                          java.lang.String dateInstalled)
Created a new module from the provided parameters.

Parameters:
name - the name of this module, usually looks like a java package name
niceName - the "nice" display name of this module
group - the group of the module
actionClass - the (optional) module action class name
description - the description of this module
version - the version of this module
authorName - the name of the author of this module
authorEmail - the email of the module author
dateCreated - the date this module was created by the author
userInstalled - the name of the user who uploaded this module
dateInstalled - the date this module was uploaded

getModule

public CmsModule getModule()
Returns the generated module.

Returns:
the generated module

setOldModule

public void setOldModule()
Sets the current imported module to an old (5.0.x) style module.