Class LeaderFollowerTeam

java.lang.Object
net.officefloor.frame.impl.spi.team.LeaderFollowerTeam
All Implemented Interfaces:
Team

public class LeaderFollowerTeam extends Object implements Team
Team implementation of many Thread instances that follow the leader follower pattern.
Author:
Daniel Sagenschneider
  • Field Details

    • teamMembers

      protected final net.officefloor.frame.impl.spi.team.LeaderFollowerTeam.TeamMember[] teamMembers
      LeaderFollowerTeam.TeamMember instances.
  • Constructor Details

    • LeaderFollowerTeam

      public LeaderFollowerTeam(int teamMemberCount, ThreadFactory threadFactory, long waitTime)
      Initiate with the name of team.
      Parameters:
      teamMemberCount - Number of LeaderFollowerTeam.TeamMember instances within this LeaderFollowerTeam.
      threadFactory - ThreadFactory.
      waitTime - Time to wait in milliseconds for a Job.
  • Method Details

    • startWorking

      public void startWorking()
      Description copied from interface: Team
      Indicates for the Team to start working.
      Specified by:
      startWorking in interface Team
    • assignJob

      public void assignJob(Job job)
      Description copied from interface: Team
      Assigns a Job to be executed by this Team.
      Specified by:
      assignJob in interface Team
      Parameters:
      job - Job.
    • stopWorking

      public void stopWorking()
      Description copied from interface: Team

      Indicates for the Team to stop working.

      This method should block and only return control when the Team has stopped working and is no longer assigned Job instances to complete.

      Specified by:
      stopWorking in interface Team