org.apache.cocoon.acting
Class InputModuleAction
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.cocoon.acting.AbstractAction
org.apache.cocoon.acting.AbstractConfigurableAction
org.apache.cocoon.acting.ConfigurableServiceableAction
org.apache.cocoon.acting.InputModuleAction
- All Implemented Interfaces:
- Component, Configurable, LogEnabled, Serviceable, ThreadSafe, Action
public class InputModuleAction
- extends ConfigurableServiceableAction
- implements ThreadSafe
Simple helper action to allow passing sitemap variables to InputModules.
Sitemap evaluation of input modules using the curly bracket syntax e.g.
{defaults:skin} suffers from the fact that it is not
possible to use a sitemap variable as part of the invocation like
{defaults:{1})}. This action takes three parameters, the name
of the input module, the attribute name, and whether to call getAttribute() or
getAttributeValues(). Thus the above becomes
<map:act type="inputmodule">
<map:parameter name="module" value="defaults"/>
<map:parameter name="attribute" value="{1}"/>
<map:parameter name="single-value" value="false"/>
<!-- do something with the result: "{1}" -->
</map:act>
The action invokes the
getAttributeValues()
method and returns all results numbered from "0". If no result exists,
"null" is returned and the nested block is skipped.
The name of the input module to use may be preconfigured when
declaring the action in your sitemap:
<map:action name="inputmodule"
src="org.apache.cocoon.acting.InputModuleAction"
logger="sitemap.action.inputmodule">
<module>defaults</module>
<single-value>false</single-value>
</map:action>
- Version:
- CVS $Id: InputModuleAction.html 1304258 2012-03-23 10:09:27Z ilgrosso $
- Author:
- Christian Haul
- See Also:
InputModule
Fields inherited from interface org.apache.cocoon.acting.Action |
ROLE |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
InputModuleAction
public InputModuleAction()
act
public Map act(Redirector redirector,
SourceResolver resolver,
Map objectModel,
String source,
Parameters parameters)
throws Exception
- Description copied from interface:
Action
- Controls the processing against some values of the
Dictionary
objectModel and returns a
Map
object with values used in subsequent
sitemap substitution patterns.
NOTE: This interface is designed so that implentations can be ThreadSafe.
When an action is ThreadSafe, only one instance serves all requests : this
reduces memory usage and avoids pooling.
- Specified by:
act
in interface Action
resolver
- The SourceResolver
in chargeobjectModel
- The Map
with object of the
calling environment which can be used
to select values this controller may need
(ie Request, Response).source
- A source String
to the Actionparameters
- The Parameters
for this invocation
- Returns:
- Map The returned
Map
object with
sitemap substitution values which can be used
in subsequent elements attributes like src=
using a xpath like expression: src="mydir/{myval}/foo"
If the return value is null the processing inside
the element of the sitemap will
be skipped.
- Throws:
Exception
- Indicates something is totally wrong
configure
public void configure(Configuration conf)
throws ConfigurationException
- Description copied from class:
AbstractConfigurableAction
- Configures the Action.
Takes the children from the
Configuration
and stores them
them as key (configuration name) and value (configuration value)
in settings
.
This automates parsing of flat string-only configurations.
For nested configurations, override this function in your action.
- Specified by:
configure
in interface Configurable
- Overrides:
configure
in class AbstractConfigurableAction
- Throws:
ConfigurationException
Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.