public class StringDecoder extends AbstractDecoder<String>
String
stream.
By default, this decoder will split the received DataBuffer
s
along newline characters (\r\n
), but this can be changed by
passing false
as a constructor argument.
CharSequenceEncoder
Modifier and Type | Field and Description |
---|---|
static Charset |
DEFAULT_CHARSET |
Modifier and Type | Method and Description |
---|---|
static StringDecoder |
allMimeTypes(boolean splitOnNewline)
Create a
StringDecoder that supports all MIME types. |
boolean |
canDecode(ResolvableType elementType,
MimeType mimeType)
Whether the decoder supports the given target element type and the MIME
type of the source stream.
|
reactor.core.publisher.Flux<String> |
decode(org.reactivestreams.Publisher<DataBuffer> inputStream,
ResolvableType elementType,
MimeType mimeType,
Map<String,Object> hints)
Decode a
DataBuffer input stream into a Flux of T . |
reactor.core.publisher.Mono<String> |
decodeToMono(org.reactivestreams.Publisher<DataBuffer> inputStream,
ResolvableType elementType,
MimeType mimeType,
Map<String,Object> hints)
Decode a
DataBuffer input stream into a Mono of T . |
static StringDecoder |
textPlainOnly(boolean splitOnNewline)
Create a
StringDecoder for "text/plain" . |
getDecodableMimeTypes
public static final Charset DEFAULT_CHARSET
public boolean canDecode(ResolvableType elementType, @Nullable MimeType mimeType)
Decoder
canDecode
in interface Decoder<String>
canDecode
in class AbstractDecoder<String>
elementType
- the target element type for the output streammimeType
- the mime type associated with the stream to decode
(can be null
if not specified)true
if supported, false
otherwisepublic reactor.core.publisher.Flux<String> decode(org.reactivestreams.Publisher<DataBuffer> inputStream, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable Map<String,Object> hints)
Decoder
DataBuffer
input stream into a Flux of T
.inputStream
- the DataBuffer
input stream to decodeelementType
- the expected type of elements in the output stream;
this type must have been previously passed to the Decoder.canDecode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)
method and it must have returned true
.mimeType
- the MIME type associated with the input stream (optional)hints
- additional information about how to do encodepublic reactor.core.publisher.Mono<String> decodeToMono(org.reactivestreams.Publisher<DataBuffer> inputStream, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable Map<String,Object> hints)
Decoder
DataBuffer
input stream into a Mono of T
.decodeToMono
in interface Decoder<String>
decodeToMono
in class AbstractDecoder<String>
inputStream
- the DataBuffer
input stream to decodeelementType
- the expected type of elements in the output stream;
this type must have been previously passed to the Decoder.canDecode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)
method and it must have returned true
.mimeType
- the MIME type associated with the input stream (optional)hints
- additional information about how to do encodepublic static StringDecoder textPlainOnly(boolean splitOnNewline)
StringDecoder
for "text/plain"
.splitOnNewline
- whether to split the byte stream into linespublic static StringDecoder allMimeTypes(boolean splitOnNewline)
StringDecoder
that supports all MIME types.splitOnNewline
- whether to split the byte stream into lines