类 StringDecoder

所有已实现的接口:
Decoder<String>

public final class StringDecoder extends AbstractDataBufferDecoder<String>
Decode from a data buffer stream to a String stream, either splitting or aggregating incoming data chunks to realign along newlines delimiters and produce a stream of strings. This is useful for streaming but is also necessary to ensure that that multibyte characters can be decoded correctly, avoiding split-character issues. The default delimiters used by default are \n and \r\n but that can be customized.
从以下版本开始:
4.0
作者:
Sebastien Deleuze, Brian Clozel, Arjen Poutsma, Mark Paluch
另请参阅:
  • 字段详细资料

    • DEFAULT_CHARSET

      public static final Charset DEFAULT_CHARSET
      The default charset to use, i.e. "UTF-8".
    • DEFAULT_DELIMITERS

      public static final List<String> DEFAULT_DELIMITERS
      The default delimiter strings to use, i.e. \r\n and \n.
  • 方法详细资料

    • setDefaultCharset

      public void setDefaultCharset(Charset defaultCharset)
      Set the default character set to fall back on if the MimeType does not specify any.

      By default this is UTF-8.

      参数:
      defaultCharset - the charset to fall back on
    • getDefaultCharset

      public Charset getDefaultCharset()
      Return the configured defaultCharset.
    • canDecode

      public boolean canDecode(ResolvableType elementType, @Nullable MimeType mimeType)
      从接口复制的说明: Decoder
      Whether the decoder supports the given target element type and the MIME type of the source stream.
      指定者:
      canDecode 在接口中 Decoder<String>
      覆盖:
      canDecode 在类中 AbstractDecoder<String>
      参数:
      elementType - the target element type for the output stream
      mimeType - the mime type associated with the stream to decode (can be null if not specified)
      返回:
      true if supported, false otherwise
    • decode

      public reactor.core.publisher.Flux<String> decode(org.reactivestreams.Publisher<DataBuffer> input, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable Map<String,Object> hints)
      从接口复制的说明: Decoder
      Decode a DataBuffer input stream into a Flux of T.
      指定者:
      decode 在接口中 Decoder<String>
      覆盖:
      decode 在类中 AbstractDataBufferDecoder<String>
      参数:
      input - the DataBuffer input stream to decode
      elementType - the expected type of elements in the output stream; this type must have been previously passed to the Decoder.canDecode(cn.taketoday.core.ResolvableType, cn.taketoday.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 decode
      返回:
      the output stream with decoded elements
    • decode

      public String decode(DataBuffer dataBuffer, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable Map<String,Object> hints)
      从接口复制的说明: Decoder
      Decode a data buffer to an Object of type T. This is useful for scenarios, that distinct messages (or events) are decoded and handled individually, in fully aggregated form.
      参数:
      dataBuffer - the DataBuffer to decode
      elementType - the expected output type
      mimeType - the MIME type associated with the data
      hints - additional information about how to do decode
      返回:
      the decoded value, possibly null
    • textPlainOnly

      public static StringDecoder textPlainOnly()
      Create a StringDecoder for "text/plain".
    • textPlainOnly

      public static StringDecoder textPlainOnly(List<String> delimiters, boolean stripDelimiter)
      Create a StringDecoder for "text/plain".
      参数:
      delimiters - delimiter strings to use to split the input stream
      stripDelimiter - whether to remove delimiters from the resulting input strings
    • allMimeTypes

      public static StringDecoder allMimeTypes()
      Create a StringDecoder that supports all MIME types.
    • allMimeTypes

      public static StringDecoder allMimeTypes(List<String> delimiters, boolean stripDelimiter)
      Create a StringDecoder that supports all MIME types.
      参数:
      delimiters - delimiter strings to use to split the input stream
      stripDelimiter - whether to remove delimiters from the resulting input strings