Class Jaxb2XmlEncoder
- java.lang.Object
- org.springframework.core.codec.AbstractEncoder<T>
- org.springframework.core.codec.AbstractSingleValueEncoder<Object>
- org.springframework.http.codec.xml.Jaxb2XmlEncoder
public class Jaxb2XmlEncoder extends AbstractSingleValueEncoder<Object>
Encode from single value to a byte stream containing XML elements.@XmlElements
and@XmlElement
can be used to specify how collections should be marshalled.- Since:
- 5.0
- Author:
- Sebastien Deleuze, Arjen Poutsma
- See Also:
Jaxb2XmlDecoder
Field Summary
Fields inherited from class org.springframework.core.codec.AbstractEncoder
logger
Constructor Summary
Constructors Constructor Description Jaxb2XmlEncoder()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canEncode(ResolvableType elementType, MimeType mimeType)
Whether the encoder supports the given source element type and the MIME type for the output stream.protected reactor.core.publisher.Flux<DataBuffer>
encode(Object value, DataBufferFactory bufferFactory, ResolvableType valueType, MimeType mimeType, Map<String,Object> hints)
EncodeT
to an outputDataBuffer
stream.DataBuffer
encodeValue(Object value, DataBufferFactory bufferFactory, ResolvableType valueType, MimeType mimeType, Map<String,Object> hints)
Encode an Object of type T to a data buffer.Function<Marshaller,Marshaller>
getMarshallerProcessor()
Return the configured processor for customizing Marshaller instances.void
setMarshallerProcessor(Function<Marshaller,Marshaller> processor)
Configure a processor function to customize Marshaller instances.Methods inherited from class org.springframework.core.codec.AbstractSingleValueEncoder
encode
Methods inherited from class org.springframework.core.codec.AbstractEncoder
getEncodableMimeTypes, getLogger, setLogger
Constructor Detail
Jaxb2XmlEncoder
public Jaxb2XmlEncoder()
Method Detail
setMarshallerProcessor
public void setMarshallerProcessor(Function<Marshaller,Marshaller> processor)
Configure a processor function to customize Marshaller instances.- Parameters:
processor
- the function to use- Since:
- 5.1.3
getMarshallerProcessor
public Function<Marshaller,Marshaller> getMarshallerProcessor()
Return the configured processor for customizing Marshaller instances.- Since:
- 5.1.3
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.
encode
protected reactor.core.publisher.Flux<DataBuffer> encode(Object value, DataBufferFactory bufferFactory, ResolvableType valueType, @Nullable MimeType mimeType, @Nullable Map<String,Object> hints)
Description copied from class:AbstractSingleValueEncoder
EncodeT
to an outputDataBuffer
stream.- Specified by:
encode
in classAbstractSingleValueEncoder<Object>
- Parameters:
value
- the value to processbufferFactory
- a buffer factory used to create the outputvalueType
- the stream element type to processmimeType
- the mime type to processhints
- additional information about how to do decode, optional- Returns:
- the output stream
encodeValue
public DataBuffer encodeValue(Object value, 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:
value
- 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