org.apache.cocoon.acting
Class RequestParameterExistsAction
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.cocoon.acting.AbstractAction
org.apache.cocoon.acting.AbstractConfigurableAction
org.apache.cocoon.acting.RequestParameterExistsAction
- All Implemented Interfaces:
- Component, Configurable, LogEnabled, Action
public class RequestParameterExistsAction
- extends AbstractConfigurableAction
This action simply checks to see if a given request parameter
exists. It takes an arbitrary number of default parameters to check
named 'parameter-name'. Non-default parameters need to be separated
by spaces and passed as value of a sitemap parameter named
'parameters'. The action returns a map with all parameters if all
of them exist and null otherwise. Parameter names can only be added
to this list but no default parameters can be overridden by
specific ones.
This action is very closely related to @link{RequestParamAction}
and FormValidatorAction
. However this action is considerably
simpler in that it tests only for existence of a parameter and it
doesn't need a descriptor. Besides it doesn't propagate all request
parameters to the sitemap but only those that are marked as
required.
One special feature is, however, that parameters
can contain one wildcard ("*"). It will be
checked, whether all parameters with a wildcard have the same
matches. E.g. "id_* name_*" enforces, that if "id_1" exists,
"name_1" must also exist and vice versa.
- Version:
- CVS $Id: RequestParameterExistsAction.html 1304258 2012-03-23 10:09:27Z ilgrosso $
- Author:
- Christian Haul
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 |
RequestParameterExistsAction
public RequestParameterExistsAction()
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.
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
splitParameter
protected RequestParameterExistsAction.StringParts splitParameter(String paramName)
- Find first "*" in a String and split it into the substring
before and after the "*". Returns null if no "*" is present.
getMatch
protected String getMatch(String paramName,
RequestParameterExistsAction.StringParts sp)
- If a String matches a StringPart spec, return the substring
between the specified prefix and postfix. Returns null if it
doesn't match.
Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.