Package org.springframework.web.servlet.function.support

# Class HandlerFunctionAdapter

java.lang.Object
org.springframework.web.servlet.function.support.HandlerFunctionAdapter

All Implemented Interfaces:
  `org.springframework.core.Ordered`, `HandlerAdapter`

public class HandlerFunctionAdapter extends Object implements HandlerAdapter, org.springframework.core.Ordered
`HandlerAdapter` implementation that supports `HandlerFunction`s.

Since:
  5.2
Author:
  Arjen Poutsma

## Field Summary

### Fields inherited from interface org.springframework.core.Ordered

`HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

## Constructor Summary

Constructors
Constructor
Description
`HandlerFunctionAdapter()`

## Method Summary

Modifier and Type
Method
Description
`long`
`getLastModified(HttpServletRequest request, Object handler)`
Same contract as for HttpServlet's `getLastModified` method.
`int`
`getOrder()`
`ModelAndView`
`handle(HttpServletRequest servletRequest, HttpServletResponse servletResponse, Object handler)`
Use the given handler to handle this request.
`void`
`setAsyncRequestTimeout(long timeout)`
Specify the amount of time, in milliseconds, before concurrent handling should time out.
`void`
`setOrder(int order)`
Specify the order value for this HandlerAdapter bean.
`boolean`
`supports(Object handler)`
Given a handler instance, return whether this `HandlerAdapter` can support it.

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

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

## Constructor Details

### HandlerFunctionAdapter

public HandlerFunctionAdapter()

## Method Details

### setOrder

public void setOrder(int order)
Specify the order value for this HandlerAdapter bean.

The default value is `Ordered.LOWEST_PRECEDENCE`, meaning non-ordered.

See Also:
  - `Ordered.getOrder()`

### getOrder

public int getOrder()

Specified by:
  `getOrder` in interface `org.springframework.core.Ordered`

### setAsyncRequestTimeout

public void setAsyncRequestTimeout(long timeout)
Specify the amount of time, in milliseconds, before concurrent handling should time out. In Servlet 3, the timeout begins after the main request processing thread has exited and ends when the request is dispatched again for further processing of the concurrently produced result.

If this value is not set, the default timeout of the underlying implementation is used.

A value of 0 or less indicates that the asynchronous operation will never time out.

Parameters:
  `timeout` - the timeout value in milliseconds

### supports

public boolean supports(Object handler)
Description copied from interface: `HandlerAdapter`
Given a handler instance, return whether this `HandlerAdapter` can support it. Typical HandlerAdapters will base the decision on the handler type. HandlerAdapters will usually only support one handler type each.

A typical implementation:

`return (handler instanceof MyHandler);`

Specified by:
  `supports` in interface `HandlerAdapter`
Parameters:
  `handler` - the handler object to check
Returns:
  whether this object can use the given handler

### handle

@Nullable public ModelAndView handle(HttpServletRequest servletRequest, HttpServletResponse servletResponse, Object handler) throws Exception
Description copied from interface: `HandlerAdapter`
Use the given handler to handle this request. The workflow that is required may vary widely.

Specified by:
  `handle` in interface `HandlerAdapter`
Parameters:
  `servletRequest` - current HTTP request
  `servletResponse` - current HTTP response
  `handler` - the handler to use. This object must have previously been passed to the `supports` method of this interface, which must have returned `true`.
Returns:
  a ModelAndView object with the name of the view and the required model data, or `null` if the request has been handled directly
Throws:
  `Exception` - in case of errors

### getLastModified

public long getLastModified(HttpServletRequest request, Object handler)
Description copied from interface: `HandlerAdapter`
Same contract as for HttpServlet's `getLastModified` method. Can simply return -1 if there's no support in the handler class.

Specified by:
  `getLastModified` in interface `HandlerAdapter`
Parameters:
  `request` - current HTTP request
  `handler` - the handler to use
Returns:
  the lastModified value for the given handler