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.lang.String |
FORMAT_PARAMETER |
|
static java.util.regex.Pattern |
OPTIONAL_EXTENSION_WILDCARD_PATTERN |
Fields inherited from class | Fields |
---|---|
class AbstractUrlMapping |
actionName, constraints, controllerName, forwardURI, grailsApplication, httpMethod, mappingName, namespace, parameterValues, parseRequest, pluginIndex, pluginName, redirectInfo, servletContext, version, viewName |
Constructor and description |
---|
RegexUrlMapping
(UrlMappingData data, java.net.URI uri, grails.gorm.validation.ConstrainedProperty[] constraints, GrailsApplication grailsApplication) 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, grails.gorm.validation.ConstrainedProperty[] constraints, GrailsApplication grailsApplication) |
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, grails.gorm.validation.ConstrainedProperty[] constraints, GrailsApplication grailsApplication) 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 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, getPluginIndex, getPluginName, getRedirectInfo, getVersion, getViewName, hasRuntimeVariable, isDefinedInPlugin, setMappingName, setParameterValues, setParseRequest, setPluginIndex |
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.grailsApplication
- The GrailsApplication instanceConstructs 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 URLgrailsApplication
- The Grails applicationCompares 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