package com.github.cbpos1989.codingChallenge.banking_app;
/**
* Class to hold state and behaviour for an customer Object
*
* @author Colm O'Sullivan, Alex Scanlan, Joe Murphy & Przemek Stepien (Sam)
*
*/
import java.util.ArrayList;
public abstract class Customer implements Auditable{
//States of Customer class
private String name;
private String address;
private String phoneNum;
ArrayList<Account> accList = new ArrayList<Account>();
//Constructors for Customer class
public Customer(){
this("","","");
}
public Customer(String name, String address, String phoneNum){
this.name = name;
this.address = address;
this.phoneNum = phoneNum;
}
//Getter and Setter Methods for Customer class
public String getName (){
return this.name;
}
public void setName (String name){
this.name = name;
}
public String getAddress(){
return this.address;
}
public void setAddress(String address){
this.address = address;
}
public String getPhoneNum(){
return this.phoneNum;
}
public void setPhoneNumber(String phoneNum){
this.phoneNum = phoneNum;
}
public Account getAccount(int i){
return this.accList.get(i);
}
public void setAccount(Account acc){
accList.add(acc);
}
public int checkAccQty(){
return this.accList.size();
}
public String toString(){
return "Name: " + this.name + "\nAddress: " + this.address + "\nPhone Num: " + this.phoneNum;
}
}