Package org.springframework.core.codec

# Class CharSequenceEncoder

java.lang.Object
org.springframework.core.codec.AbstractEncoder<CharSequence>
org.springframework.core.codec.CharSequenceEncoder

All Implemented Interfaces:
  `Encoder<CharSequence>`

public final class CharSequenceEncoder extends AbstractEncoder<CharSequence>
Encode from a `CharSequence` stream to a bytes stream.

Since:
  5.0
Author:
  Sebastien Deleuze, Arjen Poutsma, Rossen Stoyanchev
See Also:
  - `StringDecoder`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final Charset`
`DEFAULT_CHARSET`
The default charset used by the encoder.

### Fields inherited from class org.springframework.core.codec.AbstractEncoder

`logger`

## Method Summary

Modifier and Type
Method
Description
`static CharSequenceEncoder`
`allMimeTypes()`
Create a `CharSequenceEncoder` that supports all MIME types.
`boolean`
`canEncode(ResolvableType elementType, MimeType mimeType)`
Whether the encoder supports the given source element type and the MIME type for the output stream.
`reactor.core.publisher.Flux<DataBuffer>`
`encode(Publisher<? extends CharSequence> inputStream, DataBufferFactory bufferFactory, ResolvableType elementType, MimeType mimeType, Map<String,Object> hints)`
Encode a stream of Objects of type `T` into a `DataBuffer` output stream.
`DataBuffer`
`encodeValue(CharSequence charSequence, DataBufferFactory bufferFactory, ResolvableType valueType, MimeType mimeType, Map<String,Object> hints)`
Encode an Object of type T to a data buffer.
`static CharSequenceEncoder`
`textPlainOnly()`
Create a `CharSequenceEncoder` that supports only "text/plain".

### Methods inherited from class org.springframework.core.codec.AbstractEncoder

`getEncodableMimeTypes, getLogger, setLogger`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.springframework.core.codec.Encoder

`getEncodableMimeTypes`

## Field Details

### DEFAULT_CHARSET

public static final Charset DEFAULT_CHARSET
The default charset used by the encoder.

## Method Details

### canEncode

public boolean canEncode(ResolvableType elementType, @Nullable MimeType mimeType)
Description copied from interface: `Encoder`
Whether the encoder supports the given source element type and the MIME type for the output stream.

Specified by:
  `canEncode` in interface `Encoder<CharSequence>`
Overrides:
  `canEncode` in class `AbstractEncoder<CharSequence>`
Parameters:
  `elementType` - the type of elements in the source stream
  `mimeType` - the MIME type for the output stream (can be `null` if not specified)
Returns:
  `true` if supported, `false` otherwise

### encode

public reactor.core.publisher.Flux<DataBuffer> encode(Publisher<? extends CharSequence> inputStream, DataBufferFactory bufferFactory, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable Map<String,Object> hints)
Description copied from interface: `Encoder`
Encode a stream of Objects of type `T` into a `DataBuffer` output stream.

Parameters:
  `inputStream` - the input stream of Objects to encode. If the input should be encoded as a single value rather than as a stream of elements, an instance of `Mono` should be used.
  `bufferFactory` - for creating output stream `DataBuffer`'s
  `elementType` - the expected type of elements in the input stream; this type must have been previously passed to the `Encoder.canEncode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)` method and it must have returned `true`.
  `mimeType` - the MIME type for the output content (optional)
  `hints` - additional information about how to encode
Returns:
  the output stream

### encodeValue

public DataBuffer encodeValue(CharSequence charSequence, DataBufferFactory bufferFactory, ResolvableType valueType, @Nullable MimeType mimeType, @Nullable Map<String,Object> hints)
Description copied from interface: `Encoder`
Encode an Object of type T to a data buffer. This is useful for scenarios, that distinct messages (or events) are encoded and handled individually, in fully aggregated form.

By default this method raises `UnsupportedOperationException` and it is expected that some encoders cannot produce a single buffer or cannot do so synchronously (for example, encoding a `Resource`).

Parameters:
  `charSequence` - the value to be encoded
  `bufferFactory` - for creating the output `DataBuffer`
  `valueType` - the type for the value being encoded
  `mimeType` - the MIME type for the output content (optional)
  `hints` - additional information about how to encode
Returns:
  the encoded content

### textPlainOnly

public static CharSequenceEncoder textPlainOnly()
Create a `CharSequenceEncoder` that supports only "text/plain".

### allMimeTypes

public static CharSequenceEncoder allMimeTypes()
Create a `CharSequenceEncoder` that supports all MIME types.