Overview | Package | Class | Deprecated | Index | Help
| Groovy Documentation
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.codehaus.groovy.grails.web.mapping
[Java] Class RegexUrlMapping

    java.lang.Object
      org.codehaus.groovy.grails.web.mapping.AbstractUrlMapping
          org.codehaus.groovy.grails.web.mapping.RegexUrlMapping

All Implemented Interfaces:
  UrlMapping

    @SuppressWarnings("rawtypes")
    public class RegexUrlMapping
    extends AbstractUrlMapping

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

Authors:
  Graeme Rocher

See Also:
  org.springframework.util.AntPathMatcher

Since:
  0.5

Field Summary

Fields inherited from class AbstractUrlMapping
actionName, constraints, controllerName, forwardURI, mappingName, parameterValues, parseRequest, restful, servletContext, viewName

Constructor Summary
`RegexUrlMapping(UrlMappingData data, java.lang.Object controllerName, java.lang.Object actionName, java.lang.Object viewName, ConstrainedProperty[] constraints, ServletContext servletContext)` Constructs a new RegexUrlMapping for the given pattern, controller name, action name and constraints.
`RegexUrlMapping(UrlMappingData data, java.net.URI uri, ConstrainedProperty[] constraints, ServletContext servletContext)` Constructs a new RegexUrlMapipng for the given pattern that maps to the specified URI

Method Summary
`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.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.util.Map paramValues, java.lang.String encoding, java.lang.String fragment)`
`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 AbstractUrlMapping
getActionName, getConstraints, getControllerName, getMappingName, getViewName, hasRuntimeVariable, isRestfulMapping, setMappingName, setParameterValues, setParseRequest, setRestfulMapping

Constructor Detail

### RegexUrlMapping

    public RegexUrlMapping(UrlMappingData data, java.lang.Object controllerName, java.lang.Object actionName, java.lang.Object viewName, ConstrainedProperty[] constraints, ServletContext servletContext)

  Constructs a new RegexUrlMapping for the given pattern, controller name, action name and constraints.
  Parameters:
    `data` - An instance of the UrlMappingData class that holds necessary information of the URL mapping
    `controllerName` - The name of the controller the URL maps to (required)
    `actionName` - The name of the action the URL maps to
    `viewName` - 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 mapping
    `constraints` - A list of ConstrainedProperty instances that relate to tokens in the URL
    servletContext
  See Also:
    ConstrainedProperty

### RegexUrlMapping

    public RegexUrlMapping(UrlMappingData data, java.net.URI uri, ConstrainedProperty[] constraints, ServletContext servletContext)

  Constructs a new RegexUrlMapipng for the given pattern that maps to the specified URI
  Parameters:
    `data` - The pattern
    `uri` - The URI
    `constraints` - Any constraints etc.
    `servletContext` - The servlet context

Method Detail

### compareTo

    public int compareTo(java.lang.Object o)

  Compares 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/(*)
  Parameters:
    `o` - An instance of the UrlMapping interface
  Returns:
    greater than 0 if this UrlMapping should match before the specified UrlMapping. 0 if they are equal or less than 0 if this UrlMapping should match after the given UrlMapping

### convertToRegex

    protected java.util.regex.Pattern convertToRegex(java.lang.String url)

  Converts a Grails URL provides via the UrlMappingData interface to a regular expression.
  Parameters:
    `url` - The URL to convert
  Returns:
    A regex Pattern objet

### createRelativeURL

    public java.lang.String createRelativeURL(java.lang.String controller, java.lang.String action, java.util.Map paramValues, java.lang.String encoding)

### createRelativeURL

    public java.lang.String createRelativeURL(java.lang.String controller, java.lang.String action, java.util.Map paramValues, java.lang.String encoding, java.lang.String fragment)

### createURL

    public java.lang.String createURL(java.util.Map paramValues, java.lang.String encoding)

  See Also:
    UrlMapping

### createURL

    public java.lang.String createURL(java.util.Map paramValues, java.lang.String encoding, java.lang.String fragment)

### createURL

    public java.lang.String createURL(java.lang.String controller, java.lang.String action, java.util.Map paramValues, java.lang.String encoding)

### createURL

    public java.lang.String createURL(java.lang.String controller, java.lang.String action, java.util.Map paramValues, java.lang.String encoding, java.lang.String fragment)

### getLogicalMappings

    public String[] getLogicalMappings()

### getUrlData

    public UrlMappingData getUrlData()

### match

    public UrlMappingInfo match(java.lang.String uri)

  Matches the given URI and returns a DefaultUrlMappingInfo instance or null
  Parameters:
    `uri` - The URI to match
  Returns:
    A UrlMappingInfo instance or null
  See Also:
    UrlMappingInfo

### toString

    @Override
    public java.lang.String toString()

Groovy Documentation