org.apache.cocoon.components.modules.input
Class ChainMetaModule
java.lang.Object
org.apache.cocoon.util.AbstractLogEnabled
org.apache.cocoon.components.modules.input.AbstractInputModule
org.apache.cocoon.components.modules.input.AbstractMetaModule
org.apache.cocoon.components.modules.input.ChainMetaModule
- All Implemented Interfaces:
- Configurable, Disposable, org.apache.cocoon.components.modules.input.InputModule, Serviceable, ThreadSafe
- public class ChainMetaModule
- extends org.apache.cocoon.components.modules.input.AbstractMetaModule
- implements ThreadSafe
This modules allows to "chain" several other modules. If a module
returns "null" as attribute value, the next module in the chain is
queried until either a value can be obtained or the end of the
chain is reached.
A typical example would be to "chain" request parameters,
session attributes, and constants in this order. This way, an
application could have a default skin that could be overridden by a
user in her/his profile stored in the session. In addition, the
user could request a different skin through passing a request
parameter.
Usage:
Any number of <input-module/> blocks may appear in the
component configuration. The @name attribute is used as the name of
the requested input module. The complete <input-module/>
block is passed at run-time to the module and thus can contain any
configuration data for that particular module.
Configuration:
It can be controlled whether it returns a flat or a deep view,
i.e. whether only values from the first module are returned if
non-null or they are merged with values from other modules
<all-values>true</all-values>
. The same is
possible for the attribute names
(<all-names/>
). In addition, empty strings could
be treated the same as null values
(<empty-as-null/>
).
- Version:
- $Id: ChainMetaModule.html 1304280 2012-03-23 11:18:01Z ilgrosso $
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 |
Methods inherited from class org.apache.cocoon.components.modules.input.AbstractMetaModule |
getNames, getNames, getValue, getValue, getValue, getValue, getValues, getValues, getValues, getValues, obtainModule, releaseModule, service |
Methods inherited from class org.apache.cocoon.util.AbstractLogEnabled |
getLogger, setLogger |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ChainMetaModule
public ChainMetaModule()
configure
public void configure(Configuration config)
throws ConfigurationException
- Specified by:
configure
in interface Configurable
- Throws:
ConfigurationException
- See Also:
AbstractInputModule.configure(org.apache.avalon.framework.configuration.Configuration)
lazy_initialize
public void lazy_initialize()
- See Also:
AbstractMetaModule.lazy_initialize()
dispose
public void dispose()
- Specified by:
dispose
in interface Disposable
- See Also:
AbstractMetaModule.dispose()
getAttributeValues
public Object[] getAttributeValues(String attr,
Configuration modeConf,
Map objectModel)
throws ConfigurationException
- Specified by:
getAttributeValues
in interface org.apache.cocoon.components.modules.input.InputModule
- Throws:
ConfigurationException
- See Also:
AbstractInputModule.getAttributeValues(java.lang.String, org.apache.avalon.framework.configuration.Configuration, java.util.Map)
getAttributeNames
public Iterator getAttributeNames(Configuration modeConf,
Map objectModel)
throws ConfigurationException
- Specified by:
getAttributeNames
in interface org.apache.cocoon.components.modules.input.InputModule
- Throws:
ConfigurationException
- See Also:
AbstractInputModule.getAttributeNames(org.apache.avalon.framework.configuration.Configuration, java.util.Map)
getAttribute
public Object getAttribute(String attr,
Configuration modeConf,
Map objectModel)
throws ConfigurationException
- Specified by:
getAttribute
in interface org.apache.cocoon.components.modules.input.InputModule
- Throws:
ConfigurationException
Copyright © 1999-2008 The Apache Software Foundation. All Rights Reserved.