Definition: A team is a group of members who compete against other teams within the league.  The team size, that is, the number of bowlers on the team is designated at the league level, and can vary from league to league.  Once set, the team size normally doesn’t vary during a season.  The members on the team, on the other hand, may vary during the season.  Substitute members may become a team member, a team member may change to become a substitute, a team member may resign and be replaced with a substitute, or some other change may occur.  A team has a normal lineup, or order in which the members bowl in competition.  This is called the member’s team position.  A team may change its lineup before any game but must keep it during that game.

Issue: Is the size really needed here, since it is kept at the league level?

Variables:  Variables here

  Modifier Class Name Value
    Integer serializableVersionUID 1234567

Characteristics:

  Tic name object
Name String
Team Number Integer
Team Size Integer (from League)
Members List<Member>

Requirments:

 
  • Ticable
  • HasID, but might not be used.
  • Serializable
  • Comparable and Comparator
  • Observable
  • new, to create a new instance using Tic default values.
  • RecordIO

Required Methods:

 
  • A no argument constructor.
  • Setters and getters for the characteristics.
  • The compare(Object, Object), compareTo(Object), and equals(Object) methods. (Comparable and Comparator)
  • Save() and Load() methods for saving/loading to a delimited file. (RecordIO)
  • Get a specific object using the ID.  The object may be in memory or need to be retrieved from a data store (file). (HasID)
  • A reset() method if the number of competitions or the number of teams changes.
  • A getName() method to return the team name.
  • A Member getMember(int position) method to return the Member who is at the given position.
  • A setMember(Member, int) method to set a Member at the given position.
  • A reset() method when the team size changed, although this shouldn’t happen, normally.