Interface SectionBuilder

All Known Implementing Classes:
CheckResultsSection, GpuSummarySection, JsonStateSection, TransitionHistorySection, WorkflowDescriptionSection, WorkflowFileSection, WorkflowNameSection

public interface SectionBuilder
POJO interface for section builders.

This is a pure POJO interface - it does NOT extend CallableByActionName. Each section builder POJO should be wrapped by a corresponding IIAR class that exposes actions via @Action annotations.

Design principle:

  • POJO contains business logic only
  • IIAR handles String argument parsing and action dispatch
  • This separation enables distributed actor messaging (messages are always strings)

Example:

// POJO - pure business logic
public class WorkflowNameSection implements SectionBuilder {
    public String generate() {
        return "[Workflow Name]\n" + workflowName + "\n";
    }
}

// IIAR - action dispatch
public class WorkflowNameSectionIIAR extends IIActorRef<WorkflowNameSection> {
    @Action("generate")
    public ActionResult generate(String args) {
        return new ActionResult(true, object.generate());
    }
}
Since:
2.16.0
Author:
devteam@scivicslab.com
  • Method Summary

    Modifier and Type
    Method
    Description
    Generates the section content.
    default String
    Returns the section title.
  • Method Details

    • generate

      Generates the section content.
      Returns:
      the section content as a string
    • getTitle

      default String getTitle()
      Returns the section title.

      If null or empty, the section content is output without a title line.

      Returns:
      the section title, or null for no title