mirror of
https://github.com/spring-projects/spring-framework.git
synced 2026-05-03 04:19:47 +01:00
Rename AbstractHandlerResultHandler to HRHSupport
This commit is contained in:
+14
-12
@@ -36,12 +36,13 @@ import org.springframework.web.server.ServerWebExchange;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Base class for {@link org.springframework.web.reactive.HandlerResultHandler
|
* 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
|
* @author Rossen Stoyanchev
|
||||||
* @since 5.0
|
* @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");
|
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;
|
private int order = LOWEST_PRECEDENCE;
|
||||||
|
|
||||||
|
|
||||||
protected AbstractHandlerResultHandler(RequestedContentTypeResolver contentTypeResolver) {
|
protected HandlerResultHandlerSupport(RequestedContentTypeResolver contentTypeResolver) {
|
||||||
this(contentTypeResolver, new ReactiveAdapterRegistry());
|
this(contentTypeResolver, new ReactiveAdapterRegistry());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected AbstractHandlerResultHandler(RequestedContentTypeResolver contentTypeResolver,
|
protected HandlerResultHandlerSupport(RequestedContentTypeResolver contentTypeResolver,
|
||||||
ReactiveAdapterRegistry adapterRegistry) {
|
ReactiveAdapterRegistry adapterRegistry) {
|
||||||
|
|
||||||
Assert.notNull(contentTypeResolver, "'contentTypeResolver' is required.");
|
Assert.notNull(contentTypeResolver, "'contentTypeResolver' is required.");
|
||||||
@@ -74,14 +75,6 @@ public abstract class AbstractHandlerResultHandler implements Ordered {
|
|||||||
return this.adapterRegistry;
|
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}.
|
* 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
|
* Select the best media type for the current request through a content
|
||||||
* negotiation algorithm.
|
* negotiation algorithm.
|
||||||
+2
-2
@@ -33,7 +33,7 @@ import org.springframework.http.server.reactive.ServerHttpRequest;
|
|||||||
import org.springframework.http.server.reactive.ServerHttpResponse;
|
import org.springframework.http.server.reactive.ServerHttpResponse;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
import org.springframework.web.reactive.accept.RequestedContentTypeResolver;
|
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.NotAcceptableStatusException;
|
||||||
import org.springframework.web.server.ServerWebExchange;
|
import org.springframework.web.server.ServerWebExchange;
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ import org.springframework.web.server.ServerWebExchange;
|
|||||||
* @author Rossen Stoyanchev
|
* @author Rossen Stoyanchev
|
||||||
* @since 5.0
|
* @since 5.0
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractMessageWriterResultHandler extends AbstractHandlerResultHandler {
|
public abstract class AbstractMessageWriterResultHandler extends HandlerResultHandlerSupport {
|
||||||
|
|
||||||
private final List<HttpMessageWriter<?>> messageWriters;
|
private final List<HttpMessageWriter<?>> messageWriters;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -110,7 +110,7 @@ public class ModelAttributeMethodArgumentResolver implements HandlerMethodArgume
|
|||||||
if (adapter.isNoValue() || adapter.isMultiValue()) {
|
if (adapter.isNoValue() || adapter.isMultiValue()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
clazz = ResolvableType.forMethodParameter(parameter).getGeneric(0).getRawClass();
|
clazz = parameter.nested().getNestedParameterType();
|
||||||
}
|
}
|
||||||
return !BeanUtils.isSimpleProperty(clazz);
|
return !BeanUtils.isSimpleProperty(clazz);
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -46,7 +46,7 @@ import org.springframework.web.reactive.BindingContext;
|
|||||||
import org.springframework.web.reactive.HandlerResult;
|
import org.springframework.web.reactive.HandlerResult;
|
||||||
import org.springframework.web.reactive.HandlerResultHandler;
|
import org.springframework.web.reactive.HandlerResultHandler;
|
||||||
import org.springframework.web.reactive.accept.RequestedContentTypeResolver;
|
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.NotAcceptableStatusException;
|
||||||
import org.springframework.web.server.ServerWebExchange;
|
import org.springframework.web.server.ServerWebExchange;
|
||||||
import org.springframework.web.server.support.HttpRequestPathHelper;
|
import org.springframework.web.server.support.HttpRequestPathHelper;
|
||||||
@@ -77,7 +77,7 @@ import org.springframework.web.server.support.HttpRequestPathHelper;
|
|||||||
* @author Rossen Stoyanchev
|
* @author Rossen Stoyanchev
|
||||||
* @since 5.0
|
* @since 5.0
|
||||||
*/
|
*/
|
||||||
public class ViewResolutionResultHandler extends AbstractHandlerResultHandler
|
public class ViewResolutionResultHandler extends HandlerResultHandlerSupport
|
||||||
implements HandlerResultHandler, Ordered {
|
implements HandlerResultHandler, Ordered {
|
||||||
|
|
||||||
private static final Object NO_VALUE = new Object();
|
private static final Object NO_VALUE = new Object();
|
||||||
|
|||||||
+2
-2
@@ -37,7 +37,7 @@ import static org.junit.Assert.*;
|
|||||||
import static org.springframework.http.MediaType.*;
|
import static org.springframework.http.MediaType.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unit tests for {@link AbstractHandlerResultHandler}.
|
* Unit tests for {@link HandlerResultHandlerSupport}.
|
||||||
* @author Rossen Stoyanchev
|
* @author Rossen Stoyanchev
|
||||||
*/
|
*/
|
||||||
public class HandlerResultHandlerTests {
|
public class HandlerResultHandlerTests {
|
||||||
@@ -112,7 +112,7 @@ public class HandlerResultHandlerTests {
|
|||||||
|
|
||||||
|
|
||||||
@SuppressWarnings("WeakerAccess")
|
@SuppressWarnings("WeakerAccess")
|
||||||
private static class TestResultHandler extends AbstractHandlerResultHandler {
|
private static class TestResultHandler extends HandlerResultHandlerSupport {
|
||||||
|
|
||||||
protected TestResultHandler() {
|
protected TestResultHandler() {
|
||||||
this(new HeaderContentTypeResolver());
|
this(new HeaderContentTypeResolver());
|
||||||
|
|||||||
Reference in New Issue
Block a user