All Implemented Interfaces:
DataExceptionContributor, JsonSerializable, RecordSerializable, XmlSerializable, DataWriterFactory, JavaCodeGenerator, Serializable
Direct Known Subclasses:
DataWriterPipelineOutput, FileSinkPipelineOutput, JdbcPipelineOutput, ProxyPipelineOutput

public abstract class PipelineOutput extends PipelineObject implements DataWriterFactory
Base class for the destinations a pipeline writes its records to, such as CSV, Excel, fixed-width, JSON or XML files and JDBC tables.
See Also:
  • Constructor Details

    • PipelineOutput

      public PipelineOutput()
  • Method Details

    • getName

      public abstract String getName()
      Returns a display name for this output, such as the destination's name followed by its format.
    • getNestedPipelineOutput

      public PipelineOutput getNestedPipelineOutput()
      Returns the PipelineOutput held inside this one or null if there isn't one.
    • getRootPipelineOutput

      public PipelineOutput getRootPipelineOutput()
      Returns the deepest, nested PipelineOutput held inside this one, otherwise this instance is returned if there aren't any nested PipelineOutputs.
    • getPipelineOutput

      public <T extends PipelineOutput> T getPipelineOutput(Class<T> type)
      Searches for a nested PipelineOutput of the specified type within this pipeline output hierarchy.

      This method first checks if the current instance is assignable to the specified type. If not, it traverses through all nested PipelineOutputs to find one that matches the type.

      Type Parameters:
      T - the type of PipelineOutput to search for
      Parameters:
      type - the class of the PipelineOutput type to find
      Returns:
      the first matching PipelineOutput of the specified type, or null if not found
    • fromRecord

      public PipelineOutput fromRecord(Record source)
      Description copied from interface: RecordSerializable
      Loads this instance's state from a record and returns this (for fluid API call chaining). For fluid API call chaining, the overridden method should change the declared return type to its class.
      Specified by:
      fromRecord in interface RecordSerializable
      Overrides:
      fromRecord in class Bean
      Parameters:
      source -
      Returns:
      this instance.
    • toXmlElement

      public Element toXmlElement(Document document)
      Description copied from interface: XmlSerializable
      Returns an element, created with document, describing this object; the default implementation throws a DataException.
      Specified by:
      toXmlElement in interface XmlSerializable