<#3251 [flytekit-java] Add typed transform outputs...
# flyte-github
a
#3251 [flytekit-java] Add typed transform outputs Issue created by andresgomezfrr Motivation: Why do you think this is important? Right now the user needs to know the output of a task because the only way to get it is using the
getOutput("<attributeName>")
. This is difficult during the development because you need to check the output class or docs to know what are the available types, also writing the name manually produces typos errors that only appear at registration time. The proposal here is to have some way to use the output class during the workflow development on that way you can access directly to the output class attributes. Goal: What should the final outcome look like, ideally? SumTaskOutput class
Copy code
@AutoValue
  public abstract static class SumOutput {

    public abstract SdkBindingData<Long> c();

    public static SumOutput create(SdkBindingData<Long> c) {
      return new AutoValue_SumTask_SumOutput(c);
    }
  }
Current status:
Copy code
SdkBindingData fib3 = builder.apply("fib-3", SumTask.of(fib1, fib2)).getOutput("c");
Desire status:
Copy code
SdkBindingData fib3 = builder.apply("fib-3", SumTask.of(fib1, fib2)).getOutputs().c();
This allows the user to auto-discover the output attributes using an IDE, and also. check that you choose only available attributes at compile time. Describe alternatives you've considered no alternatives Propose: Link/Inline OR Additional context flyteorg/flytekit-java#164 Are you sure this issue hasn't been raised already? ☑︎ Yes Have you read the Code of Conduct? ☑︎ Yes flyteorg/flyte