Polishing

- Renamed `defaultCodec` to `defaultCodecs`, and `customCodec` to
`customCodecs`
- Added `@Override` annotations where necessary
- Fixed non-parameterized usage for parameterized types.
This commit is contained in:
Arjen Poutsma
2017-04-07 16:03:56 +02:00
parent 3a1d431c7d
commit 82e864b217
8 changed files with 77 additions and 88 deletions

View File

@@ -74,7 +74,7 @@ public abstract class AbstractCodecConfigurer {
/**
* Provide overrides for built-in HTTP message readers or writers.
*/
public DefaultCodecConfigurer defaultCodec() {
public DefaultCodecConfigurer defaultCodecs() {
return this.defaultCodecs;
}
@@ -83,13 +83,13 @@ public abstract class AbstractCodecConfigurer {
* <p>By default this is set to {@code "true"}.
*/
public void registerDefaults(boolean registerDefaults) {
this.defaultCodec().setSuppressed(!registerDefaults);
this.defaultCodecs().setSuppressed(!registerDefaults);
}
/**
* Register a custom encoder or decoder.
*/
public CustomCodecConfigurer customCodec() {
public CustomCodecConfigurer customCodecs() {
return this.customCodecs;
}
@@ -102,13 +102,13 @@ public abstract class AbstractCodecConfigurer {
List<HttpMessageReader<?>> result = new ArrayList<>();
addDefaultTypedReaders(result);
customCodec().addTypedReadersTo(result);
customCodecs().addTypedReadersTo(result);
addDefaultObjectReaders(result);
customCodec().addObjectReadersTo(result);
customCodecs().addObjectReadersTo(result);
// String + "*/*"
defaultCodec().addStringReaderTo(result);
defaultCodecs().addStringReaderTo(result);
return result;
}
@@ -116,11 +116,11 @@ public abstract class AbstractCodecConfigurer {
* Add built-in, concrete, Java type readers.
*/
protected void addDefaultTypedReaders(List<HttpMessageReader<?>> result) {
defaultCodec().addReaderTo(result, ByteArrayDecoder.class, ByteArrayDecoder::new);
defaultCodec().addReaderTo(result, ByteBufferDecoder.class, ByteBufferDecoder::new);
defaultCodec().addReaderTo(result, DataBufferDecoder.class, DataBufferDecoder::new);
defaultCodec().addReaderTo(result, ResourceDecoder.class, ResourceDecoder::new);
defaultCodec().addStringReaderTextOnlyTo(result);
defaultCodecs().addReaderTo(result, ByteArrayDecoder.class, ByteArrayDecoder::new);
defaultCodecs().addReaderTo(result, ByteBufferDecoder.class, ByteBufferDecoder::new);
defaultCodecs().addReaderTo(result, DataBufferDecoder.class, DataBufferDecoder::new);
defaultCodecs().addReaderTo(result, ResourceDecoder.class, ResourceDecoder::new);
defaultCodecs().addStringReaderTextOnlyTo(result);
}
/**
@@ -128,10 +128,10 @@ public abstract class AbstractCodecConfigurer {
*/
protected void addDefaultObjectReaders(List<HttpMessageReader<?>> result) {
if (jaxb2Present) {
defaultCodec().addReaderTo(result, Jaxb2XmlDecoder.class, Jaxb2XmlDecoder::new);
defaultCodecs().addReaderTo(result, Jaxb2XmlDecoder.class, Jaxb2XmlDecoder::new);
}
if (jackson2Present) {
defaultCodec().addReaderTo(result, Jackson2JsonDecoder.class, Jackson2JsonDecoder::new);
defaultCodecs().addReaderTo(result, Jackson2JsonDecoder.class, Jackson2JsonDecoder::new);
}
}
@@ -143,13 +143,13 @@ public abstract class AbstractCodecConfigurer {
List<HttpMessageWriter<?>> result = new ArrayList<>();
addDefaultTypedWriter(result);
customCodec().addTypedWritersTo(result);
customCodecs().addTypedWritersTo(result);
addDefaultObjectWriters(result);
customCodec().addObjectWritersTo(result);
customCodecs().addObjectWritersTo(result);
// String + "*/*"
defaultCodec().addStringWriterTo(result);
defaultCodecs().addStringWriterTo(result);
return result;
}
@@ -157,11 +157,11 @@ public abstract class AbstractCodecConfigurer {
* Add built-in, concrete, Java type readers.
*/
protected void addDefaultTypedWriter(List<HttpMessageWriter<?>> result) {
defaultCodec().addWriterTo(result, ByteArrayEncoder.class, ByteArrayEncoder::new);
defaultCodec().addWriterTo(result, ByteBufferEncoder.class, ByteBufferEncoder::new);
defaultCodec().addWriterTo(result, DataBufferEncoder.class, DataBufferEncoder::new);
defaultCodec().addWriterTo(result, ResourceHttpMessageWriter::new);
defaultCodec().addStringWriterTextPlainOnlyTo(result);
defaultCodecs().addWriterTo(result, ByteArrayEncoder.class, ByteArrayEncoder::new);
defaultCodecs().addWriterTo(result, ByteBufferEncoder.class, ByteBufferEncoder::new);
defaultCodecs().addWriterTo(result, DataBufferEncoder.class, DataBufferEncoder::new);
defaultCodecs().addWriterTo(result, ResourceHttpMessageWriter::new);
defaultCodecs().addStringWriterTextPlainOnlyTo(result);
}
/**
@@ -169,10 +169,10 @@ public abstract class AbstractCodecConfigurer {
*/
protected void addDefaultObjectWriters(List<HttpMessageWriter<?>> result) {
if (jaxb2Present) {
defaultCodec().addWriterTo(result, Jaxb2XmlEncoder.class, Jaxb2XmlEncoder::new);
defaultCodecs().addWriterTo(result, Jaxb2XmlEncoder.class, Jaxb2XmlEncoder::new);
}
if (jackson2Present) {
defaultCodec().addWriterTo(result, Jackson2JsonEncoder.class, Jackson2JsonEncoder::new);
defaultCodecs().addWriterTo(result, Jackson2JsonEncoder.class, Jackson2JsonEncoder::new);
}
}

View File

@@ -24,12 +24,12 @@ import org.springframework.http.codec.json.Jackson2JsonDecoder;
/**
* Helps to configure a list of client-side HTTP message readers and writers
* with support for built-in defaults and options to register additional custom
* readers and writers via {@link #customCodec()}.
* readers and writers via {@link #customCodecs()}.
*
* <p>The built-in defaults include basic data types such as various byte
* representations, resources, strings, forms, but also others like JAXB2 and
* Jackson 2 based on classpath detection. There are options to
* {@link #defaultCodec() override} some of the defaults or to have them
* {@link #defaultCodecs() override} some of the defaults or to have them
* {@link #registerDefaults(boolean) turned off} completely.
*
* @author Rossen Stoyanchev
@@ -44,21 +44,21 @@ public class ClientCodecConfigurer extends AbstractCodecConfigurer {
@Override
public ClientDefaultCodecConfigurer defaultCodec() {
return (ClientDefaultCodecConfigurer) super.defaultCodec();
public ClientDefaultCodecConfigurer defaultCodecs() {
return (ClientDefaultCodecConfigurer) super.defaultCodecs();
}
@Override
protected void addDefaultTypedWriter(List<HttpMessageWriter<?>> result) {
super.addDefaultTypedWriter(result);
defaultCodec().addWriterTo(result, FormHttpMessageWriter::new);
defaultCodecs().addWriterTo(result, FormHttpMessageWriter::new);
}
@Override
protected void addDefaultObjectReaders(List<HttpMessageReader<?>> result) {
super.addDefaultObjectReaders(result);
defaultCodec().addServerSentEventReaderTo(result);
defaultCodecs().addServerSentEventReaderTo(result);
}
@@ -80,10 +80,12 @@ public class ClientCodecConfigurer extends AbstractCodecConfigurer {
// Internal methods for building a list of default readers or writers...
@Override
protected void addStringReaderTextOnlyTo(List<HttpMessageReader<?>> result) {
addReaderTo(result, () -> new DecoderHttpMessageReader<>(StringDecoder.textPlainOnly(false)));
}
@Override
protected void addStringReaderTo(List<HttpMessageReader<?>> result) {
addReaderTo(result, () -> new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes(false)));
}

View File

@@ -24,12 +24,12 @@ import org.springframework.http.codec.json.Jackson2JsonEncoder;
/**
* Helps to configure a list of server-side HTTP message readers and writers
* with support for built-in defaults and options to register additional custom
* readers and writers via {@link #customCodec()}.
* readers and writers via {@link #customCodecs()}.
*
* <p>The built-in defaults include basic data types such as various byte
* representations, resources, strings, forms, but also others like JAXB2 and
* Jackson 2 based on classpath detection. There are options to
* {@link #defaultCodec() override} some of the defaults or to have them
* {@link #defaultCodecs() override} some of the defaults or to have them
* {@link #registerDefaults(boolean) turned off} completely.
*
* @author Rossen Stoyanchev
@@ -44,22 +44,22 @@ public class ServerCodecConfigurer extends AbstractCodecConfigurer {
@Override
public ServerDefaultCodecConfigurer defaultCodec() {
return (ServerDefaultCodecConfigurer) super.defaultCodec();
public ServerDefaultCodecConfigurer defaultCodecs() {
return (ServerDefaultCodecConfigurer) super.defaultCodecs();
}
@Override
protected void addDefaultTypedReaders(List<HttpMessageReader<?>> result) {
super.addDefaultTypedReaders(result);
defaultCodec().addReaderTo(result, FormHttpMessageReader::new);
defaultCodecs().addReaderTo(result, FormHttpMessageReader::new);
}
@Override
protected void addDefaultObjectWriters(List<HttpMessageWriter<?>> result) {
super.addDefaultObjectWriters(result);
defaultCodec().addServerSentEventWriterTo(result);
defaultCodecs().addServerSentEventWriterTo(result);
}