Rename AbstractHandlerResultHandler to HRHSupport
This commit is contained in:
parent
79ea77908a
commit
a04fef8450
|
|
@ -36,12 +36,13 @@ import org.springframework.web.server.ServerWebExchange;
|
|||
|
||||
/**
|
||||
* Base class for {@link org.springframework.web.reactive.HandlerResultHandler
|
||||
* HandlerResultHandler} implementations that perform content negotiation.
|
||||
* HandlerResultHandler} with support for content negotiation and access to a
|
||||
* {@code ReactiveAdapter} registry.
|
||||
*
|
||||
* @author Rossen Stoyanchev
|
||||
* @since 5.0
|
||||
*/
|
||||
public abstract class AbstractHandlerResultHandler implements Ordered {
|
||||
public abstract class HandlerResultHandlerSupport implements Ordered {
|
||||
|
||||
private static final MediaType MEDIA_TYPE_APPLICATION_ALL = new MediaType("application");
|
||||
|
||||
|
|
@ -53,11 +54,11 @@ public abstract class AbstractHandlerResultHandler implements Ordered {
|
|||
private int order = LOWEST_PRECEDENCE;
|
||||
|
||||
|
||||
protected AbstractHandlerResultHandler(RequestedContentTypeResolver contentTypeResolver) {
|
||||
protected HandlerResultHandlerSupport(RequestedContentTypeResolver contentTypeResolver) {
|
||||
this(contentTypeResolver, new ReactiveAdapterRegistry());
|
||||
}
|
||||
|
||||
protected AbstractHandlerResultHandler(RequestedContentTypeResolver contentTypeResolver,
|
||||
protected HandlerResultHandlerSupport(RequestedContentTypeResolver contentTypeResolver,
|
||||
ReactiveAdapterRegistry adapterRegistry) {
|
||||
|
||||
Assert.notNull(contentTypeResolver, "'contentTypeResolver' is required.");
|
||||
|
|
@ -74,14 +75,6 @@ public abstract class AbstractHandlerResultHandler implements Ordered {
|
|||
return this.adapterRegistry;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shortcut to get a ReactiveAdapter for the top-level return value type.
|
||||
*/
|
||||
protected ReactiveAdapter getAdapter(HandlerResult result) {
|
||||
Class<?> returnType = result.getReturnType().getRawClass();
|
||||
return getAdapterRegistry().getAdapter(returnType, result.getReturnValue());
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the configured {@link RequestedContentTypeResolver}.
|
||||
*/
|
||||
|
|
@ -105,6 +98,15 @@ public abstract class AbstractHandlerResultHandler implements Ordered {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get a {@code ReactiveAdapter} for the top-level return value type.
|
||||
* @return the matching adapter or {@code null}
|
||||
*/
|
||||
protected ReactiveAdapter getAdapter(HandlerResult result) {
|
||||
Class<?> returnType = result.getReturnType().getRawClass();
|
||||
return getAdapterRegistry().getAdapter(returnType, result.getReturnValue());
|
||||
}
|
||||
|
||||
/**
|
||||
* Select the best media type for the current request through a content
|
||||
* negotiation algorithm.
|
||||
|
|
@ -33,7 +33,7 @@ import org.springframework.http.server.reactive.ServerHttpRequest;
|
|||
import org.springframework.http.server.reactive.ServerHttpResponse;
|
||||
import org.springframework.util.Assert;
|
||||
import org.springframework.web.reactive.accept.RequestedContentTypeResolver;
|
||||
import org.springframework.web.reactive.result.AbstractHandlerResultHandler;
|
||||
import org.springframework.web.reactive.result.HandlerResultHandlerSupport;
|
||||
import org.springframework.web.server.NotAcceptableStatusException;
|
||||
import org.springframework.web.server.ServerWebExchange;
|
||||
|
||||
|
|
@ -44,7 +44,7 @@ import org.springframework.web.server.ServerWebExchange;
|
|||
* @author Rossen Stoyanchev
|
||||
* @since 5.0
|
||||
*/
|
||||
public abstract class AbstractMessageWriterResultHandler extends AbstractHandlerResultHandler {
|
||||
public abstract class AbstractMessageWriterResultHandler extends HandlerResultHandlerSupport {
|
||||
|
||||
private final List<HttpMessageWriter<?>> messageWriters;
|
||||
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ public class ModelAttributeMethodArgumentResolver implements HandlerMethodArgume
|
|||
if (adapter.isNoValue() || adapter.isMultiValue()) {
|
||||
return false;
|
||||
}
|
||||
clazz = ResolvableType.forMethodParameter(parameter).getGeneric(0).getRawClass();
|
||||
clazz = parameter.nested().getNestedParameterType();
|
||||
}
|
||||
return !BeanUtils.isSimpleProperty(clazz);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ import org.springframework.web.reactive.BindingContext;
|
|||
import org.springframework.web.reactive.HandlerResult;
|
||||
import org.springframework.web.reactive.HandlerResultHandler;
|
||||
import org.springframework.web.reactive.accept.RequestedContentTypeResolver;
|
||||
import org.springframework.web.reactive.result.AbstractHandlerResultHandler;
|
||||
import org.springframework.web.reactive.result.HandlerResultHandlerSupport;
|
||||
import org.springframework.web.server.NotAcceptableStatusException;
|
||||
import org.springframework.web.server.ServerWebExchange;
|
||||
import org.springframework.web.server.support.HttpRequestPathHelper;
|
||||
|
|
@ -77,7 +77,7 @@ import org.springframework.web.server.support.HttpRequestPathHelper;
|
|||
* @author Rossen Stoyanchev
|
||||
* @since 5.0
|
||||
*/
|
||||
public class ViewResolutionResultHandler extends AbstractHandlerResultHandler
|
||||
public class ViewResolutionResultHandler extends HandlerResultHandlerSupport
|
||||
implements HandlerResultHandler, Ordered {
|
||||
|
||||
private static final Object NO_VALUE = new Object();
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ import static org.junit.Assert.*;
|
|||
import static org.springframework.http.MediaType.*;
|
||||
|
||||
/**
|
||||
* Unit tests for {@link AbstractHandlerResultHandler}.
|
||||
* Unit tests for {@link HandlerResultHandlerSupport}.
|
||||
* @author Rossen Stoyanchev
|
||||
*/
|
||||
public class HandlerResultHandlerTests {
|
||||
|
|
@ -112,7 +112,7 @@ public class HandlerResultHandlerTests {
|
|||
|
||||
|
||||
@SuppressWarnings("WeakerAccess")
|
||||
private static class TestResultHandler extends AbstractHandlerResultHandler {
|
||||
private static class TestResultHandler extends HandlerResultHandlerSupport {
|
||||
|
||||
protected TestResultHandler() {
|
||||
this(new HeaderContentTypeResolver());
|
||||
|
|
|
|||
Loading…
Reference in New Issue