org.apache.cocoon.components.modules.input
Class ChainMetaModule
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
- All Implemented Interfaces:
- org.apache.avalon.framework.component.Component, org.apache.avalon.framework.component.Composable, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.activity.Disposable, org.apache.avalon.framework.activity.Initializable, InputModule, org.apache.avalon.framework.logger.LogEnabled
- public class ChainMetaModule
- extends AbstractMetaModule
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:
- CVS $Id: ChainMetaModule.java,v 1.3.2.1 2002/11/17 19:12:49 haul Exp $
- Author:
- Christian Haul
Fields inherited from interface org.apache.cocoon.components.modules.input.InputModule |
ROLE |
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.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 |
ChainMetaModule
public ChainMetaModule()
configure
public void configure(org.apache.avalon.framework.configuration.Configuration config)
throws org.apache.avalon.framework.configuration.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.
- Overrides:
configure
in class AbstractInputModule
initialize
public void initialize()
- Description copied from class:
AbstractMetaModule
- Initialize the meta module with exactly one other input
module. Override this method and dispose() to keep references
to more than one module.
- Overrides:
initialize
in class AbstractMetaModule
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().
- Overrides:
dispose
in class AbstractMetaModule
getAttributeValues
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
- 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,
getAttributeNames
together with getAttribute
can be used to get the values one by one.- Following copied from interface:
org.apache.cocoon.components.modules.input.InputModule
- Parameters:
name
- 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
-
getAttributeNames
public java.util.Iterator getAttributeNames(org.apache.avalon.framework.configuration.Configuration modeConf,
java.util.Map objectModel)
throws org.apache.avalon.framework.configuration.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.
- Following copied from interface:
org.apache.cocoon.components.modules.input.InputModule
- Parameters:
modeConf
- column's mode configuration from resource
description. This argument is optional.objectModel
-
getAttribute
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
- 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
getAttributeSet
or getAttributeNames
and getAttribute
to get them one by one.- Following copied from interface:
org.apache.cocoon.components.modules.input.InputModule
- Parameters:
name
- 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
-
Copyright © 1999-2002 Apache Software Foundation. All Rights Reserved.