From 726410f6776f9b670610235bd93e42511b7396aa Mon Sep 17 00:00:00 2001 From: Leonardo Brandenberger Date: Fri, 13 May 2022 16:12:55 +0200 Subject: [PATCH] Added Java Doc and Logger to Person --- .../projekt2/turnierverwaltung/Person.java | 68 +++++++++++++++++-- 1 file changed, 64 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/ch/zhaw/projekt2/turnierverwaltung/Person.java b/app/src/main/java/ch/zhaw/projekt2/turnierverwaltung/Person.java index 73e598b..4171ae1 100644 --- a/app/src/main/java/ch/zhaw/projekt2/turnierverwaltung/Person.java +++ b/app/src/main/java/ch/zhaw/projekt2/turnierverwaltung/Person.java @@ -1,7 +1,11 @@ package ch.zhaw.projekt2.turnierverwaltung; import java.io.Serializable; +import java.util.logging.Logger; +/** + * Class that represents a person and holds its attributes + */ public class Person implements Serializable { private final String NAME_MATCHING_REGEX = "[a-zA-Z]{1,20}"; private final String PHONE_MATCHING_REGEX = "[\\+]?[0-9]*"; @@ -10,43 +14,94 @@ public class Person implements Serializable { private String firstName; private String phoneNumber; + private static final Logger logger = Logger.getLogger(FileIO.class.getCanonicalName()); + + + /** + * Constructor to initialize a person, also in charge of checking if name and phone number follow a valid format + * + * @param firstName of the new person + * @param name of the new person + * @param phoneNumber of the new person + * @throws InvalidNameException thrown when the name or firstname does not follow the valid format + * @throws InvalidPhoneNumberException thrown when the number does not follow a valid format + */ public Person(String firstName, String name, String phoneNumber) throws InvalidNameException, InvalidPhoneNumberException { - if(!firstName.matches(NAME_MATCHING_REGEX)){ + logger.finer("Trying to initialize a new person with name: " + name + ", first name: " + + firstName + ", Phone number: " + phoneNumber); + if (!firstName.matches(NAME_MATCHING_REGEX)) { + logger.warning("First name: " + firstName + ", is not in a valid format"); throw new InvalidNameException("The First name is Invalid."); - } else if(!name.matches(NAME_MATCHING_REGEX)){ + } else if (!name.matches(NAME_MATCHING_REGEX)) { + logger.warning("Name: " + name + ", is not in a valid format"); throw new InvalidNameException("The Last name is Invalid"); - } else if(!phoneNumber.matches(PHONE_MATCHING_REGEX)){ + } else if (!phoneNumber.matches(PHONE_MATCHING_REGEX)) { + logger.warning("Phone number: " + phoneNumber + ", is not in a valid format"); throw new InvalidPhoneNumberException("The entered Phone Number is invalid."); } setFirstName(firstName); setName(name); setPhoneNumber(phoneNumber); + logger.fine("Successfully created a new Person with Name: " + name + ", Firstname: " + + firstName + ", Phone number: " + phoneNumber); } + /** + * Method to return the name of a Person + * + * @return the name as String + */ public String getName() { + logger.fine("Returning name of:" + name); return name; } + /** + * Method to set the name of a Person + * + * @param name of the person to be set + */ public void setName(String name) { + logger.fine("Setting new name of " + this + " with: " + name); this.name = name; } public String getFirstName() { + logger.fine("Returning firstname of " + this + "that is: " + firstName); return firstName; } + /** + * Method to set the first name of a Person + * + * @param firstName the person to be set + */ public void setFirstName(String firstName) { + logger.fine("Setting new first name of " + this + " with: " + firstName); this.firstName = firstName; } + /** + * Method used to get the Phone number of a Person + * @return phone number of the person + */ public String getPhoneNumber() { + logger.fine("returning phone number of " + this + "that is: " + phoneNumber); return phoneNumber; } + /** + * Method used to set the Phone number of a Person + * @param phoneNumber to be set + */ public void setPhoneNumber(String phoneNumber) { + logger.fine("Setting new phone number of " + this + " with: " + phoneNumber); this.phoneNumber = phoneNumber; } + /** + * Exception, that is used when a Phone number is in an invalid format. + */ public class InvalidPhoneNumberException extends Exception { public InvalidPhoneNumberException() { super(); @@ -58,8 +113,13 @@ public class Person implements Serializable { } + /** + * Overridden toString method to be Return the name in Format "Firstname Name". + * + * @return Returning the Name in format "Firstname Name" as String + */ @Override - public String toString(){ + public String toString() { return firstName + " " + name; }