Class Builder

  • All Implemented Interfaces:

    
    public final class Builder
    
                        

    Container for the annotation-based Dag-authoring API.

    This class is not instantiated directly. Its nested annotations drive the BuilderProcessor annotation processor, which generates a *Builder class for each class annotated with Dag.

    Example:

    @Builder.Dag(id = "my_pipeline")
    public class MyPipeline {
    
        @Builder.Task(id = "extract")
        public long extract(Client client) { ... }
    
        @Builder.Task(id = "transform")
        public long transform(Client client, @Builder.XCom(task = "extract") long extracted) { ... }
    }

    The processor generates MyPipelineBuilder.build(), which returns a fully wired-up Dag ready to add to a Bundle.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      public @interface Builder.Dag

      Annotation to automate a Dag-builder pattern.

      When applied on a class Foo, this generates a FooBuilder class with a static build method to create the Dag structure automatically.

      public @interface Builder.Task

      Annotation to automate task definition in a Dag-builder pattern.

      public @interface Builder.XCom

      Annotation to mark a task definition's method parameter as an XCom input.

    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail