Interface ExternalTransformBuilder<ConfigT,InputT extends PInput,OutputT extends POutput>

Type Parameters:
ConfigT - A configuration object which will be populated with the external configuration.
InputT - The input type of the externally configured PTransform.
OutputT - The output type of the externally configured PTransform.
All Known Implementing Classes:
DebeziumTransformRegistrar.ReadBuilder, ExternalRead.ReadBuilder, ExternalWrite.WriteBuilder, KinesisTransformRegistrar.ReadDataBuilder, KinesisTransformRegistrar.WriteBuilder, ReadBuilder, SpannerTransformRegistrar.DeleteBuilder, SpannerTransformRegistrar.InsertBuilder, SpannerTransformRegistrar.InsertOrUpdateBuilder, SpannerTransformRegistrar.ReadBuilder, SpannerTransformRegistrar.ReplaceBuilder, SpannerTransformRegistrar.UpdateBuilder, WriteBuilder

public interface ExternalTransformBuilder<ConfigT,InputT extends PInput,OutputT extends POutput>
An interface for building a transform from an externally provided configuration.

Classes which implement this interface will be instantiated externally and require a zero-args constructor. The buildExternal method will be called with the configuration object as a parameter.

This builder needs to be registered alongside with a URN through ExternalTransformRegistrar. Note that the configuration requires setters for all configuration parameters, e.g. if there is a parameter "start", there should be a corresponding setter "setStart".

  • Method Details

    • buildExternal

      PTransform<InputT,OutputT> buildExternal(ConfigT configuration)
      Builds the transform after it has been configured.
    • getDependencies

      default Optional<List<String>> getDependencies(ConfigT configuration, PipelineOptions options)
      List the dependencies needed for this transform. Jars from classpath are used by default when Optional.empty() is returned.