Interface UrlMapping

  • All Superinterfaces:
    java.lang.Comparable, UrlCreator
    All Known Implementing Classes:
    AbstractUrlMapping, RegexUrlMapping, ResponseCodeUrlMapping

    public interface UrlMapping
    extends java.lang.Comparable, UrlCreator

    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
    • Method Detail

      • match

        UrlMappingInfo match​(java.lang.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

        grails.gorm.validation.Constrained[] 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

        java.lang.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

        java.lang.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
      • getPluginName

        java.lang.Object getPluginName()
        The name of the plugin this URL mapping relates to, if any
        Returns:
        The plugin name
      • getNamespace

        java.lang.Object getNamespace()
        Returns:
        the name of the controller namespace
      • getViewName

        java.lang.Object getViewName()
        Returns the name of the view to map to
        Returns:
        The view name
      • getHttpMethod

        java.lang.String getHttpMethod()
        The HTTP method this URL mapping applies to. Will be null for all HTTP methods
        Returns:
        The HTTP method
      • getVersion

        java.lang.String getVersion()
        Returns:
        The version of the URL mapping. Used for versioning of REST services
      • setParameterValues

        void setParameterValues​(java.util.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

        java.lang.String getMappingName()
        The name of the mapping in case of named URL mapping
        Returns:
        The mapping name
      • setMappingName

        void setMappingName​(java.lang.String name)
        Sets the name of the URL mapping
        Parameters:
        name - The name of the URL mapping
      • hasRuntimeVariable

        boolean hasRuntimeVariable​(java.lang.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
      • getRedirectInfo

        java.lang.Object getRedirectInfo()
        The redirect information should be a String or a Map. If it is a String that string is the URI to redirect to. If it is a Map, that Map may contain any entries supported as arguments to the dynamic redirect(Map) method on a controller.
        Returns:
        redirect information for this url mapping
      • setPluginIndex

        void setPluginIndex​(int pluginIndex)
        Sets whether or not the mapping is defined in a plugin.
        Parameters:
        pluginIndex - The index of the plugin that defines this mapping
      • getPluginIndex

        java.lang.Integer getPluginIndex()
        Returns:
        The plugin index or null
      • isDefinedInPlugin

        boolean isDefinedInPlugin()
        Returns:
        True if the URL mapping comes from a plugin