org.apache.cocoon.components.modules.input
Class XMLMetaModule

java.lang.Object
  extended byorg.apache.avalon.framework.logger.AbstractLogEnabled
      extended byorg.apache.cocoon.components.modules.input.AbstractInputModule
          extended byorg.apache.cocoon.components.modules.input.AbstractMetaModule
              extended byorg.apache.cocoon.components.modules.input.XMLMetaModule
All Implemented Interfaces:
Configurable, Disposable, InputModule, LogEnabled, Serviceable, ThreadSafe

public class XMLMetaModule
extends AbstractMetaModule
implements ThreadSafe

Meta module that obtains values from other module and returns all parameters as XML.

Config

   <!-- in cocoon.xconf -->
   <ignore>do-</ignore>
   <strip>user.</strip>
   <input-module name="request-param"/>

   <!-- e.g. in database.xml -->
   <mode type="all" name="xmlmeta"/>
      <ignore>foo.</ignore>
      <strip>f</strip>
      <use>foo</use>
      <root>my-root</root>
      <input-module name="request-param"/>
   </mode>
 

If present, "ignore" gives a prefix of parameters to ignore, ignore has precedence over the "use" attribute, "strip" a prefix that will be removed from the final parameter names in the produced XML, "use" is a prefix for parameters to include in the XML, and "root" is the name of the root element in the created XML.

Input

    foo.one = ['abc']
    foo.two = ['def']
    foo1 = ['bar']
    foo2 = ['one','two','three']
    bar = ['rubber duck']
 

Output

 
   <my-root>
     <item name="oo1">bar</item>
     <item name="oo2">
        <value>one</value>
        <value>two</value>
        <value>three</value>
     </item>
   </my-root>
 

Produces Objects of type DocumentWrapper

Version:
CVS $Id: XMLMetaModule.java 55054 2004-10-19 08:21:39Z cziegeler $
Author:
Christian Haul

Field Summary
protected static String CACHE_OBJECT_NAME
           
protected  Object config
           
protected  String ignore
           
protected  String rootName
           
protected  String strip
           
protected  String use
           
protected  XPathProcessor xpathProcessor
           
 
Fields inherited from class org.apache.cocoon.components.modules.input.AbstractMetaModule
defaultInput, initialized, input, INPUT_MODULE_SELECTOR, inputConf, inputSelector, manager
 
Fields inherited from class org.apache.cocoon.components.modules.input.AbstractInputModule
settings
 
Fields inherited from interface org.apache.cocoon.components.modules.input.InputModule
ROLE
 
Constructor Summary
XMLMetaModule()
           
 
Method Summary
 void configure(Configuration config)
          Configures the database access helper.
 void dispose()
          Dispose exactly one cached InputModule.
 Object getAttribute(String name, Configuration modeConf, Map objectModel)
          Standard access to an attribute's value.
 Iterator getAttributeNames(Configuration modeConf, Map objectModel)
          Returns an Iterator of String objects containing the names of the attributes available.
 Object[] getAttributeValues(String name, Configuration modeConf, Map objectModel)
          Returns an array of String objects containing all of the values the given attribute has, or null if the attribute does not exist.
 void service(ServiceManager manager)
           
 
Methods inherited from class org.apache.cocoon.components.modules.input.AbstractMetaModule
getNames, getNames, getValue, getValue, getValue, getValue, getValues, getValues, getValues, getValues, lazy_initialize, obtainModule, releaseModule
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rootName

protected String rootName

ignore

protected String ignore

use

protected String use

strip

protected String strip

config

protected Object config

xpathProcessor

protected XPathProcessor xpathProcessor

CACHE_OBJECT_NAME

protected static final String CACHE_OBJECT_NAME
See Also:
Constant Field Values
Constructor Detail

XMLMetaModule

public XMLMetaModule()
Method Detail

configure

public void configure(Configuration config)
               throws ConfigurationException
Description copied from class: AbstractInputModule
Configures the database access helper. Takes all elements nested in component declaration and stores them as key-value pairs in settings. Nested configuration option are not catered for. This way global configuration options can be used. For nested configurations override this function.

Specified by:
configure in interface Configurable
Overrides:
configure in class AbstractInputModule
Throws:
ConfigurationException

getAttribute

public Object getAttribute(String name,
                           Configuration modeConf,
                           Map objectModel)
                    throws ConfigurationException
Description copied from interface: InputModule
Standard access to an attribute's value. If more than one value exists, the first is returned. If the value does not exist, null is returned. To get all values, use InputModule.getAttributeValues(String, Configuration, Map) or InputModule.getAttributeNames(Configuration, Map) and InputModule.getAttribute(String, Configuration, Map) to get them one by one.

Specified by:
getAttribute in interface InputModule
Overrides:
getAttribute in class AbstractInputModule
Throws:
ConfigurationException

getAttributeNames

public Iterator getAttributeNames(Configuration modeConf,
                                  Map objectModel)
                           throws ConfigurationException
Description copied from interface: InputModule
Returns an Iterator of String objects containing the names of the attributes available. If no attributes are available, the method returns an empty Iterator.

Specified by:
getAttributeNames in interface InputModule
Overrides:
getAttributeNames in class AbstractInputModule
Throws:
ConfigurationException

getAttributeValues

public Object[] getAttributeValues(String name,
                                   Configuration modeConf,
                                   Map objectModel)
                            throws ConfigurationException
Description copied from interface: InputModule
Returns an array of String objects containing all of the values the given attribute has, or null if the attribute does not exist. As an alternative, InputModule.getAttributeNames(Configuration, Map) together with InputModule.getAttribute(String, Configuration, Map) can be used to get the values one by one.

Specified by:
getAttributeValues in interface InputModule
Overrides:
getAttributeValues in class AbstractInputModule
Throws:
ConfigurationException

service

public void service(ServiceManager manager)
             throws ServiceException
Specified by:
service in interface Serviceable
Overrides:
service in class AbstractMetaModule
Throws:
ServiceException

dispose

public void dispose()
Description copied from class: AbstractMetaModule
Dispose exactly one cached InputModule. To work on more than one, override this method and initialize().

Specified by:
dispose in interface Disposable
Overrides:
dispose in class AbstractMetaModule


Copyright ? 1999-2005 The Apache Software Foundation. All Rights Reserved.