Project Name: Customer Info Database Extension Author: Matthew Tse Due Date: 01/31/2017 Submission Date: 01/31/2017 source: package view CustomerManagement package model Customer CustomerList Person package dhl InputValidator UserInputHandler Class CustomerManagement - public class CustomerManagement from package view The CustomerManagement object that displays options to the user interface Specification - main public static void main(String[] args) instantiates UserInputHandler instantiates CustomerList Returns: null Class CustomerList - public class CustomerList from package model a CustomerList object persists Customer objects in a TreeMap object. TreeMap object leveraging the customer ID as the key and a Customer object as the value. Specification - addCustomer public boolean addCustomer(String custDetail) add customer to customerList Parameters: custDetail - a comma delimited string of Customer Details Returns: The status of whether or not the customer details have been added to the mappedCustomer TreeMap object - removeCustomer public boolean removeCustomer(string custID) removes customer from customerList Parameters: custID - the unique ID of the customer Returns: The status whether the customer was removed from customerList - getCustomerListSize public boolean getCustomerListSize gets the size of the customerList Parameters: null Returns: The status whether customerList object has a size - showCustomers public void showCustomers() displays all customers to the screen via system Parameters: null Returns: null - updateCustomerInfo public boolean updateCustomerInfo(string custID, int optionFlag, String newVal) update info for customer based on user choice Parameters: custID - the unique ID of the customer optionFlag - user directed options for income, credit score, and age newVal - the new value to set to the accessed customer Returns: The status whether the customer in customerList appropriate field was updated - searchCustDb public Customer searchCustDb(string custID) Parameters: custID - the unique ID of the customer Returns: the Customer object from the unique ID Class Customer - public class Customer extends Person from package model A Customer object that contains the properties of a customer and Person object Specification - Constructor for the Customer getters and setters - getId gets the Id of Customer object Parameters: null Returns: id - setId sets the Id of Customer object Parameters: null Returns: id - getIncome gets the income of Customer object Parameters: null Returns: income - setIncome sets the income of Customer object Parameters: null Returns: income - getcScore gets the credit score of Customer object Parameters: null Returns: cScore - setcScore- sets the credit score of Customer object Parameters: null Returns: cScore Class Person - public class Person from package model an abstract class Person object extended by the Customer object Specification - Constructor for the Person getters and setters - getFName gets the first name of Person object Parameters: null Returns: FName - setFName sets the first name of Person object Parameters: null Returns: FName - getLName gets the Last name of Person object Parameters: null Returns: LName - setLName sets the Last name of Person object Parameters: null Returns: LName - getAge gets the age of Person object Parameters: null Returns: age - setAge sets the age of Person object Parameters: null Returns: age Class InputValidator - public class InputValidator from package dhl The InputValidator object that validates user input Specification - public boolean validate(String userInput, int flag, int typeFlag) Validates any user input based on type, checks for invalid characters and informs them of errors. Also calls method confirm() Parameters: input - the user input flag - String or Number validation typeFlag - determines type of number Returns: validInput boolean depending returned values - public boolean validateString(String userInput) validates string input Parameters: userInput - input from the user Returns: validInput boolean - public boolean validateNum(String userInput, int flag) validates number input Parameters: userInput - input from the user flag - type of number to check Returns: validInput boolean - public class ErrorGetter ErrorGetter object that returns user input when invalid along with standard message Parameters: null Returns: partialInput message and user input Class UserInputHandler - public class UserInputHandler from package dhl UserInputHandler object that handles user input from keyboard Specification - Constructor for UserInputHandler instantiates Scanner object Precondition: System.in - public String getAlphaNum(String inputString) gets alpha numeric string Parameters: inputString - string of input Returns: outputText value - public String getString(String inputString) gets string value Parameters: inputString - string of input Returns: outputText value string - public String getNum(String input, int typeFlag) gets numerical values Parameters: input - user input typeFlag - type of number Returns: outputText value string - public String processOutput(String processInput) removes whitespace from a string Parameters: processInput - input value Returns: processOutput string value - public boolean getMatchedItems(string list, String compareValue) compares a value to a comma separated list Parameters: list - customer details as a list compareValue - the value to compare to list Returns: validVal boolean - public boolean confirmInput() prompts the user to confirm input with up to 3 tries Parameters: null Returns: valid confirmation of user input - public void exit(int status) standard system exit Parameters: status - exit status Returns: null