A close look at PersonalAutoCovCostData

Look at the methods on the gw.lob.pa.rating.PersonalAutoCovCostData class, which is the most complex of the personal auto cost data objects. This class extends the PACostData class, parameterized on the corresponding entity type PersonalAutoCovCost. The class declares its superclass in Gosu generics syntax as shown below.

class PersonalAutoCovCostData extends PACostData<PersonalAutoCovCost> {

The angle bracket notation indicates the use of Gosu generics. This declaration shows that the class extends the PACostData generic class to work with the class PersonalAutoCovCost. This syntax allows the definition of PACostData to be written in a general way to work with many types of data, but be type-safe at compile time. Some of the rating code uses this parameter to determine which Cost entity subtype to create.

The class contains properties for the vehicle’s FixedId property and the coverage’s FixedId property. These fixed IDs are encapsulated in a Key object.

var _vehicleID : Key
var _covID : Key