Vehicle Data

Vehicle could have been real simple...

Year
+ Year(String, String)
+ getCode() : String
+ getName() : String
Make
+ Make(String, String)
+ getCode() : String
+ getName() : String
Model
+ Model(String, String)
+ getCode() : String
+ getName() : String
Engine
+ Engine(String, String)
+ getCode() : String
+ getName() : String
Vehicle
+ Vehicle(Year, Make, Model, Engine)
+ getYear() : Year
+ getMake() : Make
+ getModel() : Model
+ getEngine() : Engine
+ toString() : String

...but for truck models...

Year
+ Year(String, String)
+ getCode() : String
+ getName() : String
Make
+ Make(String, String)
+ Make(String, String, String)
+ hasTrucks() : boolean
+ getTruckCode() : String
+ getCode() : String
+ getName() : String
Model
+ Model(String, String)
+ Model(String, String, boolean)
+ isTruck() : boolean
+ getCode() : String
+ getName() : String
Engine
+ Engine(String, String)
+ getCode() : String
+ getName() : String

...and specific conditions...

Question
+ Question(int, String, Answer[])
+ getType() : int
+ isBoolean() : boolean
+ isMultiAnswer() : boolean
+ isMultiChoice() : boolean
+ getQuestion() : String
+ getAnswer() : Answer
+ getAnswers() : Answer[]
+ compareTo(Object) : int
+ makeCopy() : Question
Answer
+ Answer(String, String)
+ getCode() : String
+ getName() : String
+ isAnswered() : boolean
+ isYes() : boolean
+ setYes(boolean)
+ setDontKnow()
+ makeCopy() : Answer
Vehicle
+ Vehicle(Year, Make, Model, Engine)
+ getYear() : Year
+ getMake() : Make
+ getModel() : Model
+ getEngine() : Engine
+ toString() : String
+ getQuestions() : Question[]
+ addQuestions(Question[])
+ getDescription() : String
+ makeCopy() : Vehicle

...and equals() and hashCode()...

Year
+ Year(String, String)
+ getCode() : String
+ getName() : String
+ equals(Object) : boolean
+ hashCode() : int
+ toString() : String
Make
+ Make(String, String)
+ Make(String, String, String)
+ hasTrucks() : boolean
+ getTruckCode() : String
+ getCode() : String
+ getName() : String
+ equals(Object) : boolean
+ hashCode() : int
+ toString() : String
Model
+ Model(String, String)
+ Model(String, String, boolean)
+ isTruck() : boolean
+ getCode() : String
+ getName() : String
+ equals(Object) : boolean
+ hashCode() : int
+ toString() : String
Engine
+ Engine(String, String)
+ getCode() : String
+ getName() : String
+ equals(Object) : boolean
+ hashCode() : int
+ toString() : String

...and making copies...

Question
+ Question(int, String, Answer[])
+ getType() : int
+ isBoolean() : boolean
+ isMultiAnswer() : boolean
+ isMultiChoice() : boolean
+ getAnswer() : Answer
+ getAnswers() : Answer[]
+ getQuestion() : String
+ compareTo(Object) : int
+ makeCopy() : Question
Answer
+ Answer(String, String)
+ getCode() : String
+ getName() : String
+ isAnswered() : boolean
+ isYes() : boolean
+ setDontKnow()
+ setYes(boolean)
+ makeCopy() : Answer
Vehicle
+ Vehicle(Year, Make, Model, Engine)
+ getYear() : Year
+ getMake() : Make
+ getModel() : Model
+ getEngine() : Engine
+ toString() : String
+ getQuestions() : Question[]
+ addQuestions(Question[])
+ getDescription() : String
+ makeCopy() : Vehicle