Class CoalitionBuilder

java.lang.Object
com.tnsai.coordination.groups.coalition.CoalitionBuilder

public final class CoalitionBuilder extends Object
Builder for creating Coalition instances.

Usage Example


 Coalition coalition = Coalition.builder()
     .goal("Complete market analysis")
     .formation(CoalitionFormation.CAPABILITY_BASED)
     .rewardDistribution(RewardDistribution.SHAPLEY)
     .minMembers(2)
     .maxMembers(5)
     .coalitionValue(100.0)
     .add(agent1, agent2, agent3)
     .autoNegotiate(true)
     .build();
 
  • Method Details

    • id

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

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

      public CoalitionBuilder description(String description)
      Sets the coalition description.
      Parameters:
      description - description
      Returns:
      this builder
    • goal

      public CoalitionBuilder goal(String goal)
      Sets the coalition goal (required).
      Parameters:
      goal - goal description
      Returns:
      this builder
    • formation

      public CoalitionBuilder formation(CoalitionFormation formation)
      Sets the formation strategy.
      Parameters:
      formation - formation strategy
      Returns:
      this builder
    • rewardDistribution

      public CoalitionBuilder rewardDistribution(RewardDistribution distribution)
      Sets the reward distribution strategy.
      Parameters:
      distribution - distribution strategy
      Returns:
      this builder
    • coalitionValue

      public CoalitionBuilder coalitionValue(double value)
      Sets the initial coalition value.
      Parameters:
      value - coalition value
      Returns:
      this builder
    • minMembers

      public CoalitionBuilder minMembers(int min)
      Sets minimum required members.
      Parameters:
      min - minimum members
      Returns:
      this builder
    • maxMembers

      public CoalitionBuilder maxMembers(int max)
      Sets maximum allowed members.
      Parameters:
      max - maximum members
      Returns:
      this builder
    • policy

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

      public CoalitionBuilder add(com.tnsai.agents.Agent agent)
      Adds a potential member.
      Parameters:
      agent - agent to add
      Returns:
      this builder
    • add

      public CoalitionBuilder add(com.tnsai.agents.Agent... agents)
      Adds multiple potential members.
      Parameters:
      agents - agents to add
      Returns:
      this builder
    • addAll

      public CoalitionBuilder addAll(List<com.tnsai.agents.Agent> agents)
      Adds multiple potential members.
      Parameters:
      agents - agents to add
      Returns:
      this builder
    • autoNegotiate

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

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

      public Coalition build()
      Builds the Coalition.
      Returns:
      new Coalition instance
      Throws:
      IllegalStateException - if goal not set