Class JAXBCoder<T>

  • Type Parameters:
    T - type of JAXB annotated objects that will be serialized.
    All Implemented Interfaces:
    java.io.Serializable

    public class JAXBCoder<T>
    extends org.apache.beam.sdk.coders.CustomCoder<T>
    A coder for JAXB annotated objects. This coder uses JAXB marshalling/unmarshalling mechanisms to encode/decode the objects. Users must provide the Class of the JAXB annotated object.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.apache.beam.sdk.coders.Coder

        org.apache.beam.sdk.coders.Coder.Context, org.apache.beam.sdk.coders.Coder.NonDeterministicException
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      T decode​(java.io.InputStream inStream)  
      T decode​(java.io.InputStream inStream, org.apache.beam.sdk.coders.Coder.Context context)  
      void encode​(T value, java.io.OutputStream outStream)  
      void encode​(T value, java.io.OutputStream outStream, org.apache.beam.sdk.coders.Coder.Context context)  
      boolean equals​(@Nullable java.lang.Object other)  
      org.apache.beam.sdk.values.TypeDescriptor<T> getEncodedTypeDescriptor()  
      java.lang.Class<T> getJAXBClass()  
      int hashCode()  
      static <T> JAXBCoder<T> of​(java.lang.Class<T> jaxbClass)
      Create a coder for a given type of JAXB annotated objects.
      • Methods inherited from class org.apache.beam.sdk.coders.CustomCoder

        getCoderArguments, verifyDeterministic
      • Methods inherited from class org.apache.beam.sdk.coders.Coder

        consistentWithEquals, getEncodedElementByteSize, getEncodedElementByteSizeUsingCoder, isRegisterByteSizeObserverCheap, registerByteSizeObserver, structuralValue, verifyDeterministic, verifyDeterministic
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getJAXBClass

        public java.lang.Class<T> getJAXBClass()
      • of

        public static <T> JAXBCoder<T> of​(java.lang.Class<T> jaxbClass)
        Create a coder for a given type of JAXB annotated objects.
        Parameters:
        jaxbClass - the Class of the JAXB annotated objects.
      • encode

        public void encode​(T value,
                           java.io.OutputStream outStream)
                    throws java.io.IOException
        Specified by:
        encode in class org.apache.beam.sdk.coders.Coder<T>
        Throws:
        java.io.IOException
      • encode

        public void encode​(T value,
                           java.io.OutputStream outStream,
                           org.apache.beam.sdk.coders.Coder.Context context)
                    throws java.io.IOException
        Overrides:
        encode in class org.apache.beam.sdk.coders.Coder<T>
        Throws:
        java.io.IOException
      • decode

        public T decode​(java.io.InputStream inStream)
                 throws java.io.IOException
        Specified by:
        decode in class org.apache.beam.sdk.coders.Coder<T>
        Throws:
        java.io.IOException
      • decode

        public T decode​(java.io.InputStream inStream,
                        org.apache.beam.sdk.coders.Coder.Context context)
                 throws java.io.IOException
        Overrides:
        decode in class org.apache.beam.sdk.coders.Coder<T>
        Throws:
        java.io.IOException
      • getEncodedTypeDescriptor

        public org.apache.beam.sdk.values.TypeDescriptor<T> getEncodedTypeDescriptor()
        Overrides:
        getEncodedTypeDescriptor in class org.apache.beam.sdk.coders.Coder<T>
      • equals

        public boolean equals​(@Nullable java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object