## org.codehaus.groovy.grails.web.mapping
Interface UrlMapping

All Superinterfaces:
  Comparable, UrlCreator

All Known Implementing Classes:
  AbstractUrlMapping, RegexUrlMapping, ResponseCodeUrlMapping

    public interface UrlMapping

extends Comparable, UrlCreator

An interface that defines a URL mapping. A URL mapping is a mapping between a URI such as /book/list and a controller, action and/or id

A UrlMapping should implement Comparable so that UrlMapping instances can be ordered to allow for precendence rules. In other words the URL /book/list should be matched before /book/* as the wildcard is of lesser precedence. By implementing Comparable this can be allowed for.

Since:
  0.5

  Created: Feb 28, 2007 Time: 5:49:41 PM
Author:
  Graeme Rocher

Field Summary
`static String` `ACTION`
`static String` `CONTROLLER`

Method Summary
`Object` `getActionName()` Retrieves the action name which is either a groovy.lang.Closure that evaluates the action name at runtime or a java.lang.String that represents the action name
`ConstrainedProperty[]` `getConstraints()` The constraints the apply to this UrlMapping.
`Object` `getControllerName()` Retrieves the controller name which is either a groovy.lang.Closure that evaluates the controller name at runtime or a java.lang.String that represents the controller name
`String` `getMappingName()`
`UrlMappingData` `getUrlData()` Retrieves the UrlMappingData instance that describes this UrlMapping
`Object` `getViewName()` Returns the name of the view to map to
`boolean` `hasRuntimeVariable(String name)` Whether the mapping has a runtime variable with the given name such as "/$foo"
`boolean` `isRestfulMapping()`
`UrlMappingInfo` `match(String uri)` Matches the given URI and returns an instance of the UrlMappingInfo interface or null if a match couldn't be established
`void` `setMappingName(String name)`
`void` `setParameterValues(Map parameterValues)` Sets any parameter values that should be populated into the request
`void` `setParseRequest(boolean shouldParse)` Sets whether this UrlMapping should parse the request
`void` `setRestfulMapping(boolean isREST)`

Methods inherited from interface java.lang.Comparable
`compareTo`

Methods inherited from interface org.codehaus.groovy.grails.web.mapping.UrlCreator
`createRelativeURL, createRelativeURL, createURL, createURL, createURL, createURL`

Field Detail

### CONTROLLER

    static final String CONTROLLER

See Also:
  Constant Field Values

### ACTION

    static final String ACTION

See Also:
  Constant Field Values

Method Detail

### match

    UrlMappingInfo match(String uri)

  Matches the given URI and returns an instance of the UrlMappingInfo interface or null if a match couldn't be established

  Parameters:
    `uri` - The URI to match
  Returns:
    An instance of UrlMappingInfo or null if the URI doesn't match

### getUrlData

    UrlMappingData getUrlData()

  Retrieves the UrlMappingData instance that describes this UrlMapping

  Returns:
    The UrlMappingData instance

### getConstraints

    ConstrainedProperty[] getConstraints()

  The constraints the apply to this UrlMapping. Each constraint maps to a GString token in a URL mapping in order. For example consider the URL:

           /blog/$author/$title/$year?/$month?/$day?

  This results in 5 ConstrainedProperty instances called author, title, year, month and day

  Returns:
    An array containing the ConstrainedProperty objects of this URLMapping

### getControllerName

    Object getControllerName()

  Retrieves the controller name which is either a groovy.lang.Closure that evaluates the controller name at runtime or a java.lang.String that represents the controller name

  Returns:
    The controller name as a `Closure` or `String`

### getActionName

    Object getActionName()

  Retrieves the action name which is either a groovy.lang.Closure that evaluates the action name at runtime or a java.lang.String that represents the action name

  Returns:
    The action name as a `Closure` or `String`

### getViewName

    Object getViewName()

  Returns the name of the view to map to

  Returns:
    The view name

### setParameterValues

    void setParameterValues(Map parameterValues)

  Sets any parameter values that should be populated into the request

  Parameters:
    `parameterValues` - The parameter values to set

### setParseRequest

    void setParseRequest(boolean shouldParse)

  Sets whether this UrlMapping should parse the request

  Parameters:
    `shouldParse` - True if it should

### getMappingName

    String getMappingName()

### setMappingName

    void setMappingName(String name)

### setRestfulMapping

    void setRestfulMapping(boolean isREST)

  Parameters:
    `isREST` - Set whether this is a RESTful mapping

### isRestfulMapping

    boolean isRestfulMapping()

  Returns:
    Whether this is a RESTful mapping

### hasRuntimeVariable

    boolean hasRuntimeVariable(String name)

  Whether the mapping has a runtime variable with the given name such as "/$foo"

  Parameters:
    `name` - The name of the variable
  Returns:
    True if the mapping has the variable

Copyright (c) 2005-2009 The Grails project