StageFour
this is main contact class which object is present contactsunknown
java
4 years ago
6.4 kB
2
Indexable
package contacts; import java.io.Serializable; import java.time.LocalDateTime; import java.util.List; import java.util.Scanner; public abstract class StageFour implements Serializable { StageFour() { setCreationDte(); setEditionHistory(); } transient protected Scanner scanner = new Scanner(System.in); protected String name; protected String number; protected LocalDateTime creationDte; protected LocalDateTime editionHistory; public abstract String displayFields(); public abstract String displayInfo(); public abstract void changeFields(); public abstract String displayReaction(String field); public abstract void addData(); protected void setName(String name) { this.name = name; } protected String getName() { return name; } protected void setNumber(String number) { if (Utils.isValid(number)) { this.number = number; } } protected String getNumber() { return number; } protected void setCreationDte() { creationDte = LocalDateTime.now(); } protected String getCreationDate() { return String.valueOf(creationDte); } protected void setEditionHistory() { editionHistory = LocalDateTime.now(); } protected String getEditionHistory() { return String.valueOf(editionHistory); } } class Person extends StageFour implements Serializable { private String surname; private String birthDate; private String gender; public String getSurname() { return surname; } public void setSurname(String surname) { this.surname = surname; } public String getBirthDate() { return birthDate; } public void setBirthDate(String birthDate) { this.birthDate = birthDate; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } @Override public String displayFields() { return getName() + " " + getSurname(); } @Override public String displayInfo() { return "Name: " + getName() + "\n" + "Surname: " + getSurname() + "\n" + "Birth date: " + getBirthDate() + " \n" + "Gender: " + getGender() + "\n" + "Number: " + getNumber() + "\n" + "Time created: " + getCreationDate() + "\n" + "Time last edit: " + getEditionHistory() + "\n"; } @Override public void changeFields() { System.out.println("Select a field (name, surname, birth, gender, number): "); switch (scanner.nextLine()) { case "name": System.out.println("Enter name: "); setName(scanner.nextLine()); break; case "surname": System.out.println("Enter surname: "); setSurname(scanner.nextLine()); break; case "number": System.out.println("Enter number: "); setNumber(scanner.nextLine()); break; case "birth": System.out.println("Enter birth: "); setBirthDate(scanner.nextLine()); case "gender": System.out.println("Enter gender: "); setGender(scanner.nextLine()); default: System.out.println("Command not found"); } setEditionHistory(); System.out.println("Saved"); } @Override public String displayReaction(String field) { return ""; } @Override public void addData() { System.out.println("Enter the name: "); setName(scanner.nextLine()); System.out.println("Enter the surname: "); setSurname(scanner.nextLine()); System.out.println("Enter the birth date: "); String birthDate = scanner.nextLine(); setBirthDate(String.valueOf(Utils.checkBirthDate(birthDate))); System.out.println("Enter the gender: "); setGender(scanner.nextLine()); System.out.println("Enter the number: "); setNumber(scanner.nextLine()); System.out.println("The record added. "); } } class Organization extends StageFour implements Serializable { private String address; public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String displayFields() { return getName(); } @Override public String displayInfo() { return "Organization name: " + getName() + "\n" + "Address: " + getAddress() + "\n" + "Number: " + getNumber() + "\n" + "Time created: " + getCreationDate() + "\n" + "Time last edit: " + getEditionHistory() + "\n"; } @Override public void changeFields() { System.out.println("Select a field (name, address, number): "); switch (scanner.nextLine()) { case "name": System.out.println("Enter name: "); setName(scanner.nextLine()); break; case "number": System.out.println("Enter number: "); setNumber(scanner.nextLine()); break; case "address": System.out.println("Enter address: "); setAddress(scanner.nextLine()); break; default: System.out.println("Command not found: "); } setEditionHistory(); System.out.println("Saved"); } @Override public String displayReaction(String field) { return null; } @Override public void addData() { System.out.println("Enter the organization name: "); setName(scanner.nextLine()); System.out.println("Enter the address: "); setAddress(scanner.nextLine()); System.out.println("Enter then number: "); setName(scanner.nextLine()); System.out.println("The record added. "); } }
Editor is loading...