org.apache.cocoon.acting
Class PropagatorAction

java.lang.Object
  extended by org.apache.avalon.framework.logger.AbstractLogEnabled
      extended by org.apache.cocoon.acting.AbstractAction
          extended by org.apache.cocoon.acting.ServiceableAction
              extended by org.apache.cocoon.acting.PropagatorAction
All Implemented Interfaces:
Component, Configurable, LogEnabled, Serviceable, ThreadSafe, Action

public class PropagatorAction
extends ServiceableAction
implements Configurable, ThreadSafe

This is the action used to propagate parameters into a store using an OutputModule. It simply propagates given expression. Additionaly it will make all propagated values available via returned Map.

Example configuration:

 <map:action type="...." name="...." logger="...">
   <output-module name="session-attr">
      <!-- optional configuration for output module -->
   </output-module>
   <store-empty-parameters>true</store-empty-parameters>
   <defaults>
     <default name="..." value="...."/>
     <default name="..." value="..."/>
   </defaults>
 </map:action>
 

Example use:

 <map:act type="session-propagator">
      <paramater name="example" value="{example}"/>
      <paramater name="example1" value="xxx"/>
      <parameter name="PropagatorAction:store-empty-parameters" value="true"/>
      <parameter name="PropagatorAction:output-module" value="session-attr"/>
 </map:act>
 

Configuration

output-module Nested element configuring output to use. Name attribute holds output module hint. XMLrequest-attr
store-empty-parameters Propagate parameters with empty values. booleantrue
defaults Parent for default parameters to propagate. XML
defaults/default Name attribute holds parameter name, value attribute holds parameter value. Will be used when not set on use. parameter

Parameters

PropagatorAction:output-module Alternative output module hint to use. A null configuration will be passed to a module selected this way. Stringas determined by configuration
PropagatorAction:store-empty-parameters Propagate parameters with empty values. booleanas determined by configuration
any other Any other parameter will be propagated. String

Version:
CVS $Id: PropagatorAction.html 1304258 2012-03-23 10:09:27Z ilgrosso $
Author:
Christian Haul, Martin Man

Field Summary
 
Fields inherited from class org.apache.cocoon.acting.ServiceableAction
manager
 
Fields inherited from class org.apache.cocoon.acting.AbstractAction
EMPTY_MAP
 
Fields inherited from interface org.apache.cocoon.acting.Action
ROLE
 
Constructor Summary
PropagatorAction()
           
 
Method Summary
 Map act(Redirector redirector, SourceResolver resolver, Map objectModel, String source, Parameters parameters)
          Controls the processing against some values of the Dictionary objectModel and returns a Map object with values used in subsequent sitemap substitution patterns.
 void configure(Configuration config)
           
 
Methods inherited from class org.apache.cocoon.acting.ServiceableAction
service
 
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

PropagatorAction

public PropagatorAction()
Method Detail

configure

public void configure(Configuration config)
               throws ConfigurationException
Specified by:
configure in interface Configurable
Throws:
ConfigurationException

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 charge
objectModel - 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 Action
parameters - 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


Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.