Definition:  An Award is an object which stores the information about a specific award earned by a member.  USBC allows a bowler to only win one specific award in a season.  So, if a bowler qualifies for an award in two different leagues, he is only entitled to get one.  The Award Criteria object will determine eligibility for an award.  There are several types of awards; game and series.  Typically, awards are earned based on scratch pins and having an average under some value.  USBC did away with pins over game and pins over series awards in 2010, but some local associations still award them.  USBC, or national awards, are supplemented by State and local association awards.

Awards will be read in from a file.  New ones will be added if earned, and new ones may also be created by the user.

Issue:  One issue is how much information to put into the Award object.  Since they typically apply only to a season and league, the file would be placed there and the season and league identifiers need not be repeated in the Award object since that is implied.  That may need to be changed.

Another issue is keeping track of the awards earned by bowlers.  In some cases the award is earned once in a lifetime, so I have to be able to keep track of that so that the program doesn’t indicate they have won the award again.

Variables:  Variables here

  Modifier Class Name Value
    Integer serializableVersionUID 1234567

Characteristics:

  Tic name object
Member Member object
Contest Number Integer
Team Team object
Position Integer
Award Score Integer
AwardCriteria AwardCriteria object

Requirements:

 
  • Ticable
  • HasID
  • Serializable
  • Comparable and Comparator
  • Observable
  • new, create an instance
  • 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 setDefaultValues() method may be needed.
  • String getName() which returns the name of the bowler.