Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.web.servlet.mvc.method.annotation
Class AbstractMessageConverterMethodProcessor

    java.lang.Object
      org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver
          org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor

All Implemented Interfaces:
  HandlerMethodArgumentResolver, HandlerMethodReturnValueHandler

Direct Known Subclasses:
  HttpEntityMethodProcessor, RequestResponseBodyMethodProcessor

    public abstract class AbstractMessageConverterMethodProcessor

extends AbstractMessageConverterMethodArgumentResolver
implements HandlerMethodReturnValueHandler

Extends `AbstractMessageConverterMethodArgumentResolver` with the ability to handle method return values by writing to the response with `HttpMessageConverter`s.

Since:
  3.1
Author:
  Arjen Poutsma, Rossen Stoyanchev

Field Summary

Fields inherited from class org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver
`allSupportedMediaTypes, logger, messageConverters`

Constructor Summary
`protected` | `AbstractMessageConverterMethodProcessor(java.util.List<HttpMessageConverter<?>> messageConverters)`

Method Summary
`protected ServletServerHttpResponse` | `createOutputMessage(NativeWebRequest webRequest)` Creates a new `HttpOutputMessage` from the given `NativeWebRequest`.
`protected java.util.List<MediaType>` | `getProducibleMediaTypes(javax.servlet.http.HttpServletRequest request, java.lang.Class<?> returnValueClass)` Returns the media types that can be produced: The producible media types specified in the request mappings, or Media types of configured converters that can write the specific return value, or `MediaType.ALL`
`protected
`<T> void`
` | `writeWithMessageConverters(T returnValue, MethodParameter returnType, NativeWebRequest webRequest)` Writes the given return value to the given web request.
`protected
`<T> void`
` | `writeWithMessageConverters(T returnValue, MethodParameter returnType, ServletServerHttpRequest inputMessage, ServletServerHttpResponse outputMessage)` Writes the given return type to the given output message.

Methods inherited from class org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver
`createInputMessage, readWithMessageConverters, readWithMessageConverters`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.springframework.web.method.support.HandlerMethodReturnValueHandler
`handleReturnValue, supportsReturnType`

Methods inherited from interface org.springframework.web.method.support.HandlerMethodArgumentResolver
`resolveArgument, supportsParameter`

Constructor Detail

### AbstractMessageConverterMethodProcessor

    protected AbstractMessageConverterMethodProcessor(java.util.List<HttpMessageConverter<?>> messageConverters)

Method Detail

### createOutputMessage

    protected ServletServerHttpResponse createOutputMessage(NativeWebRequest webRequest)

  Creates a new `HttpOutputMessage` from the given `NativeWebRequest`.

  Parameters:
    `webRequest` - the web request to create an output message from
  Returns:
    the output message

### writeWithMessageConverters

    protected <T> void writeWithMessageConverters(T returnValue,
                                                  MethodParameter returnType,
                                                  NativeWebRequest webRequest)
                                       throws java.io.IOException,
                                              HttpMediaTypeNotAcceptableException

  Writes the given return value to the given web request. Delegates to `writeWithMessageConverters(Object, MethodParameter, ServletServerHttpRequest, ServletServerHttpResponse)`

  Throws:
    `java.io.IOException`
    `HttpMediaTypeNotAcceptableException`

### writeWithMessageConverters

    protected <T> void writeWithMessageConverters(T returnValue,
                                                  MethodParameter returnType,
                                                  ServletServerHttpRequest inputMessage,
                                                  ServletServerHttpResponse outputMessage)
                                       throws java.io.IOException,
                                              HttpMediaTypeNotAcceptableException

  Writes the given return type to the given output message.

  Parameters:
    `returnValue` - the value to write to the output message
    `returnType` - the type of the value
    `inputMessage` - the input messages. Used to inspect the `Accept` header.
    `outputMessage` - the output message to write to
  Throws:
    `java.io.IOException` - thrown in case of I/O errors
    `HttpMediaTypeNotAcceptableException` - thrown when the conditions indicated by `Accept` header on the request cannot be met by the message converters

### getProducibleMediaTypes

    protected java.util.List<MediaType> getProducibleMediaTypes(javax.servlet.http.HttpServletRequest request,
                                                                java.lang.Class<?> returnValueClass)

  Returns the media types that can be produced:
  - The producible media types specified in the request mappings, or
  - Media types of configured converters that can write the specific return value, or
  - `MediaType.ALL`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD