org.springframework.web.reactive.result

## Class HandlerResultHandlerSupport

- java.lang.Object
- - org.springframework.web.reactive.result.HandlerResultHandlerSupport

All Implemented Interfaces:
  org.springframework.core.Ordered

Direct Known Subclasses:
  AbstractMessageWriterResultHandler, ViewResolutionResultHandler

    public abstract class HandlerResultHandlerSupport
    extends Object
    implements org.springframework.core.Ordered

Base class for `HandlerResultHandler` with support for content negotiation and access to a `ReactiveAdapter` registry.

Since:
  5.0
Author:
  Rossen Stoyanchev

### Field Summary

Fields
`protected Log` `logger`

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

`HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

### Constructor Summary

Constructors
`protected` `HandlerResultHandlerSupport(RequestedContentTypeResolver contentTypeResolver, org.springframework.core.ReactiveAdapterRegistry adapterRegistry)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected org.springframework.core.ReactiveAdapter` `getAdapter(HandlerResult result)` Get a `ReactiveAdapter` for the top-level return value type.
`org.springframework.core.ReactiveAdapterRegistry` `getAdapterRegistry()` Return the configured `ReactiveAdapterRegistry`.
`RequestedContentTypeResolver` `getContentTypeResolver()` Return the configured `RequestedContentTypeResolver`.
`int` `getOrder()`
`protected org.springframework.http.MediaType` `selectMediaType(org.springframework.web.server.ServerWebExchange exchange, Supplier<List<org.springframework.http.MediaType>> producibleTypesSupplier)` Select the best media type for the current request through a content negotiation algorithm.
`void` `setOrder(int order)` Set the order for this result handler relative to others.

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

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

### Field Detail

#### logger

    protected final Log logger

### Constructor Detail

#### HandlerResultHandlerSupport

    protected HandlerResultHandlerSupport(RequestedContentTypeResolver contentTypeResolver,
                                          org.springframework.core.ReactiveAdapterRegistry adapterRegistry)

### Method Detail

#### getAdapterRegistry

    public org.springframework.core.ReactiveAdapterRegistry getAdapterRegistry()

Return the configured `ReactiveAdapterRegistry`.

#### getContentTypeResolver

    public RequestedContentTypeResolver getContentTypeResolver()

Return the configured `RequestedContentTypeResolver`.

#### setOrder

    public void setOrder(int order)

Set the order for this result handler relative to others.

By default set to `Ordered.LOWEST_PRECEDENCE`, however see Javadoc of sub-classes which may change this default.

Parameters:
  `order` - the order

#### getOrder

    public int getOrder()

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

#### getAdapter

    @Nullable
    protected org.springframework.core.ReactiveAdapter getAdapter(HandlerResult result)

Get a `ReactiveAdapter` for the top-level return value type.

Returns:
  the matching adapter, or `null` if none

#### selectMediaType

    @Nullable
    protected org.springframework.http.MediaType selectMediaType(org.springframework.web.server.ServerWebExchange exchange,
                                                                           Supplier<List<org.springframework.http.MediaType>> producibleTypesSupplier)

Select the best media type for the current request through a content negotiation algorithm.

Parameters:
  `exchange` - the current request
  `producibleTypesSupplier` - the media types that can be produced for the current request
Returns:
  the selected media type, or `null` if none