org.apache.cocoon.selection
Class RegexpHeaderSelector

java.lang.Object
  extended byorg.apache.cocoon.util.AbstractLogEnabled
      extended byorg.apache.cocoon.selection.AbstractSwitchSelector
          extended byorg.apache.cocoon.selection.AbstractRegexpSelector
              extended byorg.apache.cocoon.selection.RegexpHeaderSelector
All Implemented Interfaces:
Configurable, org.apache.cocoon.selection.Selector, org.apache.cocoon.selection.SwitchSelector, ThreadSafe

public class RegexpHeaderSelector
extends org.apache.cocoon.selection.AbstractRegexpSelector

The RegexpHeaderSelector class defines a selector matching specific headers to configured regular-expression patterns.

The configuration of an RegexpHeaderSelector follows exactly what has been outlined in AbstractRegexpSelector regarding regular expression patterns, and additionally it requires an extra configuration element specifying the header whose value needs to be matched:

 <map:components>
   ...
   <map:selectors default="...">
     <map:selector name="..." src="org.apache.cocoon.selection....">
       <pattern name="empty">^$</pattern>
       <pattern name="number">^[0-9]+$</pattern>
       <pattern name="string">^.+$</pattern>
       <header-name>...</header-name>
     </map:selector>
  </map:selectors>
 </map:components>
 

If not configured, or if it needs to be overriddent, the header name can also be specified as a <map:parameter .../> inside the pipeline itself.

Version:
$Id: RegexpHeaderSelector.html 1304280 2012-03-23 11:18:01Z ilgrosso $

Field Summary
protected  String headerName
          The name of the header to work on.
 
Fields inherited from class org.apache.cocoon.selection.AbstractRegexpSelector
patterns
 
Fields inherited from interface org.apache.cocoon.selection.SwitchSelector
ROLE
 
Constructor Summary
RegexpHeaderSelector()
          Create a new RegexpHeaderSelector instance.
 
Method Summary
 void configure(Configuration configuration)
          Configure this instance parsing all regular expression patterns and storing the header name upon which selection occurs.
 Object getSelectorContext(Map objectModel, Parameters parameters)
          Return the value of the header identified by the configured header name, if any.
 boolean select(String expr, Map objectModel, Parameters params)
          Selectors test pattern against some objects in a Map model and signals success with the returned boolean value
 
Methods inherited from class org.apache.cocoon.selection.AbstractRegexpSelector
compile, select
 
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
 

Field Detail

headerName

protected String headerName

The name of the header to work on.

Constructor Detail

RegexpHeaderSelector

public RegexpHeaderSelector()

Create a new RegexpHeaderSelector instance.

Method Detail

configure

public void configure(Configuration configuration)
               throws ConfigurationException

Configure this instance parsing all regular expression patterns and storing the header name upon which selection occurs.

Parameters:
configuration - the Configuration instance where configured patterns are defined.
Throws:
ConfigurationException - if one of the regular-expression to configure could not be compiled.

getSelectorContext

public Object getSelectorContext(Map objectModel,
                                 Parameters parameters)

Return the value of the header identified by the configured header name, if any.

Parameters:
objectModel - the Cocoon object model.
parameters - the Parameters associated with the pipeline.
Returns:
the value of the configured request parameter or null.

select

public boolean select(String expr,
                      Map objectModel,
                      Parameters params)
Selectors test pattern against some objects in a Map model and signals success with the returned boolean value

Parameters:
expr - The expression to test.
Returns:
Signals successful test.


Copyright 1999-2008 The Apache Software Foundation. All Rights Reserved.