Class ReactiveJaxbEncoder

java.lang.Object
org.springframework.core.codec.AbstractEncoder<Object>
org.springframework.core.codec.AbstractSingleValueEncoder<Object>
org.bremersee.xml.http.codec.ReactiveJaxbEncoder
All Implemented Interfaces:
org.springframework.core.codec.Encoder<Object>

public class ReactiveJaxbEncoder extends org.springframework.core.codec.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.

The encoding parts are taken from Jaxb2XmlEncoder.

Author:
Sebastien Deleuze, Arjen Poutsma, Christian Bremer
  • Field Summary

    Fields inherited from class org.springframework.core.codec.AbstractEncoder

    logger
  • Constructor Summary

    Constructors
    Constructor
    Description
    Instantiates a new reactive jaxb encoder.
    ReactiveJaxbEncoder(JaxbContextBuilder jaxbContextBuilder, Set<Class<?>> ignoreWritingClasses)
    Instantiates a new reactive jaxb encoder.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    canEncode(@NonNull org.springframework.core.ResolvableType elementType, @Nullable org.springframework.util.MimeType mimeType)
     
    protected @NonNull reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>
    encode(@NonNull Object value, @NonNull org.springframework.core.io.buffer.DataBufferFactory bufferFactory, @NonNull org.springframework.core.ResolvableType valueType, @Nullable org.springframework.util.MimeType mimeType, @Nullable Map<String,Object> hints)
     
    @NonNull org.springframework.core.io.buffer.DataBuffer
    encodeValue(@NonNull Object value, @NonNull org.springframework.core.io.buffer.DataBufferFactory bufferFactory, @NonNull org.springframework.core.ResolvableType valueType, @Nullable org.springframework.util.MimeType mimeType, @Nullable Map<String,Object> hints)
     

    Methods inherited from class org.springframework.core.codec.AbstractSingleValueEncoder

    encode

    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

    • ReactiveJaxbEncoder

      public ReactiveJaxbEncoder(JaxbContextBuilder jaxbContextBuilder)
      Instantiates a new reactive jaxb encoder.
      Parameters:
      jaxbContextBuilder - the jaxb context builder
    • ReactiveJaxbEncoder

      public ReactiveJaxbEncoder(JaxbContextBuilder jaxbContextBuilder, Set<Class<?>> ignoreWritingClasses)
      Instantiates a new reactive jaxb encoder.
      Parameters:
      jaxbContextBuilder - the jaxb context builder
      ignoreWritingClasses - ignore writing classes
  • Method Details

    • canEncode

      public boolean canEncode(@NonNull org.springframework.core.ResolvableType elementType, @Nullable org.springframework.util.MimeType mimeType)
      Specified by:
      canEncode in interface org.springframework.core.codec.Encoder<Object>
      Overrides:
      canEncode in class org.springframework.core.codec.AbstractEncoder<Object>
    • encode

      protected @NonNull reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> encode(@NonNull Object value, @NonNull org.springframework.core.io.buffer.DataBufferFactory bufferFactory, @NonNull org.springframework.core.ResolvableType valueType, @Nullable org.springframework.util.MimeType mimeType, @Nullable Map<String,Object> hints)
      Specified by:
      encode in class org.springframework.core.codec.AbstractSingleValueEncoder<Object>
    • encodeValue

      public @NonNull org.springframework.core.io.buffer.DataBuffer encodeValue(@NonNull Object value, @NonNull org.springframework.core.io.buffer.DataBufferFactory bufferFactory, @NonNull org.springframework.core.ResolvableType valueType, @Nullable org.springframework.util.MimeType mimeType, @Nullable Map<String,Object> hints)