public class XmlEventDecoder extends AbstractDecoder<XMLEvent>
DataBuffer
stream into a stream of XMLEvents
.
Given the following XML:
<root> <child>foo</child> <child>bar</child> </root>this decoder will produce a
Flux
with the following events:
StartDocument
StartElement
root
StartElement
child
Characters
foo
EndElement
child
StartElement
child
Characters
bar
EndElement
child
EndElement
root
Note that this decoder is not registered by default but is used internally by other decoders which are registered by default.
logger
Constructor and Description |
---|
XmlEventDecoder() |
Modifier and Type | Method and Description |
---|---|
reactor.core.publisher.Flux<XMLEvent> |
decode(org.reactivestreams.Publisher<DataBuffer> input,
ResolvableType elementType,
MimeType mimeType,
Map<String,Object> hints)
Decode a
DataBuffer input stream into a Flux of T . |
int |
getMaxInMemorySize()
Return the
configured byte count limit. |
void |
setMaxInMemorySize(int byteCount)
Set the max number of bytes that can be buffered by this decoder.
|
canDecode, decodeToMono, getDecodableMimeTypes, getLogger, setLogger
public void setMaxInMemorySize(int byteCount)
DataBufferLimitException
is raised.
By default in 5.1 this is set to -1, unlimited. In 5.2 the default value for this limit is set to 256K.
byteCount
- the max number of bytes to buffer, or -1 for unlimitedpublic int getMaxInMemorySize()
configured
byte count limit.public reactor.core.publisher.Flux<XMLEvent> decode(org.reactivestreams.Publisher<DataBuffer> input, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable Map<String,Object> hints)
Decoder
DataBuffer
input stream into a Flux of T
.input
- the DataBuffer
input stream to decodeelementType
- the expected type of elements in the output stream;
this type must have been previously passed to the Decoder.canDecode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)
method and it must have returned true
.mimeType
- the MIME type associated with the input stream (optional)hints
- additional information about how to do encode