public class ActionConfigMatcher extends AbstractMatcher<ActionConfig> implements Serializable
Matches paths against pre-compiled wildcard expressions pulled from action configs. It uses the wildcard matcher from the Apache Cocoon project. Patterns will be matched in the order they exist in the config file. The first match wins, so more specific patterns should be defined before less specific patterns.
Constructor and Description |
---|
ActionConfigMatcher(PatternMatcher<?> patternMatcher,
Map<String,ActionConfig> configs,
boolean looseMatch)
Finds and precompiles the wildcard patterns from the ActionConfig
"path" attributes.
|
Modifier and Type | Method and Description |
---|---|
ActionConfig |
convert(String path,
ActionConfig orig,
Map<String,String> vars)
Clones the ActionConfig and its children, replacing various
properties with the values of the wildcard-matched strings.
|
addPattern, convertParam, freeze, match, replaceParameters
public ActionConfigMatcher(PatternMatcher<?> patternMatcher, Map<String,ActionConfig> configs, boolean looseMatch)
Finds and precompiles the wildcard patterns from the ActionConfig "path" attributes. ActionConfig's will be evaluated in the order they exist in the config file. Only paths that actually contain a wildcard will be compiled.
Patterns can optionally be matched "loosely". When the end of the pattern matches \*[^*]\*$ (wildcard, no wildcard, wildcard), if the pattern fails, it is also matched as if the last two characters didn't exist. The goal is to support the legacy "*!*" syntax, where the "!*" is optional.
patternMatcher
- pattern matcherconfigs
- An array of ActionConfig's to processlooseMatch
- To loosely match wildcards or notpublic ActionConfig convert(String path, ActionConfig orig, Map<String,String> vars)
Clones the ActionConfig and its children, replacing various properties with the values of the wildcard-matched strings.
convert
in class AbstractMatcher<ActionConfig>
path
- The requested pathorig
- The original ActionConfigvars
- A Map of wildcard-matched stringsCopyright © 2000–2020 Apache Software Foundation. All rights reserved.