Add @Since 5.0 and package-info for reactive classes
This commit is contained in:
		
							parent
							
								
									e2c7653da4
								
							
						
					
					
						commit
						d2e105f28d
					
				| 
						 | 
				
			
			@ -30,6 +30,7 @@ import org.springframework.util.MimeType;
 | 
			
		|||
/**
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class AbstractDecoder<T> implements Decoder<T> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,7 @@ import org.springframework.util.MimeType;
 | 
			
		|||
/**
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class AbstractEncoder<T> implements Encoder<T> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,6 +28,7 @@ import org.springframework.util.MimeType;
 | 
			
		|||
 * Abstract base class for {@link org.springframework.core.codec.Encoder} classes that
 | 
			
		||||
 * can only deal with a single value.
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class AbstractSingleValueEncoder<T> extends AbstractEncoder<T> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,6 +30,7 @@ import org.springframework.util.MimeTypeUtils;
 | 
			
		|||
/**
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class ByteBufferDecoder extends AbstractDecoder<ByteBuffer> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,6 +29,7 @@ import org.springframework.util.MimeTypeUtils;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class ByteBufferEncoder extends AbstractEncoder<ByteBuffer> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,6 +22,7 @@ import org.springframework.core.NestedRuntimeException;
 | 
			
		|||
 * Codec related exception, usually used as a wrapper for a cause exception.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
@SuppressWarnings("serial")
 | 
			
		||||
public class CodecException extends NestedRuntimeException {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,6 +33,7 @@ import org.springframework.util.MimeType;
 | 
			
		|||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @param <T> the type of elements in the output stream
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public interface Decoder<T> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,6 +33,7 @@ import org.springframework.util.MimeType;
 | 
			
		|||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @param <T> the type of elements in the input stream
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public interface Encoder<T> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,6 +35,7 @@ import org.springframework.util.MimeTypeUtils;
 | 
			
		|||
 * A decoder for {@link Resource}s.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class ResourceDecoder extends AbstractDecoder<Resource> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,6 +34,7 @@ import org.springframework.util.StreamUtils;
 | 
			
		|||
/**
 | 
			
		||||
 * An encoder for {@link Resource}s.
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class ResourceEncoder extends AbstractSingleValueEncoder<Resource> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,6 +44,7 @@ import org.springframework.util.MimeTypeUtils;
 | 
			
		|||
 * @author Brian Clozel
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @author Mark Paluch
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 * @see StringEncoder
 | 
			
		||||
 */
 | 
			
		||||
public class StringDecoder extends AbstractDecoder<String> {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,6 +31,7 @@ import org.springframework.util.MimeType;
 | 
			
		|||
 * Encode from a String stream to a bytes stream.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 * @see StringDecoder
 | 
			
		||||
 */
 | 
			
		||||
public class StringEncoder extends AbstractEncoder<String> {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
/**
 | 
			
		||||
 * Provides {@link org.springframework.core.codec.Encoder} and
 | 
			
		||||
 * {@link org.springframework.core.codec.Decoder} abstractions for converting
 | 
			
		||||
 * to and from between a stream of bytes and a stream of Java objects.
 | 
			
		||||
 * {@link org.springframework.core.codec.Encoder} and
 | 
			
		||||
 * {@link org.springframework.core.codec.Decoder} abstractions to convert
 | 
			
		||||
 * between a reactive stream of bytes and Java objects.
 | 
			
		||||
 */
 | 
			
