diff --git a/spring-web/src/main/java/org/springframework/http/converter/protobuf/ProtobufHttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/protobuf/ProtobufHttpMessageConverter.java index 866a9127091..d29d3a5c3be 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/protobuf/ProtobufHttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/protobuf/ProtobufHttpMessageConverter.java @@ -17,9 +17,7 @@ package org.springframework.http.converter.protobuf; import java.io.IOException; -import java.io.InputStream; import java.io.InputStreamReader; -import java.io.OutputStream; import java.io.OutputStreamWriter; import java.lang.reflect.Method; import java.nio.charset.Charset; @@ -105,7 +103,7 @@ public class ProtobufHttpMessageConverter extends AbstractHttpMessageConverterNote that {@link #PROTOBUF}, {@link #PLUS_PROTOBUF}, and {@link MediaType#TEXT_PLAIN} + * have built-in support and can be listed in addition to formats + * specific to this delegate. + */ MediaType[] supportedMediaTypes(); + /** + * Whether the media type is supported for writing. + */ boolean supportsWriteOnly(@Nullable MediaType mediaType); - void merge(InputStream input, Charset charset, MediaType contentType, - ExtensionRegistry extensionRegistry, Message.Builder builder) + /** + * Use merge methods on {@link Message.Builder} to read a message from + * the given {@code HttpInputMessage}. + */ + void merge(HttpInputMessage inputMessage, MediaType contentType, Charset charset, + Message.Builder builder, ExtensionRegistry extensionRegistry) throws IOException, HttpMessageConversionException; - void print(Message message, OutputStream output, MediaType contentType, Charset charset) + /** + * Use print methods on {@link Message.Builder} to write the message to + * the given {@code HttpOutputMessage}. + */ + void print(Message message, HttpOutputMessage outputMessage, MediaType contentType, Charset charset) throws IOException, HttpMessageConversionException; } /** - * {@link ProtobufFormatSupport} implementation used when + * {@link ProtobufFormatDelegate} implementation used when * {@code com.google.protobuf.util.JsonFormat} is available. */ - static class ProtobufJavaUtilSupport implements ProtobufFormatSupport { + static class ProtobufJavaUtilDelegate implements ProtobufFormatDelegate { private final JsonFormat.Parser parser; private final JsonFormat.Printer printer; - public ProtobufJavaUtilSupport(JsonFormat.@Nullable Parser parser, JsonFormat.@Nullable Printer printer) { + public ProtobufJavaUtilDelegate(JsonFormat.@Nullable Parser parser, JsonFormat.@Nullable Printer printer) { this.parser = (parser != null ? parser : JsonFormat.parser()); this.printer = (printer != null ? printer : JsonFormat.printer()); } @@ -302,12 +323,12 @@ public class ProtobufHttpMessageConverter extends AbstractHttpMessageConverter