Package: grails.artefact

## [Groovy] Trait Interceptor

- grails.artefact.Interceptor

- All Implemented Interfaces and Traits:
    DataBinder, RequestForwarder, ResponseRedirector, ResponseRenderer, ServletAttributes, WebAttributes, org.springframework.core.Ordered

      @groovy.transform.CompileStatic
      trait Interceptor

  An interceptor can be used to intercept requests to controllers and URIs They replace the notion of filters from earlier versions of Grails, prior to Grails 3.0

  Authors:
    Graeme Rocher
  Since:
    3.0

- - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `java.util.Collection<Matcher>` | `matchers` The matchers defined by this interceptor
    `int` | `order` The order the interceptor should execute in

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `boolean` | `after()` Executed after the action executes but prior to view rendering
    `` | `void` | `afterView()` Executed after view rendering completes
    `` | `boolean` | `before()` Executed before a matched action
    `` | `boolean` | `doesMatch()` @return Whether the current interceptor does match
    `` | `boolean` | `doesMatch(javax.servlet.http.HttpServletRequest request)` @return Whether the current interceptor does match
    `` | `java.util.Map<java.lang.String, java.lang.Object>` | `getModel()` @return The current model
    `` | `org.springframework.web.servlet.ModelAndView` | `getModelAndView()` Obtains the ModelAndView for the currently executing controller
    `` | `java.lang.Throwable` | `getThrowable()` Obtains the exception thrown by an action execution
    `` | `java.lang.String` | `getView()` @return The current view
    `` | `void` | `header(java.lang.String headerName, java.lang.Object headerValue)` Sets a response header for the given name and value
    `` | `Matcher` | `match(java.util.Map arguments)` Used to define a match.
    `` | `Matcher` | `matchAll()` Matches all requests
    `` | `void` | `render(java.util.Map argMap)` Overridden render method that renders the view directly inside before()
    `` | `void` | `setModel(java.util.Map<java.lang.String, java.lang.Object> model)` Sets the model
    `` | `void` | `setModelAndView(org.springframework.web.servlet.ModelAndView mav)` Sets the ModelAndView of the current controller
    `` | `void` | `setView(java.lang.String view)` Sets the view name

- - ### Property Detail

    - #### final java.util.Collection<Matcher> matchers

      The matchers defined by this interceptor

    - #### int order

      The order the interceptor should execute in

  - ### Method Detail

    - #### boolean after()

      Executed after the action executes but prior to view rendering

      Returns:
        True if view rendering should continue, false otherwise

    - #### void afterView()

      Executed after view rendering completes

      Parameters:
        `t` - The exception instance if an exception was thrown, null otherwise

    - #### boolean before()

      Executed before a matched action

      Returns:
        Whether the action should continue and execute

    - #### boolean doesMatch()

      Returns:
        Whether the current interceptor does match

    - #### boolean doesMatch(javax.servlet.http.HttpServletRequest request)

      Returns:
        Whether the current interceptor does match

    - #### java.util.Map<java.lang.String, java.lang.Object> getModel()

      Returns:
        The current model

    - #### org.springframework.web.servlet.ModelAndView getModelAndView()

      Obtains the ModelAndView for the currently executing controller

      Returns:
        The ModelAndView

    - #### java.lang.Throwable getThrowable()

      Obtains the exception thrown by an action execution

      Parameters:
        `t` - The exception or null if none was thrown

    - #### java.lang.String getView()

      Returns:
        The current view

    - #### void header(java.lang.String headerName, java.lang.Object headerValue)

      Sets a response header for the given name and value

      Parameters:
        `headerName` - The header name
        `headerValue` - The header value

    - #### Matcher match(java.util.Map arguments)

      Used to define a match. Example: match(controller:'book', action:'*')

      Parameters:
        `arguments` - The match arguments

    - #### Matcher matchAll()

      Matches all requests

    - #### void render(java.util.Map argMap)

      Overridden render method that renders the view directly inside before()

      Parameters:
        argMap

    - #### void setModel(java.util.Map<java.lang.String, java.lang.Object> model)

      Sets the model

      Parameters:
        `model` - The model to set

    - #### void setModelAndView(org.springframework.web.servlet.ModelAndView mav)

      Sets the ModelAndView of the current controller

      Parameters:
        `mav` - The ModelAndView

    - #### void setView(java.lang.String view)

      Sets the view name

      Parameters:
        `view` - The name of the view