org.springframework.web.servlet.mvc.multiaction

## Class InternalPathMethodNameResolver

- java.lang.Object
- - org.springframework.web.servlet.mvc.multiaction.AbstractUrlMethodNameResolver
  - - org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver

- All Implemented Interfaces:
    MethodNameResolver

      public class InternalPathMethodNameResolver
      extends AbstractUrlMethodNameResolver

  Simple implementation of `MethodNameResolver` that maps URL to method name. Although this is the default implementation used by the `MultiActionController` class (because it requires no configuration), it's bit naive for most applications. In particular, we don't usually want to tie URL to implementation methods.

  Maps the resource name after the last slash, ignoring an extension. E.g. "/foo/bar/baz.html" to "baz", assuming a "/foo/bar/baz.html" controller mapping to the corresponding MultiActionController handler. method. Doesn't support wildcards.

  Author:
    Rod Johnson, Juergen Hoeller

- - ### Field Summary

    - ### Fields inherited from class org.springframework.web.servlet.mvc.multiaction.AbstractUrlMethodNameResolver

      `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `InternalPathMethodNameResolver()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected String` | `extractHandlerMethodNameFromUrlPath(String uri)` Extract the handler method name from the given request URI.
    `protected String` | `getHandlerMethodNameForUrlPath(String urlPath)` Extracts the method name indicated by the URL path.
    `protected String` | `getPrefix()` Return the common prefix for handler method names.
    `protected String` | `getSuffix()` Return the common suffix for handler method names.
    `protected String` | `postProcessHandlerMethodName(String methodName)` Build the full handler method name based on the given method name as indicated by the URL path.
    `void` | `setPrefix(String prefix)` Specify a common prefix for handler method names.
    `void` | `setSuffix(String suffix)` Specify a common suffix for handler method names.

    - ### Methods inherited from class org.springframework.web.servlet.mvc.multiaction.AbstractUrlMethodNameResolver

      `getHandlerMethodName, setAlwaysUseFullPath, setUrlDecode, setUrlPathHelper`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### InternalPathMethodNameResolver

          public InternalPathMethodNameResolver()

  - ### Method Detail

    - #### setPrefix

          public void setPrefix(String prefix)

      Specify a common prefix for handler method names. Will be prepended to the internal path found in the URL: e.g. internal path "baz", prefix "my" -> method name "mybaz".

    - #### getPrefix

          protected String getPrefix()

      Return the common prefix for handler method names.

    - #### setSuffix

          public void setSuffix(String suffix)

      Specify a common suffix for handler method names. Will be appended to the internal path found in the URL: e.g. internal path "baz", suffix "Handler" -> method name "bazHandler".

    - #### getSuffix

          protected String getSuffix()

      Return the common suffix for handler method names.

    - #### getHandlerMethodNameForUrlPath

          protected String getHandlerMethodNameForUrlPath(String urlPath)

      Extracts the method name indicated by the URL path.
      Specified by:
        `getHandlerMethodNameForUrlPath` in class `AbstractUrlMethodNameResolver`
      Parameters:
        `urlPath` - the URL path to use for lookup, according to the settings in this class
      Returns:
        a method name that can handle this request. Should return null if no matching method found.
      See Also:
        `extractHandlerMethodNameFromUrlPath(java.lang.String)`, `postProcessHandlerMethodName(java.lang.String)`

    - #### extractHandlerMethodNameFromUrlPath

          protected String extractHandlerMethodNameFromUrlPath(String uri)

      Extract the handler method name from the given request URI. Delegates to `WebUtils.extractViewNameFromUrlPath(String)`.
      Parameters:
        `uri` - the request URI (e.g. "/index.html")
      Returns:
        the extracted URI filename (e.g. "index")
      See Also:
        `WebUtils.extractFilenameFromUrlPath(java.lang.String)`

    - #### postProcessHandlerMethodName

          protected String postProcessHandlerMethodName(String methodName)

      Build the full handler method name based on the given method name as indicated by the URL path.

      The default implementation simply applies prefix and suffix. This can be overridden, for example, to manipulate upper case / lower case, etc.

      Parameters:
        `methodName` - the original method name, as indicated by the URL path
      Returns:
        the full method name to use
      See Also:
        `getPrefix()`, `getSuffix()`