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.@XmlElementsand@XmlElementcan 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 booleancanEncode(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)EncodeTto an outputDataBufferstream.DataBufferencodeValue(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.voidsetMarshallerProcessor(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:EncoderWhether 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:AbstractSingleValueEncoderEncodeTto an outputDataBufferstream.- Specified by:
encodein 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:EncoderEncode 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
UnsupportedOperationExceptionand 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 outputDataBuffervalueType- 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