|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.avalon.framework.logger.AbstractLogEnabled | +--org.apache.cocoon.components.modules.input.AbstractInputModule | +--org.apache.cocoon.components.modules.input.AbstractMetaModule | +--org.apache.cocoon.components.modules.input.ChainMetaModule
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/>
).
Field Summary |
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 | |
ChainMetaModule()
|
Method Summary | |
void |
configure(org.apache.avalon.framework.configuration.Configuration config)
Configures the database access helper. |
void |
dispose()
Dispose exactly one cached InputModule. |
java.lang.Object |
getAttribute(java.lang.String attr,
org.apache.avalon.framework.configuration.Configuration modeConf,
java.util.Map objectModel)
Standard access to an attribute's value. |
java.util.Iterator |
getAttributeNames(org.apache.avalon.framework.configuration.Configuration modeConf,
java.util.Map objectModel)
Returns an Iterator of String objects containing the names of the attributes available. |
java.lang.Object[] |
getAttributeValues(java.lang.String attr,
org.apache.avalon.framework.configuration.Configuration modeConf,
java.util.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 |
initialize()
Initialize the meta module with exactly one other input module. |
Methods inherited from class org.apache.cocoon.components.modules.input.AbstractMetaModule |
compose, getNames, getNames, getValue, getValue, getValues, getValues, 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 |
Constructor Detail |
public ChainMetaModule()
Method Detail |
public void configure(org.apache.avalon.framework.configuration.Configuration config) throws org.apache.avalon.framework.configuration.ConfigurationException
AbstractInputModule
settings
. Nested
configuration option are not catered for. This way global
configuration options can be used.
For nested configurations override this function.
configure
in interface org.apache.avalon.framework.configuration.Configurable
configure
in class AbstractInputModule
org.apache.avalon.framework.configuration.ConfigurationException
public void initialize()
AbstractMetaModule
initialize
in interface org.apache.avalon.framework.activity.Initializable
initialize
in class AbstractMetaModule
public void dispose()
AbstractMetaModule
dispose
in interface org.apache.avalon.framework.activity.Disposable
dispose
in class AbstractMetaModule
public java.lang.Object[] getAttributeValues(java.lang.String attr, org.apache.avalon.framework.configuration.Configuration modeConf, java.util.Map objectModel) throws org.apache.avalon.framework.configuration.ConfigurationException
InputModule
getAttributeNames
together with getAttribute
can be used to get the values one by one.
attr
- a String that specifies what the caller thinks
would identify an attributes. This is mainly a fallback
if no modeConf is present.modeConf
- column's mode configuration from resource
description. This argument is optional.objectModel
-
org.apache.avalon.framework.configuration.ConfigurationException
public java.util.Iterator getAttributeNames(org.apache.avalon.framework.configuration.Configuration modeConf, java.util.Map objectModel) throws org.apache.avalon.framework.configuration.ConfigurationException
InputModule
modeConf
- column's mode configuration from resource
description. This argument is optional.objectModel
-
org.apache.avalon.framework.configuration.ConfigurationException
public java.lang.Object getAttribute(java.lang.String attr, org.apache.avalon.framework.configuration.Configuration modeConf, java.util.Map objectModel) throws org.apache.avalon.framework.configuration.ConfigurationException
InputModule
getAttributeSet
or getAttributeNames
and getAttribute
to get them one by one.
attr
- a String that specifies what the caller thinks
would identify an attribute. This is mainly a fallback if no
modeConf is present.modeConf
- column's mode configuration from resource
description. This argument is optional.objectModel
-
org.apache.avalon.framework.configuration.ConfigurationException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |