Class HierarchyBuilder

java.lang.Object
com.tnsai.coordination.groups.hierarchy.HierarchyBuilder

public final class HierarchyBuilder extends Object
Builder for creating Hierarchy instances.

Usage Example


 Hierarchy hierarchy = Hierarchy.builder()
     .name("Engineering Org")
     .root(cto)
     .member(cto, teamLead1)
     .member(cto, teamLead2)
     .member(teamLead1, dev1)
     .build();
 
  • Method Details

    • id

      public HierarchyBuilder id(String id)
      Sets the hierarchy ID.
      Parameters:
      id - hierarchy ID
      Returns:
      this builder
    • name

      public HierarchyBuilder name(String name)
      Sets the hierarchy name.
      Parameters:
      name - hierarchy name
      Returns:
      this builder
    • description

      public HierarchyBuilder description(String description)
      Sets the hierarchy description.
      Parameters:
      description - hierarchy description
      Returns:
      this builder
    • policy

      public HierarchyBuilder policy(com.tnsai.agents.groups.GroupPolicy policy)
      Sets the group policy.
      Parameters:
      policy - policy
      Returns:
      this builder
    • root

      public HierarchyBuilder root(com.tnsai.agents.Agent agent)
      Sets the root agent of the hierarchy.
      Parameters:
      agent - root agent
      Returns:
      this builder
    • member

      public HierarchyBuilder member(com.tnsai.agents.Agent parent, com.tnsai.agents.Agent child)
      Adds a parent-child relationship. Both agents will be added as members.
      Parameters:
      parent - parent agent
      child - child agent
      Returns:
      this builder
    • autoStart

      public HierarchyBuilder autoStart(boolean autoStart)
      Sets whether to auto-start after build.
      Parameters:
      autoStart - auto-start flag
      Returns:
      this builder
    • build

      public Hierarchy build()
      Builds the Hierarchy.
      Returns:
      new Hierarchy instance
      Throws:
      IllegalStateException - if root is not set