T
- the type of elements in the input streampublic interface Encoder<T>
<T>
into an output
stream of bytes.Modifier and Type | Method and Description |
---|---|
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 T> inputStream,
DataBufferFactory bufferFactory,
ResolvableType elementType,
MimeType mimeType,
Map<String,Object> hints)
Encode a stream of Objects of type
T into a DataBuffer
output stream. |
default DataBuffer |
encodeValue(T value,
DataBufferFactory bufferFactory,
ResolvableType valueType,
MimeType mimeType,
Map<String,Object> hints)
Encode an Object of type T to a data buffer.
|
List<MimeType> |
getEncodableMimeTypes()
Return the list of MIME types supported by this Encoder.
|
default List<MimeType> |
getEncodableMimeTypes(ResolvableType elementType)
Return the list of MIME types supported by this Encoder for the given type
of element.
|
boolean canEncode(ResolvableType elementType, @Nullable MimeType mimeType)
elementType
- the type of elements in the source streammimeType
- the MIME type for the output stream
(can be null
if not specified)true
if supported, false
otherwisereactor.core.publisher.Flux<DataBuffer> encode(Publisher<? extends T> inputStream, DataBufferFactory bufferFactory, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable Map<String,Object> hints)
T
into a DataBuffer
output stream.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
'selementType
- the expected type of elements in the input stream;
this type must have been previously passed to the 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 encodedefault DataBuffer encodeValue(T value, DataBufferFactory bufferFactory, ResolvableType valueType, @Nullable MimeType mimeType, @Nullable Map<String,Object> hints)
By default this method raises UnsupportedOperationException
and it is expected that some encoders cannot produce a single buffer or
cannot do so synchronously (e.g. encoding a Resource
).
value
- the value to be encodedbufferFactory
- for creating the output DataBuffer
valueType
- the type for the value being encodedmimeType
- the MIME type for the output content (optional)hints
- additional information about how to encodeList<MimeType> getEncodableMimeTypes()
canEncode(elementType, null)
. The list may also exclude MIME types
supported only for a specific element type. Alternatively, use
getEncodableMimeTypes(ResolvableType)
for a more precise list.default List<MimeType> getEncodableMimeTypes(ResolvableType elementType)
getEncodableMimeTypes()
if the Encoder doesn't support the element type or if it supports it only
for a subset of MIME types.elementType
- the type of element to check for encoding