Class XmlIO.Read<T>

All Implemented Interfaces:
Serializable, HasDisplayData
Enclosing class:
XmlIO

public abstract static class XmlIO.Read<T> extends PTransform<PBegin,PCollection<T>>
Implementation of XmlIO.read().
See Also:
  • Constructor Details

    • Read

      public Read()
  • Method Details

    • from

      public XmlIO.Read<T> from(String fileOrPatternSpec)
      Reads a single XML file or a set of XML files defined by a Java "glob" file pattern. Each XML file should be of the form defined in XmlIO.read().
    • from

      public XmlIO.Read<T> from(ValueProvider<String> fileOrPatternSpec)
      Reads a single XML file or a set of XML files defined by a Java "glob" file pattern. Each XML file should be of the form defined in XmlIO.read(). Using ValueProviders.
    • withRootElement

      public XmlIO.Read<T> withRootElement(String rootElement)
      Sets name of the root element of the XML document. This will be used to create a valid starting root element when initiating a bundle of records created from an XML document. This is a required parameter.
    • withRecordElement

      public XmlIO.Read<T> withRecordElement(String recordElement)
      Sets name of the record element of the XML document. This will be used to determine offset of the first record of a bundle created from the XML document. This is a required parameter.
    • withRecordClass

      public XmlIO.Read<T> withRecordClass(Class<T> recordClass)
      Sets a JAXB annotated class that can be populated using a record of the provided XML file. This will be used when unmarshalling record objects from the XML file. This is a required parameter.
    • withMinBundleSize

      public XmlIO.Read<T> withMinBundleSize(long minBundleSize)
      Sets a parameter minBundleSize for the minimum bundle size of the source. Please refer to OffsetBasedSource for the definition of minBundleSize. This is an optional parameter.
    • withCompressionType

      @Deprecated public XmlIO.Read<T> withCompressionType(XmlIO.Read.CompressionType compressionType)
    • withCompression

      public XmlIO.Read<T> withCompression(Compression compression)
      Decompresses all input files using the specified compression type.
    • withCharset

      public XmlIO.Read<T> withCharset(Charset charset)
      Sets the XML file charset.
    • withValidationEventHandler

      public XmlIO.Read<T> withValidationEventHandler(ValidationEventHandler validationEventHandler)
      Sets the ValidationEventHandler to use with JAXB. Calling this with a null parameter will cause the JAXB unmarshaller event handler to be unspecified.
    • populateDisplayData

      public void populateDisplayData(DisplayData.Builder builder)
      Description copied from class: PTransform
      Register display data for the given transform or component.

      populateDisplayData(DisplayData.Builder) is invoked by Pipeline runners to collect display data via DisplayData.from(HasDisplayData). Implementations may call super.populateDisplayData(builder) in order to register display data in the current namespace, but should otherwise use subcomponent.populateDisplayData(builder) to use the namespace of the subcomponent.

      By default, does not register any display data. Implementors may override this method to provide their own display data.

      Specified by:
      populateDisplayData in interface HasDisplayData
      Overrides:
      populateDisplayData in class PTransform<PBegin,PCollection<T>>
      Parameters:
      builder - The builder to populate with display data.
      See Also:
    • expand

      public PCollection<T> expand(PBegin input)
      Description copied from class: PTransform
      Override this method to specify how this PTransform should be expanded on the given InputT.

      NOTE: This method should not be called directly. Instead apply the PTransform should be applied to the InputT using the apply method.

      Composite transforms, which are defined in terms of other transforms, should return the output of one of the composed transforms. Non-composite transforms, which do not apply any transforms internally, should return a new unbound output and register evaluators (via backend-specific registration methods).

      Specified by:
      expand in class PTransform<PBegin,PCollection<T>>