Simplify CodecConfigurer related type names

Essentially drop "Configurer" suffix from nested interfaces.
This commit is contained in:
Rossen Stoyanchev
2017-05-27 13:03:59 -04:00
parent 7efa0db1d1
commit 1328c8f46e
11 changed files with 88 additions and 75 deletions

View File

@@ -45,36 +45,34 @@ import org.springframework.util.ClassUtils;
* @author Rossen Stoyanchev
* @since 5.0
*/
class DefaultCodecConfigurer implements CodecConfigurer {
abstract class AbstractCodecConfigurer implements CodecConfigurer {
static final boolean jackson2Present =
protected static final boolean jackson2Present =
ClassUtils.isPresent("com.fasterxml.jackson.databind.ObjectMapper",
org.springframework.http.codec.DefaultCodecConfigurer.class.getClassLoader()) &&
AbstractCodecConfigurer.class.getClassLoader()) &&
ClassUtils.isPresent("com.fasterxml.jackson.core.JsonGenerator",
org.springframework.http.codec.DefaultCodecConfigurer.class
.getClassLoader());
AbstractCodecConfigurer.class.getClassLoader());
static final boolean jaxb2Present =
ClassUtils.isPresent("javax.xml.bind.Binder",
org.springframework.http.codec.DefaultCodecConfigurer.class.getClassLoader());
protected static final boolean jaxb2Present = ClassUtils.isPresent("javax.xml.bind.Binder",
AbstractCodecConfigurer.class.getClassLoader());
private final AbstractDefaultCodecsConfigurer defaultCodecs;
private final AbstractDefaultCodecs defaultCodecs;
private final CustomCodecConfigurer customCodecs = new CustomCodecConfigurer();
private final DefaultCustomCodecs customCodecs = new DefaultCustomCodecs();
/**
* Protected constructor with the configurer for default readers and writers.
*/
DefaultCodecConfigurer(AbstractDefaultCodecsConfigurer defaultCodecConfigurer) {
Assert.notNull(defaultCodecConfigurer, "DefaultCodecConfigurer is required.");
this.defaultCodecs = defaultCodecConfigurer;
protected AbstractCodecConfigurer(AbstractDefaultCodecs defaultCodecs) {
Assert.notNull(defaultCodecs, "'defaultCodecs' is required.");
this.defaultCodecs = defaultCodecs;
}
@Override
public DefaultCodecsConfigurer defaultCodecs() {
public DefaultCodecs defaultCodecs() {
return this.defaultCodecs;
}
@@ -84,7 +82,7 @@ class DefaultCodecConfigurer implements CodecConfigurer {
}
@Override
public CustomCodecsConfigurer customCodecs() {
public CustomCodecs customCodecs() {
return this.customCodecs;
}
@@ -125,10 +123,9 @@ class DefaultCodecConfigurer implements CodecConfigurer {
/**
* Default implementation for {@link CodecConfigurer.DefaultCodecsConfigurer}.
* Default implementation for {@link DefaultCodecs}.
*/
abstract static class AbstractDefaultCodecsConfigurer
implements CodecConfigurer.DefaultCodecsConfigurer {
abstract static class AbstractDefaultCodecs implements DefaultCodecs {
private boolean suppressed = false;
@@ -270,9 +267,9 @@ class DefaultCodecConfigurer implements CodecConfigurer {
/**
* Default implementation of CustomCodecsConfigurer.
* Default implementation of CustomCodecs.
*/
private static class CustomCodecConfigurer implements CodecConfigurer.CustomCodecsConfigurer {
private static class DefaultCustomCodecs implements CustomCodecs {
private final List<HttpMessageReader<?>> typedReaders = new ArrayList<>();

View File

@@ -37,10 +37,10 @@ public interface ClientCodecConfigurer extends CodecConfigurer {
/**
* {@inheritDoc}
* <p>Overriden to return {@link ClientDefaultCodecsConfigurer}.
* <p>Overriden to return {@link ClientDefaultCodecs}.
*/
@Override
ClientDefaultCodecsConfigurer defaultCodecs();
ClientDefaultCodecs defaultCodecs();
/**
@@ -52,16 +52,16 @@ public interface ClientCodecConfigurer extends CodecConfigurer {
}
/**
* Extension of {@link DefaultCodecConfigurer} with extra client options.
* Extension of {@link AbstractCodecConfigurer} with extra client options.
*/
interface ClientDefaultCodecsConfigurer extends DefaultCodecsConfigurer {
interface ClientDefaultCodecs extends DefaultCodecs {
/**
* Configure encoders or writers for use with
* {@link org.springframework.http.codec.multipart.MultipartHttpMessageWriter
* MultipartHttpMessageWriter}.
*/
MultipartCodecsConfigurer multipartCodecs();
MultipartCodecs multipartCodecs();
/**
* Configure the {@code Decoder} to use for Server-Sent Events.
@@ -74,14 +74,14 @@ public interface ClientCodecConfigurer extends CodecConfigurer {
/**
* Registry and container for multipart HTTP message writers.
*/
interface MultipartCodecsConfigurer {
interface MultipartCodecs {
/**
* Add a Part {@code Encoder}, internally wrapped with
* {@link EncoderHttpMessageWriter}.
* @param encoder the encoder to add
*/
MultipartCodecsConfigurer encoder(Encoder<?> encoder);
MultipartCodecs encoder(Encoder<?> encoder);
/**
* Add a Part {@link HttpMessageWriter}. For writers of type
@@ -89,7 +89,7 @@ public interface ClientCodecConfigurer extends CodecConfigurer {
* {@link #encoder(Encoder)} instead.
* @param writer the writer to add
*/
MultipartCodecsConfigurer writer(HttpMessageWriter<?> writer);
MultipartCodecs writer(HttpMessageWriter<?> writer);
}
}

View File

@@ -24,7 +24,10 @@ import org.springframework.http.codec.json.Jackson2JsonDecoder;
import org.springframework.http.codec.json.Jackson2JsonEncoder;
/**
* Defines the interface for client or server HTTP message reader and writer configurers.
* Defines a common interface for configuring either client or server HTTP
* message readers and writers. To obtain an instance use either
* {@link ClientCodecConfigurer#create()} or
* {@link ServerCodecConfigurer#create()}.
*
* @author Rossen Stoyanchev
* @since 5.0
@@ -34,7 +37,7 @@ public interface CodecConfigurer {
/**
* Provide overrides for built-in HTTP message readers or writers.
*/
DefaultCodecsConfigurer defaultCodecs();
DefaultCodecs defaultCodecs();
/**
* Whether to make default HTTP message reader and writer registrations.
@@ -45,7 +48,7 @@ public interface CodecConfigurer {
/**
* Register a custom encoder or decoder.
*/
CustomCodecsConfigurer customCodecs();
CustomCodecs customCodecs();
/**
* Prepare a list of HTTP message readers.
@@ -60,10 +63,10 @@ public interface CodecConfigurer {
/**
* Registry and container for built-in HTTP message readers and writers.
* @see ClientCodecConfigurer.ClientDefaultCodecsConfigurer
* @see ServerCodecConfigurer.ServerDefaultCodecsConfigurer
* @see ClientCodecConfigurer.ClientDefaultCodecs
* @see ServerCodecConfigurer.ServerDefaultCodecs
*/
interface DefaultCodecsConfigurer {
interface DefaultCodecs {
/**
* Override the default Jackson {@code Decoder}.
@@ -83,7 +86,7 @@ public interface CodecConfigurer {
/**
* Registry and container for custom HTTP message readers and writers.
*/
interface CustomCodecsConfigurer {
interface CustomCodecs {
/**
* Add a custom {@code Decoder} internally wrapped with

View File

@@ -31,32 +31,33 @@ import org.springframework.http.codec.multipart.MultipartHttpMessageWriter;
* @author Rossen Stoyanchev
* @since 5.0
*/
class DefaultClientCodecConfigurer extends DefaultCodecConfigurer implements ClientCodecConfigurer {
class DefaultClientCodecConfigurer extends AbstractCodecConfigurer implements ClientCodecConfigurer {
public DefaultClientCodecConfigurer() {
super(new DefaultClientDefaultCodecsConfigurer());
super(new ClientDefaultCodecsImpl());
}
@Override
public ClientDefaultCodecsConfigurer defaultCodecs() {
return (ClientDefaultCodecsConfigurer) super.defaultCodecs();
public ClientDefaultCodecs defaultCodecs() {
return (ClientDefaultCodecs) super.defaultCodecs();
}
/**
* Default implementation of {@link ClientCodecConfigurer.ClientDefaultCodecsConfigurer}.
* Default implementation of {@link ClientDefaultCodecs}.
*/
private static class DefaultClientDefaultCodecsConfigurer
extends AbstractDefaultCodecsConfigurer
implements ClientCodecConfigurer.ClientDefaultCodecsConfigurer {
private static class ClientDefaultCodecsImpl extends AbstractDefaultCodecs
implements ClientDefaultCodecs {
private DefaultMultipartCodecsConfigurer multipartCodecs;
private DefaultMultipartCodecs multipartCodecs;
@Override
public MultipartCodecsConfigurer multipartCodecs() {
public MultipartCodecs multipartCodecs() {
if (this.multipartCodecs == null) {
this.multipartCodecs = new DefaultMultipartCodecsConfigurer();
this.multipartCodecs = new DefaultMultipartCodecs();
}
return this.multipartCodecs;
}
@@ -107,19 +108,19 @@ class DefaultClientCodecConfigurer extends DefaultCodecConfigurer implements Cli
}
}
private static class DefaultMultipartCodecsConfigurer implements MultipartCodecsConfigurer {
private static class DefaultMultipartCodecs implements MultipartCodecs {
private final List<HttpMessageWriter<?>> writers = new ArrayList<>();
@Override
public MultipartCodecsConfigurer encoder(Encoder<?> encoder) {
public MultipartCodecs encoder(Encoder<?> encoder) {
writer(new EncoderHttpMessageWriter<>(encoder));
return this;
}
@Override
public MultipartCodecsConfigurer writer(HttpMessageWriter<?> writer) {
public MultipartCodecs writer(HttpMessageWriter<?> writer) {
this.writers.add(writer);
return this;
}

View File

@@ -31,29 +31,29 @@ import org.springframework.util.ClassUtils;
* @author Rossen Stoyanchev
* @since 5.0
*/
class DefaultServerCodecConfigurer extends DefaultCodecConfigurer implements ServerCodecConfigurer {
class DefaultServerCodecConfigurer extends AbstractCodecConfigurer implements ServerCodecConfigurer {
static final boolean synchronossMultipartPresent =
ClassUtils.isPresent("org.synchronoss.cloud.nio.multipart.NioMultipartParser",
org.springframework.http.codec.DefaultCodecConfigurer.class.getClassLoader());
AbstractCodecConfigurer.class.getClassLoader());
public DefaultServerCodecConfigurer() {
super(new DefaultServerDefaultCodecsConfigurer());
super(new ServerDefaultCodecsImpl());
}
@Override
public ServerDefaultCodecsConfigurer defaultCodecs() {
return (ServerDefaultCodecsConfigurer) super.defaultCodecs();
public ServerDefaultCodecs defaultCodecs() {
return (ServerDefaultCodecs) super.defaultCodecs();
}
/**
* Default implementation of {@link ServerCodecConfigurer.ServerDefaultCodecsConfigurer}.
* Default implementation of {@link ServerDefaultCodecs}.
*/
private static class DefaultServerDefaultCodecsConfigurer
extends AbstractDefaultCodecsConfigurer
implements ServerCodecConfigurer.ServerDefaultCodecsConfigurer {
private static class ServerDefaultCodecsImpl extends AbstractDefaultCodecs
implements ServerDefaultCodecs {
@Override
public void serverSentEventEncoder(Encoder<?> encoder) {

View File

@@ -36,10 +36,10 @@ public interface ServerCodecConfigurer extends CodecConfigurer {
/**
* {@inheritDoc}
* <p>Overriden to return {@link ServerDefaultCodecsConfigurer}.
* <p>Overriden to return {@link ServerDefaultCodecs}.
*/
@Override
ServerDefaultCodecsConfigurer defaultCodecs();
ServerDefaultCodecs defaultCodecs();
/**
@@ -52,9 +52,9 @@ public interface ServerCodecConfigurer extends CodecConfigurer {
/**
* Extension of {@link DefaultCodecConfigurer} with extra server options.
* Extension of {@link AbstractCodecConfigurer} with extra server options.
*/
interface ServerDefaultCodecsConfigurer extends DefaultCodecsConfigurer {
interface ServerDefaultCodecs extends DefaultCodecs {
/**
* Configure the {@code Encoder} to use for Server-Sent Events.