Package org.springframework.core.codec
Class DataBufferEncoder
java.lang.Object
org.springframework.core.codec.AbstractEncoder<DataBuffer>
org.springframework.core.codec.DataBufferEncoder
- All Implemented Interfaces:
Encoder<DataBuffer>
Simple pass-through encoder for
DataBuffers
.- Since:
- 5.0
- Author:
- Arjen Poutsma
-
Field Summary
Fields inherited from class org.springframework.core.codec.AbstractEncoder
logger
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
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 DataBuffer> inputStream, DataBufferFactory bufferFactory, ResolvableType elementType, MimeType mimeType, Map<String, Object> hints) Encode a stream of Objects of typeT
into aDataBuffer
output stream.encodeValue
(DataBuffer buffer, DataBufferFactory bufferFactory, ResolvableType valueType, MimeType mimeType, Map<String, Object> hints) Encode an Object of type T to a data buffer.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
-
Constructor Details
-
DataBufferEncoder
public DataBufferEncoder()
-
-
Method Details
-
canEncode
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 interfaceEncoder<DataBuffer>
- Overrides:
canEncode
in classAbstractEncoder<DataBuffer>
- Parameters:
elementType
- the type of elements in the source streammimeType
- the MIME type for the output stream (can benull
if not specified)- Returns:
true
if supported,false
otherwise
-
encode
public reactor.core.publisher.Flux<DataBuffer> encode(Publisher<? extends DataBuffer> inputStream, DataBufferFactory bufferFactory, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable Map<String, Object> hints) Description copied from interface:Encoder
Encode a stream of Objects of typeT
into aDataBuffer
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 ofMono
should be used.bufferFactory
- for creating output streamDataBuffer
'selementType
- the expected type of elements in the input stream; this type must have been previously passed to theEncoder.canEncode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)
method and it must have returnedtrue
.mimeType
- the MIME type for the output content (optional)hints
- additional information about how to encode- Returns:
- the output stream
-
encodeValue
public DataBuffer encodeValue(DataBuffer buffer, 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 (e.g. encoding aResource
).- Parameters:
buffer
- the value to be encodedbufferFactory
- for creating the outputDataBuffer
valueType
- the type for the value being encodedmimeType
- the MIME type for the output content (optional)hints
- additional information about how to encode- Returns:
- the encoded content
-