A UrlMapping implementation that takes a Grails URL pattern and turns it into a regex matcher so that URLs can be matched and information captured from the match.
A Grails URL pattern is not a regex, but is an extension to the form defined by Apache Ant and used by Spring AntPathMatcher. Unlike regular Ant paths Grails URL patterns allow for capturing groups in the form:
/blog/(*)/**
The parenthesis define a capturing group. This implementation transforms regular Ant paths into regular expressions that are able to use capturing groups
Modifiers | Name | Description |
---|---|---|
static java.util.regex.Pattern |
DOUBLE_WILDCARD_PATTERN |
|
static java.util.regex.Pattern |
OPTIONAL_EXTENSION_WILDCARD_PATTERN |
Fields inherited from class | Fields |
---|---|
class AbstractUrlMapping |
actionName, constraints, controllerName, forwardURI, httpMethod, mappingName, namespace, parameterValues, parseRequest, pluginName, redirectInfo, restful, servletContext, version, viewName |
Constructor and description |
---|
RegexUrlMapping
(UrlMappingData data, java.net.URI uri, ConstrainedProperty[] constraints, javax.servlet.ServletContext servletContext) Constructs a new RegexUrlMapping for the given pattern that maps to the specified URI |
RegexUrlMapping
(UrlMappingData data, java.lang.Object controllerName, java.lang.Object actionName, java.lang.Object namespace, java.lang.Object pluginName, java.lang.Object viewName, java.lang.String httpMethod, java.lang.String version, ConstrainedProperty[] constraints, javax.servlet.ServletContext servletContext) |
RegexUrlMapping
(java.lang.Object redirectInfo, UrlMappingData data, java.lang.Object controllerName, java.lang.Object actionName, java.lang.Object namespace, java.lang.Object pluginName, java.lang.Object viewName, java.lang.String httpMethod, java.lang.String version, ConstrainedProperty[] constraints, javax.servlet.ServletContext servletContext) Constructs a new RegexUrlMapping for the given pattern, controller name, action name and constraints. |
Type Params | Return Type | Name and description |
---|---|---|
|
int |
compareTo(java.lang.Object o) Compares this UrlMapping instance with the specified UrlMapping instance and deals with URL mapping precedence rules. |
|
protected java.util.regex.Pattern |
convertToRegex(java.lang.String url) Converts a Grails URL provides via the UrlMappingData interface to a regular expression. |
|
java.lang.String |
createRelativeURL(java.lang.String controller, java.lang.String action, java.util.Map paramValues, java.lang.String encoding) |
|
java.lang.String |
createRelativeURL(java.lang.String controller, java.lang.String action, java.lang.String pluginName, java.util.Map paramValues, java.lang.String encoding) |
|
java.lang.String |
createRelativeURL(java.lang.String controller, java.lang.String action, java.lang.String namespace, java.lang.String pluginName, java.util.Map paramValues, java.lang.String encoding) |
|
java.lang.String |
createRelativeURL(java.lang.String controller, java.lang.String action, java.util.Map paramValues, java.lang.String encoding, java.lang.String fragment) |
|
java.lang.String |
createRelativeURL(java.lang.String controller, java.lang.String action, java.lang.String namespace, java.lang.String pluginName, java.util.Map paramValues, java.lang.String encoding, java.lang.String fragment) |
|
java.lang.String |
createURL(java.util.Map paramValues, java.lang.String encoding) @see org.codehaus.groovy.grails.web.mapping.UrlMapping |
|
java.lang.String |
createURL(java.util.Map paramValues, java.lang.String encoding, java.lang.String fragment) |
|
java.lang.String |
createURL(java.lang.String controller, java.lang.String action, java.util.Map paramValues, java.lang.String encoding) |
|
java.lang.String |
createURL(java.lang.String controller, java.lang.String action, java.lang.String pluginName, java.util.Map parameterValues, java.lang.String encoding) |
|
java.lang.String |
createURL(java.lang.String controller, java.lang.String action, java.lang.String namespace, java.lang.String pluginName, java.util.Map paramValues, java.lang.String encoding) |
|
java.lang.String |
createURL(java.lang.String controller, java.lang.String action, java.util.Map paramValues, java.lang.String encoding, java.lang.String fragment) |
|
java.lang.String |
createURL(java.lang.String controller, java.lang.String action, java.lang.String namespace, java.lang.String pluginName, java.util.Map paramValues, java.lang.String encoding, java.lang.String fragment) |
|
protected java.lang.String |
encode(java.lang.String s, java.lang.String encoding) |
|
java.lang.String[] |
getLogicalMappings() |
|
UrlMappingData |
getUrlData() |
|
UrlMappingInfo |
match(java.lang.String uri) Matches the given URI and returns a DefaultUrlMappingInfo instance or null |
|
java.lang.String |
toString() |
Methods inherited from class | Name |
---|---|
class AbstractUrlMapping |
getActionName, getConstraints, getControllerName, getHttpMethod, getMappingName, getNamespace, getPluginName, getRedirectInfo, getVersion, getViewName, hasRuntimeVariable, isRestfulMapping, setMappingName, setParameterValues, setParseRequest, setRestfulMapping |
class java.lang.Object |
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Constructs a new RegexUrlMapping for the given pattern that maps to the specified URI
data
- The patternuri
- The URIconstraints
- Any constraints etc.servletContext
- The servlet contextConstructs a new RegexUrlMapping for the given pattern, controller name, action name and constraints.
data
- An instance of the UrlMappingData class that holds necessary information of the URL mappingcontrollerName
- The name of the controller the URL maps to (required)actionName
- The name of the action the URL maps tonamespace
- The controller namespacepluginName
- The name of the plugin which provided the controllerviewName
- The name of the view as an alternative to the name of the action. If the action is specified it takes precedence over the view name during mappinghttpMethod
- The http methodversion
- The versionconstraints
- A list of ConstrainedProperty instances that relate to tokens in the URLCompares this UrlMapping instance with the specified UrlMapping instance and deals with URL mapping precedence rules. URL Mapping Precedence Order 1. Less wildcard tokens. /foo <- match /foo/(*) /foo/(*)/bar/ <- match /foo/(*)/(*) 2. More static tokens. /foo/(*)/bar <- match /foo/(*)
o
- An instance of the UrlMapping interfaceConverts a Grails URL provides via the UrlMappingData interface to a regular expression.
url
- The URL to convert
Matches the given URI and returns a DefaultUrlMappingInfo instance or null
uri
- The URI to match