		||||
package org.springframework.core.codec;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,6 +28,7 @@ import org.springframework.core.convert.converter.GenericConverter;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class MonoToCompletableFutureConverter implements GenericConverter {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,6 +35,7 @@ import org.springframework.core.convert.converter.GenericConverter;
 | 
			
		|||
/**
 | 
			
		||||
 * @author Stephane Maldini
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public final class ReactorToRxJava1Converter implements GenericConverter {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,6 +25,7 @@ import java.util.function.IntPredicate;
 | 
			
		|||
 * Basic abstraction over byte buffers.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public interface DataBuffer {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,6 +24,7 @@ import java.nio.ByteBuffer;
 | 
			
		|||
 *
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @see DataBuffer
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public interface DataBufferFactory {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,6 +33,7 @@ import org.springframework.util.ObjectUtils;
 | 
			
		|||
 * using the {@link DefaultDataBufferFactory}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 * @see DefaultDataBufferFactory
 | 
			
		||||
 */
 | 
			
		||||
public class DefaultDataBuffer implements DataBuffer {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,7 @@ import org.springframework.util.Assert;
 | 
			
		|||
 * heap-based or direct buffers are to be preferred.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class DefaultDataBufferFactory implements DataBufferFactory {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,7 @@ import java.util.function.IntPredicate;
 | 
			
		|||
 * previously buffered data should be flushed.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 * @see FlushingDataBuffer#INSTANCE
 | 
			
		||||
 */
 | 
			
		||||
public class FlushingDataBuffer implements DataBuffer {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,6 +36,7 @@ import org.springframework.util.ObjectUtils;
 | 
			
		|||
 * Typically constructed using the {@link NettyDataBufferFactory}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class NettyDataBuffer implements PooledDataBuffer {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,6 +29,7 @@ import org.springframework.util.Assert;
 | 
			
		|||
 * {@link ByteBufAllocator}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 * @see io.netty.buffer.PooledByteBufAllocator
 | 
			
		||||
 * @see io.netty.buffer.UnpooledByteBufAllocator
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,6 +21,7 @@ package org.springframework.core.io.buffer;
 | 
			
		|||
 * Introduces methods for reference counting.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public interface PooledDataBuffer extends DataBuffer {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
/**
 | 
			
		||||
 * Generic abstraction for working with byte buffer implementations.
 | 
			
		||||
 */
 | 
			
		||||
package org.springframework.core.io.buffer;
 | 
			
		||||
| 
						 | 
				
			
			@ -38,6 +38,7 @@ import org.springframework.util.Assert;
 | 
			
		|||
 * Utility class for working with {@link DataBuffer}s.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class DataBufferUtils {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
/**
 | 
			
		||||
 * Support classes for Spring's byte buffer abstraction.
 | 
			
		||||
 */
 | 
			
		||||
package org.springframework.core.io.buffer.support;
 | 
			
		||||
| 
						 | 
				
			
			@ -327,6 +327,7 @@ public abstract class MimeTypeUtils {
 | 
			
		|||
	 * Framework.
 | 
			
		||||
	 * @param filename the filename whose mime type is to be found
 | 
			
		||||
	 * @return the mime type, if any
 | 
			
		||||
	 * @since 5.0
 | 
			
		||||
	 */
 | 
			
		||||
	public static Optional<MimeType> getMimeType(String filename) {
 | 
			
		||||
		if (filename != null) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,6 +28,7 @@ import org.springframework.util.ClassUtils;
 | 
			
		|||
/**
 | 
			
		||||
 * Abstract base class for {@code XMLEventReader}s.
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
abstract class AbstractXMLEventReader implements XMLEventReader {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,6 +27,7 @@ import org.springframework.util.Assert;
 | 
			
		|||
 * Implementation of {@code XMLEventReader} based on a list of {@link XMLEvent}s.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
class ListBasedXMLEventReader extends AbstractXMLEventReader {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,6 +53,7 @@ import org.springframework.web.server.WebHandler;
 | 
			
		|||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class DispatcherHandler implements WebHandler, ApplicationContextAware {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,6 +28,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public interface HandlerAdapter {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public interface HandlerMapping {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,6 +31,7 @@ import org.springframework.util.Assert;
 | 
			
		|||
 * Represent the result of the invocation of a handler.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class HandlerResult {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,6 +25,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public interface HandlerResultHandler {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,6 +25,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * Handle {@link ResponseStatusException} by setting the response status.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class ResponseStatusExceptionHandler implements WebExceptionHandler {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,6 +39,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * extension, query parameter, etc) for a given exchange.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class AbstractMappingContentTypeResolver implements MappingContentTypeResolver {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,6 +35,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * {@code MappingContentTypeResolver}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class CompositeContentTypeResolver implements MappingContentTypeResolver {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * A {@link RequestedContentTypeResolver} that resolves to a fixed list of media types.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class FixedContentTypeResolver implements RequestedContentTypeResolver {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * A {@link RequestedContentTypeResolver} that checks the 'Accept' request header.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class HeaderContentTypeResolver implements RequestedContentTypeResolver {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,6 +25,7 @@ import org.springframework.http.MediaType;
 | 
			
		|||
 * keys (e.g. file extension, query parameter) and media types.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public interface MappingContentTypeResolver extends RequestedContentTypeResolver {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,8 +29,9 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
/**
 | 
			
		||||
 * A {@link RequestedContentTypeResolver} that extracts the media type lookup key from a
 | 
			
		||||
 * known query parameter named "format" by default.
 | 
			
		||||
 *s
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class ParameterContentTypeResolver extends AbstractMappingContentTypeResolver {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,6 +40,7 @@ import org.springframework.web.util.WebUtils;
 | 
			
		|||
 * the {@link #setUseJaf(boolean)} property may be set to false.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class PathExtensionContentTypeResolver extends AbstractMappingContentTypeResolver {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,6 +25,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * Strategy for resolving the requested media types for a {@code ServerWebExchange}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public interface RequestedContentTypeResolver {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -78,6 +78,7 @@ import org.springframework.util.CollectionUtils;
 | 
			
		|||
 * {@link #useJaf suppress} the use of JAF.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class RequestedContentTypeResolverBuilder {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
/**
 | 
			
		||||
 * This package provides support for various strategies to resolve the requested
 | 
			
		||||
 * content type for a given request.
 | 
			
		||||
 * {@link org.springframework.web.reactive.accept.RequestedContentTypeResolver}
 | 
			
		||||
 * strategy and implementations to resolve the requested content type for a
 | 
			
		||||
 * given request.
 | 
			
		||||
 */
 | 
			
		||||
package org.springframework.web.reactive.accept;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,6 +22,7 @@ import org.springframework.web.util.HttpRequestPathHelper;
 | 
			
		|||
 * Assist with configuring {@code HandlerMapping}'s with path matching options.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class PathMatchConfigurer {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,6 +22,7 @@ import org.springframework.web.reactive.result.view.UrlBasedViewResolver;
 | 
			
		|||
 * Assist with configuring properties of a {@link UrlBasedViewResolver}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class UrlBasedViewResolverRegistration {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,6 +41,7 @@ import org.springframework.web.reactive.result.view.freemarker.FreeMarkerViewRes
 | 
			
		|||
 * JSON, XML, etc.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class ViewResolverRegistry {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -71,6 +71,7 @@ import org.springframework.web.reactive.result.view.ViewResolver;
 | 
			
		|||
 * <p>Import directly or extend and override protected methods to customize.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
@Configuration @SuppressWarnings("unused")
 | 
			
		||||
public class WebReactiveConfiguration implements ApplicationContextAware {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,6 +28,7 @@ import org.springframework.web.util.HttpRequestPathHelper;
 | 
			
		|||
 * implementations.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class AbstractHandlerMapping extends ApplicationObjectSupport
 | 
			
		||||
		implements HandlerMapping, Ordered {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,6 +44,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * path pattern that matches the current request path.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class AbstractUrlHandlerMapping extends AbstractHandlerMapping {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,6 +49,7 @@ import org.springframework.util.CollectionUtils;
 | 
			
		|||
 * {@link org.springframework.util.AntPathMatcher AntPathMatcher} javadoc.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class SimpleUrlHandlerMapping extends AbstractUrlHandlerMapping {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,4 @@
 | 
			
		|||
/**
 | 
			
		||||
 * Provides standard HandlerMapping implementations,
 | 
			
		||||
 * including abstract base classes for custom implementations.
 | 
			
		||||
 * Provides HandlerMapping implementations including abstract base classes.
 | 
			
		||||
 */
 | 
			
		||||
package org.springframework.web.reactive.handler;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,6 +36,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * HandlerResultHandler} implementations that perform content negotiation.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class ContentNegotiatingResultHandlerSupport implements Ordered {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,6 +33,7 @@ import org.springframework.web.server.WebHandler;
 | 
			
		|||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class SimpleHandlerAdapter implements HandlerAdapter {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,6 +41,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 *
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class SimpleResultHandler implements Ordered, HandlerResultHandler {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,6 +30,7 @@ import org.springframework.web.server.UnsupportedMediaTypeStatusException;
 | 
			
		|||
 * {@link RequestMapping#consumes()} and {@link RequestMapping#produces()}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
abstract class AbstractMediaTypeExpression implements Comparable<AbstractMediaTypeExpression>, MediaTypeExpression {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,6 +24,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * {@link org.springframework.web.bind.annotation.RequestMapping#headers()}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
abstract class AbstractNameValueExpression<T> implements NameValueExpression<T> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,6 +24,7 @@ import java.util.Iterator;
 | 
			
		|||
 * {@link #equals(Object)}, {@link #hashCode()}, and {@link #toString()}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class AbstractRequestCondition<T extends AbstractRequestCondition<T>>
 | 
			
		||||
		implements RequestCondition<T> {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,6 +36,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * provide {@code null} conditions or no conditions at all to the constructor.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class CompositeRequestCondition extends AbstractRequestCondition<CompositeRequestCondition> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,6 +39,7 @@ import org.springframework.web.server.UnsupportedMediaTypeStatusException;
 | 
			
		|||
 * used, the semantics are the same.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public final class ConsumesRequestCondition extends AbstractRequestCondition<ConsumesRequestCondition> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,6 +33,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * {@link ProducesRequestCondition} for those.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public final class HeadersRequestCondition extends AbstractRequestCondition<HeadersRequestCondition> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,6 +24,7 @@ import org.springframework.http.MediaType;
 | 
			
		|||
 * "produces" conditions.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public interface MediaTypeExpression {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,6 +21,7 @@ package org.springframework.web.reactive.result.condition;
 | 
			
		|||
 * parameters and request header conditions in {@code @RequestMapping}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public interface NameValueExpression<T> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,6 +29,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * a set parameter expressions with syntax defined in {@link RequestMapping#params()}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public final class ParamsRequestCondition extends AbstractRequestCondition<ParamsRequestCondition> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,6 +38,7 @@ import org.springframework.web.util.HttpRequestPathHelper;
 | 
			
		|||
 * against a set of URL path patterns.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public final class PatternsRequestCondition extends AbstractRequestCondition<PatternsRequestCondition> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,6 +41,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * Regardless of which syntax is used, the semantics are the same.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public final class ProducesRequestCondition extends AbstractRequestCondition<ProducesRequestCondition> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,9 +26,11 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * to each other via {@link #compareTo(Object, ServerWebExchange)} to determine
 | 
			
		||||
 * which is a closer match for a given request.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @param <T> the type of objects that this RequestCondition can be combined
 | 
			
		||||
 * with and compared to
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public interface RequestCondition<T> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,6 +33,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * If they are not, a {@link ClassCastException} is raised.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public final class RequestConditionHolder extends AbstractRequestCondition<RequestConditionHolder> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,6 +34,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * against a set of {@link RequestMethod}s.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public final class RequestMethodsRequestCondition extends AbstractRequestCondition<RequestMethodsRequestCondition> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,5 @@
 | 
			
		|||
/**
 | 
			
		||||
 * Support for mapping requests based on a
 | 
			
		||||
 * {@link org.springframework.web.reactive.result.condition.RequestCondition
 | 
			
		||||
 * RequestCondition} type hierarchy.
 | 
			
		||||
 * {@link org.springframework.web.reactive.result.condition.RequestCondition}
 | 
			
		||||
 * and implementations for matching requests based on different criteria.
 | 
			
		||||
 */
 | 
			
		||||
package org.springframework.web.reactive.result.condition;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,9 +49,11 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * <p>For each registered handler method, a unique mapping is maintained with
 | 
			
		||||
 * subclasses defining the details of the mapping type {@code <T>}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @param <T> The mapping for a {@link HandlerMethod} containing the conditions
 | 
			
		||||
 * needed to match the handler method to incoming request.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class AbstractHandlerMethodMapping<T> extends AbstractHandlerMapping implements InitializingBean {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,6 +25,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public interface HandlerMethodArgumentResolver {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,6 +41,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class InvocableHandlerMethod extends HandlerMethod {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -47,6 +47,7 @@ import org.springframework.web.util.HttpRequestPathHelper;
 | 
			
		|||
 * </ol>
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public final class RequestMappingInfo implements RequestCondition<RequestMappingInfo> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -51,6 +51,7 @@ import org.springframework.web.server.UnsupportedMediaTypeStatusException;
 | 
			
		|||
 * the mapping between a request and a handler method.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class RequestMappingInfoHandlerMapping extends AbstractHandlerMethodMapping<RequestMappingInfo> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,6 +53,7 @@ import org.springframework.web.server.UnsupportedMediaTypeStatusException;
 | 
			
		|||
 * failure results in an {@link ServerWebInputException}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class AbstractMessageConverterArgumentResolver {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,6 +40,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * to the response with {@link HttpMessageConverter}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class AbstractMessageConverterResultHandler extends ContentNegotiatingResultHandlerSupport {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,6 +53,7 @@ import org.springframework.web.server.ServerWebInputException;
 | 
			
		|||
 * {@link ConfigurableBeanFactory} must be supplied to the class constructor.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class AbstractNamedValueMethodArgumentResolver implements HandlerMethodArgumentResolver {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,6 +34,7 @@ import org.springframework.web.server.ServerWebInputException;
 | 
			
		|||
 * does not exist.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class CookieValueMethodArgumentResolver extends AbstractNamedValueMethodArgumentResolver {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,6 +32,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * Language #{...} expressions.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class ExpressionValueMethodArgumentResolver extends AbstractNamedValueMethodArgumentResolver {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,6 +38,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * {@code HttpMessageConverter}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class HttpEntityArgumentResolver extends AbstractMessageConverterArgumentResolver
 | 
			
		||||
		implements HandlerMethodArgumentResolver {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,6 +27,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * Resolver for the {@link Model} controller method argument.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class ModelArgumentResolver implements HandlerMethodArgumentResolver {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,6 +37,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * template name-value pairs.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 * @see PathVariableMethodArgumentResolver
 | 
			
		||||
 */
 | 
			
		||||
public class PathVariableMapMethodArgumentResolver implements HandlerMethodArgumentResolver {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -48,6 +48,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * {@link Converter}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 * @see PathVariableMapMethodArgumentResolver
 | 
			
		||||
 */
 | 
			
		||||
public class PathVariableMethodArgumentResolver extends AbstractNamedValueMethodArgumentResolver {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,6 +29,7 @@ import org.springframework.web.server.ServerWebInputException;
 | 
			
		|||
 * Resolves method arguments annotated with an @{@link RequestAttribute}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 * @see SessionAttributeMethodArgumentResolver
 | 
			
		||||
 */
 | 
			
		||||
public class RequestAttributeMethodArgumentResolver extends AbstractNamedValueMethodArgumentResolver {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,6 +42,7 @@ import org.springframework.web.server.ServerWebInputException;
 | 
			
		|||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @author Stephane Maldini
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class RequestBodyArgumentResolver extends AbstractMessageConverterArgumentResolver
 | 
			
		||||
		implements HandlerMethodArgumentResolver {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,6 +38,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * values for a header, not only the first one.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 * @see RequestHeaderMethodArgumentResolver
 | 
			
		||||
 */
 | 
			
		||||
public class RequestHeaderMapMethodArgumentResolver implements HandlerMethodArgumentResolver {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,6 +41,7 @@ import org.springframework.web.server.ServerWebInputException;
 | 
			
		|||
 * request header values that don't yet match the method parameter type.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 * @see RequestHeaderMapMethodArgumentResolver
 | 
			
		||||
 */
 | 
			
		||||
public class RequestHeaderMethodArgumentResolver extends AbstractNamedValueMethodArgumentResolver {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,6 +53,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * Supports the invocation of {@code @RequestMapping} methods.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class RequestMappingHandlerAdapter implements HandlerAdapter, BeanFactoryAware, InitializingBean {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,6 +38,7 @@ import org.springframework.web.reactive.result.method.RequestMappingInfoHandlerM
 | 
			
		|||
 * {@link RequestMapping @RequestMapping} annotations.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class RequestMappingHandlerMapping extends RequestMappingInfoHandlerMapping
 | 
			
		||||
		implements EmbeddedValueResolverAware {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,6 +40,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * request parameters have multiple values.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 * @see RequestParamMethodArgumentResolver
 | 
			
		||||
 */
 | 
			
		||||
public class RequestParamMapMethodArgumentResolver implements HandlerMethodArgumentResolver {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -48,6 +48,7 @@ import org.springframework.web.server.ServerWebInputException;
 | 
			
		|||
 * to provide access to all request parameters in the form of a map.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 * @see RequestParamMapMethodArgumentResolver
 | 
			
		||||
 */
 | 
			
		||||
public class RequestParamMethodArgumentResolver extends AbstractNamedValueMethodArgumentResolver {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -48,6 +48,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * @author Stephane Maldini
 | 
			
		||||
 * @author Sebastien Deleuze
 | 
			
		||||
 * @author Arjen Poutsma
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class ResponseBodyResultHandler extends AbstractMessageConverterResultHandler
 | 
			
		||||
		implements HandlerResultHandler {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,6 +42,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * safe to place it early in the order as it looks for a concrete return type.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class ResponseEntityResultHandler extends AbstractMessageConverterResultHandler
 | 
			
		||||
		implements HandlerResultHandler {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,6 +31,7 @@ import org.springframework.web.server.ServerWebInputException;
 | 
			
		|||
 * Resolves method arguments annotated with an @{@link SessionAttribute}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 * @see RequestAttributeMethodArgumentResolver
 | 
			
		||||
 */
 | 
			
		||||
public class SessionAttributeMethodArgumentResolver extends AbstractNamedValueMethodArgumentResolver {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,7 @@
 | 
			
		|||
/**
 | 
			
		||||
 * Support for various programming model styles including the invocation of
 | 
			
		||||
 * different types of handlers (e.g. annotated controllers, simple WebHandler,
 | 
			
		||||
 * etc) as well as result handling (@ResponseBody, view resolution, etc).
 | 
			
		||||
 * different types of handlers, e.g. annotated controller vs simple WebHandler,
 | 
			
		||||
 * including the handling of handler result values, e.g. @ResponseBody, view
 | 
			
		||||
 * resolution, and so on.
 | 
			
		||||
 */
 | 
			
		||||
package org.springframework.web.reactive.result;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,6 +24,7 @@ import org.springframework.beans.factory.InitializingBean;
 | 
			
		|||
 * holding the URL that a View wraps, in the form of a "url" bean property.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class AbstractUrlBasedView extends AbstractView implements InitializingBean {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,6 +36,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public abstract class AbstractView implements View, ApplicationContextAware {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,6 +40,7 @@ import org.springframework.web.server.ServerWebExchange;
 | 
			
		|||
 * A {@link View} that delegates to an {@link HttpMessageConverter}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Rossen Stoyanchev
 | 
			
		||||
 * @since 5.0
 | 
			
		||||
 */
 | 
			
		||||
public class HttpMessageConverterView implements View {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
		Reference in New Issue