Definition: A member is a person who has registered and may bowl in a particular league.  The member is backed by a Bowler entry, which has basic personal information about the member.  Each Member object will have an unique ID that is different from the Bowler ID.  This is because a Member has a particular delivery.  If a person uses two different deliveries, then two Member entries must be created.  They will both have the same backing Bowler entry.  USBC requires separate statistics to be maintained for each delivery type for an individual.

Variables:  Variables here

  Modifier Class Name Value
    Integer serializableVersionUID 1234567

Characteristics:

  Tic name object
Delivery (Left, Right, Both) Delivery Enum
Nickname String
Bowler Bowler object
Personal Phone String
Entering Pins Integer
Entering Games Integer
Team Team Object or null
Team Position Integer

Requirments:

 
  • Ticable
  • HasID
  • 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.
  • Boolean isSub() returns if the Member is not on any Team.
  • Boolean hasWon(AwardCriterisID) returns if the Member has already won this award.
  • String getName() returns the name of the Member.