diff --git a/spring-core/src/main/java/org/springframework/core/codec/AbstractDecoder.java b/spring-core/src/main/java/org/springframework/core/codec/AbstractDecoder.java index b46e15afb2..8ec6e5a1ee 100644 --- a/spring-core/src/main/java/org/springframework/core/codec/AbstractDecoder.java +++ b/spring-core/src/main/java/org/springframework/core/codec/AbstractDecoder.java @@ -50,7 +50,7 @@ public abstract class AbstractDecoder implements Decoder { } @Override - public boolean canDecode(ResolvableType elementType, MimeType mimeType, Map hints) { + public boolean canDecode(ResolvableType elementType, MimeType mimeType) { if (mimeType == null) { return true; } diff --git a/spring-core/src/main/java/org/springframework/core/codec/AbstractEncoder.java b/spring-core/src/main/java/org/springframework/core/codec/AbstractEncoder.java index 690f3de178..2aa053815c 100644 --- a/spring-core/src/main/java/org/springframework/core/codec/AbstractEncoder.java +++ b/spring-core/src/main/java/org/springframework/core/codec/AbstractEncoder.java @@ -46,7 +46,7 @@ public abstract class AbstractEncoder implements Encoder { } @Override - public boolean canEncode(ResolvableType elementType, MimeType mimeType, Map hints) { + public boolean canEncode(ResolvableType elementType, MimeType mimeType) { if (mimeType == null) { return true; } diff --git a/spring-core/src/main/java/org/springframework/core/codec/ByteBufferDecoder.java b/spring-core/src/main/java/org/springframework/core/codec/ByteBufferDecoder.java index e7c8d01931..a58f09594e 100644 --- a/spring-core/src/main/java/org/springframework/core/codec/ByteBufferDecoder.java +++ b/spring-core/src/main/java/org/springframework/core/codec/ByteBufferDecoder.java @@ -43,9 +43,9 @@ public class ByteBufferDecoder extends AbstractDecoder { @Override - public boolean canDecode(ResolvableType elementType, MimeType mimeType, Map hints) { + public boolean canDecode(ResolvableType elementType, MimeType mimeType) { Class clazz = elementType.getRawClass(); - return (super.canDecode(elementType, mimeType, hints) && ByteBuffer.class.isAssignableFrom(clazz)); + return (super.canDecode(elementType, mimeType) && ByteBuffer.class.isAssignableFrom(clazz)); } @Override diff --git a/spring-core/src/main/java/org/springframework/core/codec/ByteBufferEncoder.java b/spring-core/src/main/java/org/springframework/core/codec/ByteBufferEncoder.java index 2e4a2bfcb8..afa38d0016 100644 --- a/spring-core/src/main/java/org/springframework/core/codec/ByteBufferEncoder.java +++ b/spring-core/src/main/java/org/springframework/core/codec/ByteBufferEncoder.java @@ -42,9 +42,9 @@ public class ByteBufferEncoder extends AbstractEncoder { @Override - public boolean canEncode(ResolvableType elementType, MimeType mimeType, Map hints) { + public boolean canEncode(ResolvableType elementType, MimeType mimeType) { Class clazz = elementType.getRawClass(); - return (super.canEncode(elementType, mimeType, hints) && ByteBuffer.class.isAssignableFrom(clazz)); + return (super.canEncode(elementType, mimeType) && ByteBuffer.class.isAssignableFrom(clazz)); } @Override diff --git a/spring-core/src/main/java/org/springframework/core/codec/CharSequenceEncoder.java b/spring-core/src/main/java/org/springframework/core/codec/CharSequenceEncoder.java index b155c139fc..c85d61beb7 100644 --- a/spring-core/src/main/java/org/springframework/core/codec/CharSequenceEncoder.java +++ b/spring-core/src/main/java/org/springframework/core/codec/CharSequenceEncoder.java @@ -49,9 +49,9 @@ public class CharSequenceEncoder extends AbstractEncoder { @Override - public boolean canEncode(ResolvableType elementType, MimeType mimeType, Map hints) { + public boolean canEncode(ResolvableType elementType, MimeType mimeType) { Class clazz = elementType.getRawClass(); - return (super.canEncode(elementType, mimeType, hints) && CharSequence.class.isAssignableFrom(clazz)); + return (super.canEncode(elementType, mimeType) && CharSequence.class.isAssignableFrom(clazz)); } @Override diff --git a/spring-core/src/main/java/org/springframework/core/codec/Decoder.java b/spring-core/src/main/java/org/springframework/core/codec/Decoder.java index 3559e0b397..2a6911422c 100644 --- a/spring-core/src/main/java/org/springframework/core/codec/Decoder.java +++ b/spring-core/src/main/java/org/springframework/core/codec/Decoder.java @@ -43,10 +43,9 @@ public interface Decoder { * type of the source stream. * @param elementType the target element type for the output stream * @param mimeType the mime type associated with the stream to decode - * @param hints additional information about how to do encode * @return {@code true} if supported, {@code false} otherwise */ - boolean canDecode(ResolvableType elementType, MimeType mimeType, Map hints); + boolean canDecode(ResolvableType elementType, MimeType mimeType); /** * Decode a {@link DataBuffer} input stream into a Flux of {@code T}. diff --git a/spring-core/src/main/java/org/springframework/core/codec/Encoder.java b/spring-core/src/main/java/org/springframework/core/codec/Encoder.java index 9e8e4765bc..a831f91451 100644 --- a/spring-core/src/main/java/org/springframework/core/codec/Encoder.java +++ b/spring-core/src/main/java/org/springframework/core/codec/Encoder.java @@ -44,10 +44,9 @@ public interface Encoder { * type for the output stream. * @param elementType the type of elements in the source stream * @param mimeType the MIME type for the output stream - * @param hints additional information about how to do encode * @return {@code true} if supported, {@code false} otherwise */ - boolean canEncode(ResolvableType elementType, MimeType mimeType, Map hints); + boolean canEncode(ResolvableType elementType, MimeType mimeType); /** * Encode a stream of Objects of type {@code T} into a {@link DataBuffer} diff --git a/spring-core/src/main/java/org/springframework/core/codec/ResourceDecoder.java b/spring-core/src/main/java/org/springframework/core/codec/ResourceDecoder.java index bdd05c59b0..0168f0de54 100644 --- a/spring-core/src/main/java/org/springframework/core/codec/ResourceDecoder.java +++ b/spring-core/src/main/java/org/springframework/core/codec/ResourceDecoder.java @@ -46,11 +46,11 @@ public class ResourceDecoder extends AbstractDecoder { @Override - public boolean canDecode(ResolvableType elementType, MimeType mimeType, Map hints) { + public boolean canDecode(ResolvableType elementType, MimeType mimeType) { Class clazz = elementType.getRawClass(); return (InputStreamResource.class.equals(clazz) || clazz.isAssignableFrom(ByteArrayResource.class)) && - super.canDecode(elementType, mimeType, hints); + super.canDecode(elementType, mimeType); } @Override diff --git a/spring-core/src/main/java/org/springframework/core/codec/ResourceEncoder.java b/spring-core/src/main/java/org/springframework/core/codec/ResourceEncoder.java index ece9ba8143..6b87f983c6 100644 --- a/spring-core/src/main/java/org/springframework/core/codec/ResourceEncoder.java +++ b/spring-core/src/main/java/org/springframework/core/codec/ResourceEncoder.java @@ -57,9 +57,9 @@ public class ResourceEncoder extends AbstractSingleValueEncoder { @Override - public boolean canEncode(ResolvableType elementType, MimeType mimeType, Map hints) { + public boolean canEncode(ResolvableType elementType, MimeType mimeType) { Class clazz = elementType.getRawClass(); - return (super.canEncode(elementType, mimeType, hints) && Resource.class.isAssignableFrom(clazz)); + return (super.canEncode(elementType, mimeType) && Resource.class.isAssignableFrom(clazz)); } @Override diff --git a/spring-core/src/main/java/org/springframework/core/codec/StringDecoder.java b/spring-core/src/main/java/org/springframework/core/codec/StringDecoder.java index 04d3da9dfc..bcfe7d7d5a 100644 --- a/spring-core/src/main/java/org/springframework/core/codec/StringDecoder.java +++ b/spring-core/src/main/java/org/springframework/core/codec/StringDecoder.java @@ -78,8 +78,8 @@ public class StringDecoder extends AbstractDecoder { @Override - public boolean canDecode(ResolvableType elementType, MimeType mimeType, Map hints) { - return (super.canDecode(elementType, mimeType, hints) && + public boolean canDecode(ResolvableType elementType, MimeType mimeType) { + return (super.canDecode(elementType, mimeType) && String.class.equals(elementType.getRawClass())); } diff --git a/spring-core/src/test/java/org/springframework/core/codec/ByteBufferDecoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ByteBufferDecoderTests.java index 483845908f..6511c21562 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ByteBufferDecoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ByteBufferDecoderTests.java @@ -42,11 +42,11 @@ public class ByteBufferDecoderTests extends AbstractDataBufferAllocatingTestCase @Test public void canDecode() { assertTrue(this.decoder.canDecode(ResolvableType.forClass(ByteBuffer.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertFalse(this.decoder.canDecode(ResolvableType.forClass(Integer.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertTrue(this.decoder.canDecode(ResolvableType.forClass(ByteBuffer.class), - MimeTypeUtils.APPLICATION_JSON, Collections.emptyMap())); + MimeTypeUtils.APPLICATION_JSON)); } @Test diff --git a/spring-core/src/test/java/org/springframework/core/codec/ByteBufferEncoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ByteBufferEncoderTests.java index 038f8e56ce..1839cd065d 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ByteBufferEncoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ByteBufferEncoderTests.java @@ -50,11 +50,11 @@ public class ByteBufferEncoderTests extends AbstractDataBufferAllocatingTestCase @Test public void canEncode() { assertTrue(this.encoder.canEncode(ResolvableType.forClass(ByteBuffer.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertFalse(this.encoder.canEncode(ResolvableType.forClass(Integer.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertTrue(this.encoder.canEncode(ResolvableType.forClass(ByteBuffer.class), - MimeTypeUtils.APPLICATION_JSON, Collections.emptyMap())); + MimeTypeUtils.APPLICATION_JSON)); } @Test diff --git a/spring-core/src/test/java/org/springframework/core/codec/CharSequenceEncoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/CharSequenceEncoderTests.java index 8b93890d0d..2575aa899d 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/CharSequenceEncoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/CharSequenceEncoderTests.java @@ -49,15 +49,15 @@ public class CharSequenceEncoderTests extends AbstractDataBufferAllocatingTestCa @Test public void canWrite() { assertTrue(this.encoder.canEncode(ResolvableType.forClass(String.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertTrue(this.encoder.canEncode(ResolvableType.forClass(StringBuilder.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertTrue(this.encoder.canEncode(ResolvableType.forClass(StringBuffer.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertFalse(this.encoder.canEncode(ResolvableType.forClass(Integer.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertFalse(this.encoder.canEncode(ResolvableType.forClass(String.class), - MimeTypeUtils.APPLICATION_JSON, Collections.emptyMap())); + MimeTypeUtils.APPLICATION_JSON)); } @Test diff --git a/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java index 60ff3c3129..722215560a 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java @@ -46,13 +46,13 @@ public class ResourceDecoderTests extends AbstractDataBufferAllocatingTestCase { @Test public void canDecode() throws Exception { assertTrue(this.decoder.canDecode(ResolvableType.forClass(InputStreamResource.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertTrue(this.decoder.canDecode(ResolvableType.forClass(ByteArrayResource.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertTrue(this.decoder.canDecode(ResolvableType.forClass(Resource.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertTrue(this.decoder.canDecode(ResolvableType.forClass(InputStreamResource.class), - MimeTypeUtils.APPLICATION_JSON, Collections.emptyMap())); + MimeTypeUtils.APPLICATION_JSON)); } @Test diff --git a/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java index e62d0b831f..d26bb9bcc6 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java @@ -44,13 +44,13 @@ public class ResourceEncoderTests extends AbstractDataBufferAllocatingTestCase { @Test public void canEncode() throws Exception { assertTrue(this.encoder.canEncode(ResolvableType.forClass(InputStreamResource.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertTrue(this.encoder.canEncode(ResolvableType.forClass(ByteArrayResource.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertTrue(this.encoder.canEncode(ResolvableType.forClass(Resource.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertTrue(this.encoder.canEncode(ResolvableType.forClass(InputStreamResource.class), - MimeTypeUtils.APPLICATION_JSON, Collections.emptyMap())); + MimeTypeUtils.APPLICATION_JSON)); } @Test diff --git a/spring-core/src/test/java/org/springframework/core/codec/StringDecoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/StringDecoderTests.java index 23c3a9a5a7..ff95273d32 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/StringDecoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/StringDecoderTests.java @@ -44,15 +44,15 @@ public class StringDecoderTests extends AbstractDataBufferAllocatingTestCase { @Test public void canDecode() { assertTrue(this.decoder.canDecode(ResolvableType.forClass(String.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertTrue(this.decoder.canDecode(ResolvableType.forClass(String.class), - MimeTypeUtils.TEXT_HTML, Collections.emptyMap())); + MimeTypeUtils.TEXT_HTML)); assertTrue(this.decoder.canDecode(ResolvableType.forClass(String.class), - MimeTypeUtils.APPLICATION_JSON, Collections.emptyMap())); + MimeTypeUtils.APPLICATION_JSON)); assertFalse(this.decoder.canDecode(ResolvableType.forClass(Integer.class), - MimeTypeUtils.TEXT_PLAIN, Collections.emptyMap())); + MimeTypeUtils.TEXT_PLAIN)); assertFalse(this.decoder.canDecode(ResolvableType.forClass(Object.class), - MimeTypeUtils.APPLICATION_JSON, Collections.emptyMap())); + MimeTypeUtils.APPLICATION_JSON)); } @Test diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyExtractors.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyExtractors.java index 11e5e0a10e..56fe29c191 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyExtractors.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyExtractors.java @@ -102,7 +102,7 @@ public abstract class BodyExtractors { MediaType contentType = contentType(request); Supplier>> messageReaders = strategies.messageReaders(); return messageReaders.get() - .filter(r -> r.canRead(elementType, contentType, Collections.emptyMap())) + .filter(r -> r.canRead(elementType, contentType)) .findFirst() .map(BodyExtractors::cast) .map(readerFunction) diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyInserters.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyInserters.java index bdc3d3c9d3..c698c07a67 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyInserters.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyInserters.java @@ -208,8 +208,7 @@ public abstract class BodyInserters { // TODO: use ContentNegotiatingResultHandlerSupport MediaType contentType = response.getHeaders().getContentType(); return strategies.messageWriters().get() - .filter(messageWriter -> messageWriter.canWrite(bodyType, contentType, Collections - .emptyMap())) + .filter(messageWriter -> messageWriter.canWrite(bodyType, contentType)) .findFirst() .map(BodyInserters::cast) .map(messageWriter -> messageWriter diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/HttpMessageWriterView.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/HttpMessageWriterView.java index 7604f90e03..60514a94ef 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/HttpMessageWriterView.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/HttpMessageWriterView.java @@ -124,7 +124,7 @@ public class HttpMessageWriterView implements View { else if (map.size() == 1) { return map.values().iterator().next(); } - else if (getMessageWriter().canWrite(ResolvableType.forClass(Map.class), null, Collections.emptyMap())) { + else if (getMessageWriter().canWrite(ResolvableType.forClass(Map.class), null)) { return map; } else { @@ -143,10 +143,10 @@ public class HttpMessageWriterView implements View { protected boolean isEligibleAttribute(String attributeName, Object attributeValue) { ResolvableType type = ResolvableType.forClass(attributeValue.getClass()); if (getModelKeys().isEmpty()) { - return getMessageWriter().canWrite(type, null, Collections.emptyMap()); + return getMessageWriter().canWrite(type, null); } if (getModelKeys().contains(attributeName)) { - if (getMessageWriter().canWrite(type, null, Collections.emptyMap())) { + if (getMessageWriter().canWrite(type, null)) { return true; } throw new IllegalStateException( diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/config/WebReactiveConfigurationTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/config/WebReactiveConfigurationTests.java index 4ab112f83d..0714739e83 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/config/WebReactiveConfigurationTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/config/WebReactiveConfigurationTests.java @@ -271,7 +271,7 @@ public class WebReactiveConfigurationTests { private void assertHasMessageReader(List> readers, Class clazz, MediaType mediaType) { ResolvableType type = ResolvableType.forClass(clazz); assertTrue(readers.stream() - .filter(c -> mediaType == null || c.canRead(type, mediaType, Collections.emptyMap())) + .filter(c -> mediaType == null || c.canRead(type, mediaType)) .findAny() .isPresent()); } @@ -279,7 +279,7 @@ public class WebReactiveConfigurationTests { private void assertHasMessageWriter(List> writers, Class clazz, MediaType mediaType) { ResolvableType type = ResolvableType.forClass(clazz); assertTrue(writers.stream() - .filter(c -> mediaType == null || c.canWrite(type, mediaType, Collections.emptyMap())) + .filter(c -> mediaType == null || c.canWrite(type, mediaType)) .findAny() .isPresent()); } diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/StrategiesSupplierTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/StrategiesSupplierTests.java index cf5e7d7de8..d8ab577506 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/StrategiesSupplierTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/StrategiesSupplierTests.java @@ -92,7 +92,7 @@ public class StrategiesSupplierTests { private static class DummyMessageWriter implements HttpMessageWriter { @Override - public boolean canWrite(ResolvableType type, MediaType mediaType, Map hints) { + public boolean canWrite(ResolvableType type, MediaType mediaType) { return false; } @@ -113,7 +113,7 @@ public class StrategiesSupplierTests { private static class DummyMessageReader implements HttpMessageReader { @Override - public boolean canRead(ResolvableType type, MediaType mediaType, Map hints) { + public boolean canRead(ResolvableType type, MediaType mediaType) { return false; } diff --git a/spring-web/src/main/java/org/springframework/http/codec/DecoderHttpMessageReader.java b/spring-web/src/main/java/org/springframework/http/codec/DecoderHttpMessageReader.java index 0db32a137a..3528522cba 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/DecoderHttpMessageReader.java +++ b/spring-web/src/main/java/org/springframework/http/codec/DecoderHttpMessageReader.java @@ -56,8 +56,8 @@ public class DecoderHttpMessageReader implements HttpMessageReader { @Override - public boolean canRead(ResolvableType elementType, MediaType mediaType, Map hints) { - return this.decoder != null && this.decoder.canDecode(elementType, mediaType, hints); + public boolean canRead(ResolvableType elementType, MediaType mediaType) { + return this.decoder != null && this.decoder.canDecode(elementType, mediaType); } @Override diff --git a/spring-web/src/main/java/org/springframework/http/codec/EncoderHttpMessageWriter.java b/spring-web/src/main/java/org/springframework/http/codec/EncoderHttpMessageWriter.java index 55c8099cb7..8c6f20c9cd 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/EncoderHttpMessageWriter.java +++ b/spring-web/src/main/java/org/springframework/http/codec/EncoderHttpMessageWriter.java @@ -60,8 +60,8 @@ public class EncoderHttpMessageWriter implements HttpMessageWriter { @Override - public boolean canWrite(ResolvableType elementType, MediaType mediaType, Map hints) { - return this.encoder != null && this.encoder.canEncode(elementType, mediaType, hints); + public boolean canWrite(ResolvableType elementType, MediaType mediaType) { + return this.encoder != null && this.encoder.canEncode(elementType, mediaType); } @Override diff --git a/spring-web/src/main/java/org/springframework/http/codec/HttpMessageReader.java b/spring-web/src/main/java/org/springframework/http/codec/HttpMessageReader.java index 73a44e6adb..a72d7ff03e 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/HttpMessageReader.java +++ b/spring-web/src/main/java/org/springframework/http/codec/HttpMessageReader.java @@ -42,10 +42,9 @@ public interface HttpMessageReader { * @param elementType the stream element type to test for readability * @param mediaType the media type to read, can be {@code null} if not specified. * Typically the value of a {@code Content-Type} header. - * @param hints additional information about how to do read * @return {@code true} if readable; {@code false} otherwise */ - boolean canRead(ResolvableType elementType, MediaType mediaType, Map hints); + boolean canRead(ResolvableType elementType, MediaType mediaType); /** * Read a {@link Flux} of the given type form the given input message, and returns it. @@ -53,7 +52,7 @@ public interface HttpMessageReader { * passed to the {@link #canRead canRead} method of this interface, which must have * returned {@code true}. * @param inputMessage the HTTP input message to read from - * @param hints additional information about how to do read + * @param hints additional information about how to read the body * @return the converted {@link Flux} of elements */ Flux read(ResolvableType elementType, ReactiveHttpInputMessage inputMessage, Map hints); @@ -64,7 +63,7 @@ public interface HttpMessageReader { * passed to the {@link #canRead canRead} method of this interface, which must have * returned {@code true}. * @param inputMessage the HTTP input message to read from - * @param hints additional information about how to do read + * @param hints additional information about how to read the body * @return the converted {@link Mono} of object */ Mono readMono(ResolvableType elementType, ReactiveHttpInputMessage inputMessage, Map hints); diff --git a/spring-web/src/main/java/org/springframework/http/codec/HttpMessageWriter.java b/spring-web/src/main/java/org/springframework/http/codec/HttpMessageWriter.java index a5217b7080..8a2f769aff 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/HttpMessageWriter.java +++ b/spring-web/src/main/java/org/springframework/http/codec/HttpMessageWriter.java @@ -42,10 +42,9 @@ public interface HttpMessageWriter { * @param elementType the stream element type to test for writability * @param mediaType the media type to write, can be {@code null} if not specified. * Typically the value of an {@code Accept} header. - * @param hints additional information about how to write * @return {@code true} if writable; {@code false} otherwise */ - boolean canWrite(ResolvableType elementType, MediaType mediaType, Map hints); + boolean canWrite(ResolvableType elementType, MediaType mediaType); /** * Write an given object to the given output message. diff --git a/spring-web/src/main/java/org/springframework/http/codec/ServerSentEventHttpMessageWriter.java b/spring-web/src/main/java/org/springframework/http/codec/ServerSentEventHttpMessageWriter.java index fe9e66ead8..cf944ea653 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/ServerSentEventHttpMessageWriter.java +++ b/spring-web/src/main/java/org/springframework/http/codec/ServerSentEventHttpMessageWriter.java @@ -62,7 +62,7 @@ public class ServerSentEventHttpMessageWriter implements HttpMessageWriter hints) { + public boolean canWrite(ResolvableType elementType, MediaType mediaType) { return mediaType == null || TEXT_EVENT_STREAM.isCompatibleWith(mediaType); } @@ -134,7 +134,7 @@ public class ServerSentEventHttpMessageWriter implements HttpMessageWriter> encoder = dataEncoders .stream() - .filter(e -> e.canEncode(elementType, MimeTypeUtils.APPLICATION_JSON, Collections.emptyMap())) + .filter(e -> e.canEncode(elementType, MimeTypeUtils.APPLICATION_JSON)) .findFirst(); return ((Encoder) encoder.orElseThrow(() -> new CodecException("No suitable encoder found!"))) .encode(Mono.just((T) data), bufferFactory, elementType, MimeTypeUtils.APPLICATION_JSON, hints) diff --git a/spring-web/src/main/java/org/springframework/http/codec/json/Jackson2JsonDecoder.java b/spring-web/src/main/java/org/springframework/http/codec/json/Jackson2JsonDecoder.java index 9995df1c33..2cab2c31fa 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/json/Jackson2JsonDecoder.java +++ b/spring-web/src/main/java/org/springframework/http/codec/json/Jackson2JsonDecoder.java @@ -62,7 +62,7 @@ public class Jackson2JsonDecoder extends AbstractJackson2Codec implements Decode @Override - public boolean canDecode(ResolvableType elementType, MimeType mimeType, Map hints) { + public boolean canDecode(ResolvableType elementType, MimeType mimeType) { if (mimeType == null) { return true; } diff --git a/spring-web/src/main/java/org/springframework/http/codec/json/Jackson2JsonEncoder.java b/spring-web/src/main/java/org/springframework/http/codec/json/Jackson2JsonEncoder.java index cf1a77f231..ec6e418a0d 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/json/Jackson2JsonEncoder.java +++ b/spring-web/src/main/java/org/springframework/http/codec/json/Jackson2JsonEncoder.java @@ -67,7 +67,7 @@ public class Jackson2JsonEncoder extends AbstractJackson2Codec implements Encode @Override - public boolean canEncode(ResolvableType elementType, MimeType mimeType, Map hints) { + public boolean canEncode(ResolvableType elementType, MimeType mimeType) { if (mimeType == null) { return true; } diff --git a/spring-web/src/main/java/org/springframework/http/codec/xml/Jaxb2XmlDecoder.java b/spring-web/src/main/java/org/springframework/http/codec/xml/Jaxb2XmlDecoder.java index df723d2c44..d938758494 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/xml/Jaxb2XmlDecoder.java +++ b/spring-web/src/main/java/org/springframework/http/codec/xml/Jaxb2XmlDecoder.java @@ -76,8 +76,8 @@ public class Jaxb2XmlDecoder extends AbstractDecoder { @Override - public boolean canDecode(ResolvableType elementType, MimeType mimeType, Map hints) { - if (super.canDecode(elementType, mimeType, hints)) { + public boolean canDecode(ResolvableType elementType, MimeType mimeType) { + if (super.canDecode(elementType, mimeType)) { Class outputClass = elementType.getRawClass(); return outputClass.isAnnotationPresent(XmlRootElement.class) || outputClass.isAnnotationPresent(XmlType.class); diff --git a/spring-web/src/main/java/org/springframework/http/codec/xml/Jaxb2XmlEncoder.java b/spring-web/src/main/java/org/springframework/http/codec/xml/Jaxb2XmlEncoder.java index 44f54f3a2d..7866ca5c57 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/xml/Jaxb2XmlEncoder.java +++ b/spring-web/src/main/java/org/springframework/http/codec/xml/Jaxb2XmlEncoder.java @@ -53,8 +53,8 @@ public class Jaxb2XmlEncoder extends AbstractSingleValueEncoder { @Override - public boolean canEncode(ResolvableType elementType, MimeType mimeType, Map hints) { - if (super.canEncode(elementType, mimeType, hints)) { + public boolean canEncode(ResolvableType elementType, MimeType mimeType) { + if (super.canEncode(elementType, mimeType)) { Class outputClass = elementType.getRawClass(); return (outputClass.isAnnotationPresent(XmlRootElement.class) || outputClass.isAnnotationPresent(XmlType.class)); diff --git a/spring-web/src/main/java/org/springframework/web/client/reactive/ResponseExtractors.java b/spring-web/src/main/java/org/springframework/web/client/reactive/ResponseExtractors.java index 8260a7ee6f..4c7d29f621 100644 --- a/spring-web/src/main/java/org/springframework/web/client/reactive/ResponseExtractors.java +++ b/spring-web/src/main/java/org/springframework/web/client/reactive/ResponseExtractors.java @@ -196,7 +196,7 @@ public abstract class ResponseExtractors { ResolvableType responseType, MediaType contentType) { return messageReaders.stream() - .filter(e -> e.canRead(responseType, contentType, Collections.emptyMap())) + .filter(e -> e.canRead(responseType, contentType)) .findFirst() .orElseThrow(() -> new WebClientException( diff --git a/spring-web/src/main/java/org/springframework/web/client/reactive/WebClient.java b/spring-web/src/main/java/org/springframework/web/client/reactive/WebClient.java index 887c6c5cd3..50329ef7d6 100644 --- a/spring-web/src/main/java/org/springframework/web/client/reactive/WebClient.java +++ b/spring-web/src/main/java/org/springframework/web/client/reactive/WebClient.java @@ -297,7 +297,7 @@ public final class WebClient { protected Optional> resolveWriter(List> messageWriters, ResolvableType type, MediaType mediaType) { - return messageWriters.stream().filter(e -> e.canWrite(type, mediaType, Collections.emptyMap())).findFirst(); + return messageWriters.stream().filter(e -> e.canWrite(type, mediaType)).findFirst(); } } diff --git a/spring-web/src/main/java/org/springframework/web/client/reactive/support/RxJava1ResponseExtractors.java b/spring-web/src/main/java/org/springframework/web/client/reactive/support/RxJava1ResponseExtractors.java index b6894aa071..b1f5760303 100644 --- a/spring-web/src/main/java/org/springframework/web/client/reactive/support/RxJava1ResponseExtractors.java +++ b/spring-web/src/main/java/org/springframework/web/client/reactive/support/RxJava1ResponseExtractors.java @@ -210,7 +210,7 @@ public class RxJava1ResponseExtractors { ResolvableType responseType, MediaType contentType) { return messageReaders.stream() - .filter(e -> e.canRead(responseType, contentType, Collections.emptyMap())) + .filter(e -> e.canRead(responseType, contentType)) .findFirst() .orElseThrow(() -> new WebClientException( diff --git a/spring-web/src/test/java/org/springframework/http/codec/ServerSentEventHttpMessageWriterTests.java b/spring-web/src/test/java/org/springframework/http/codec/ServerSentEventHttpMessageWriterTests.java index b8ab039ad8..a6cf9927b9 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/ServerSentEventHttpMessageWriterTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/ServerSentEventHttpMessageWriterTests.java @@ -46,20 +46,19 @@ public class ServerSentEventHttpMessageWriterTests extends AbstractDataBufferAll @Test public void nullMimeType() { - assertTrue(messageWriter.canWrite(ResolvableType.forClass(Object.class), null, - Collections.emptyMap())); + assertTrue(messageWriter.canWrite(ResolvableType.forClass(Object.class), null)); } @Test public void unsupportedMimeType() { assertFalse(messageWriter.canWrite(ResolvableType.forClass(Object.class), - new MediaType("foo", "bar"), Collections.emptyMap())); + new MediaType("foo", "bar"))); } @Test public void supportedMimeType() { assertTrue(messageWriter.canWrite(ResolvableType.forClass(Object.class), - new MediaType("text", "event-stream"), Collections.emptyMap())); + new MediaType("text", "event-stream"))); } @Test diff --git a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java index 3ca969346c..8cbf005770 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java @@ -47,8 +47,8 @@ public class Jackson2JsonDecoderTests extends AbstractDataBufferAllocatingTestCa public void canDecode() { Jackson2JsonDecoder decoder = new Jackson2JsonDecoder(); - assertTrue(decoder.canDecode(null, MediaType.APPLICATION_JSON, Collections.emptyMap())); - assertFalse(decoder.canDecode(null, MediaType.APPLICATION_XML, Collections.emptyMap())); + assertTrue(decoder.canDecode(null, MediaType.APPLICATION_JSON)); + assertFalse(decoder.canDecode(null, MediaType.APPLICATION_XML)); } @Test diff --git a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonEncoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonEncoderTests.java index 8bad44a006..eac0cf05f4 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonEncoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonEncoderTests.java @@ -45,8 +45,8 @@ public class Jackson2JsonEncoderTests extends AbstractDataBufferAllocatingTestCa @Test public void canEncode() { - assertTrue(this.encoder.canEncode(null, MediaType.APPLICATION_JSON, Collections.emptyMap())); - assertFalse(this.encoder.canEncode(null, MediaType.APPLICATION_XML, Collections.emptyMap())); + assertTrue(this.encoder.canEncode(null, MediaType.APPLICATION_JSON)); + assertFalse(this.encoder.canEncode(null, MediaType.APPLICATION_XML)); } @Test diff --git a/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlDecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlDecoderTests.java index a3367b7ec5..c1642279e3 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlDecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlDecoderTests.java @@ -72,17 +72,15 @@ public class Jaxb2XmlDecoderTests extends AbstractDataBufferAllocatingTestCase { @Test public void canDecode() { assertTrue(this.decoder.canDecode(ResolvableType.forClass(Pojo.class), - MediaType.APPLICATION_XML, Collections.emptyMap())); + MediaType.APPLICATION_XML)); assertTrue(this.decoder.canDecode(ResolvableType.forClass(Pojo.class), - MediaType.TEXT_XML, Collections.emptyMap())); + MediaType.TEXT_XML)); assertFalse(this.decoder.canDecode(ResolvableType.forClass(Pojo.class), - MediaType.APPLICATION_JSON, Collections.emptyMap())); - + MediaType.APPLICATION_JSON)); assertTrue(this.decoder.canDecode(ResolvableType.forClass(TypePojo.class), - MediaType.APPLICATION_XML, Collections.emptyMap())); - + MediaType.APPLICATION_XML)); assertFalse(this.decoder.canDecode(ResolvableType.forClass(getClass()), - MediaType.APPLICATION_XML, Collections.emptyMap())); + MediaType.APPLICATION_XML)); } @Test diff --git a/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlEncoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlEncoderTests.java index 47f35ca5c2..502bcfcf4f 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlEncoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlEncoderTests.java @@ -46,18 +46,18 @@ public class Jaxb2XmlEncoderTests extends AbstractDataBufferAllocatingTestCase { @Test public void canEncode() { assertTrue(this.encoder.canEncode(ResolvableType.forClass(Pojo.class), - MediaType.APPLICATION_XML, Collections.emptyMap())); + MediaType.APPLICATION_XML)); assertTrue(this.encoder.canEncode(ResolvableType.forClass(Pojo.class), - MediaType.TEXT_XML, Collections.emptyMap())); + MediaType.TEXT_XML)); assertFalse(this.encoder.canEncode(ResolvableType.forClass(Pojo.class), - MediaType.APPLICATION_JSON, Collections.emptyMap())); + MediaType.APPLICATION_JSON)); assertTrue(this.encoder.canEncode( ResolvableType.forClass(Jaxb2XmlDecoderTests.TypePojo.class), - MediaType.APPLICATION_XML, Collections.emptyMap())); + MediaType.APPLICATION_XML)); assertFalse(this.encoder.canEncode(ResolvableType.forClass(getClass()), - MediaType.APPLICATION_XML, Collections.emptyMap())); + MediaType.APPLICATION_XML)); } @Test