Code Cleanup in fileio, invalidnameexception and observers

This commit is contained in:
Leonardo Brandenberger 2022-05-13 18:36:08 +02:00
parent 6de4978145
commit b49ca9172d
4 changed files with 32 additions and 19 deletions

View File

@ -4,7 +4,14 @@ package ch.zhaw.projekt2.turnierverwaltung;
import javafx.collections.FXCollections; import javafx.collections.FXCollections;
import javafx.collections.ObservableList; import javafx.collections.ObservableList;
import java.io.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.URI; import java.net.URI;
import java.util.logging.Logger; import java.util.logging.Logger;
@ -12,8 +19,8 @@ import java.util.logging.Logger;
* Class in Charge of Reading and Writing files * Class in Charge of Reading and Writing files
*/ */
public class FileIO { public class FileIO {
private File mainDir; private final File mainDir;
private File saves; private final File saves;
private static final Logger logger = Logger.getLogger(FileIO.class.getCanonicalName()); private static final Logger logger = Logger.getLogger(FileIO.class.getCanonicalName());
@ -57,13 +64,14 @@ public class FileIO {
/** /**
* Method to check if a tournament with the existing name already exists. * Method to check if a tournament with the existing name already exists.
*
* @param name that is being checked * @param name that is being checked
* @return true if the name exists already false if the name is unique * @return true if the name exists already false if the name is unique
*/ */
public boolean tournamentExists(String name) { public boolean tournamentExists(String name) {
logger.finer("checking for duplicate name in tournament List"); logger.finer("checking for duplicate name in tournament List");
for (TournamentFile file : getList()) { for (TournamentFile file : getList()) {
if (file.toString().toLowerCase().equals(name.toLowerCase())) { if (file.toString().equalsIgnoreCase(name)) {
logger.fine(name + " is an already existing name in the list"); logger.fine(name + " is an already existing name in the list");
return true; return true;
} }
@ -73,10 +81,10 @@ public class FileIO {
} }
/** /**
* Loads and returns a tournament from a given File which contains the serialiazed tournament. * Loads and returns a tournament from a given File which contains the serialized tournament.
* *
* @param tournamentFile The tournament file where the data should be read from. * @param tournamentFile The tournament file where the data should be read from.
* @return Tournament that is returned when succefully being read from the file * @return Tournament that is returned when successfully being read from the file
* @throws ClassNotFoundException No definition for the class with the specified name could be found * @throws ClassNotFoundException No definition for the class with the specified name could be found
* @throws IOException File not readable * @throws IOException File not readable
* @throws FileNotFoundException File not found * @throws FileNotFoundException File not found
@ -119,7 +127,7 @@ public class FileIO {
} }
/** /**
* Serializables and saves the receiving tournament file to a txt file. * Serializable and saves the receiving tournament file to a txt file.
* *
* @param tournament the receiving tournament. * @param tournament the receiving tournament.
* @throws IOException File not readable * @throws IOException File not readable
@ -181,14 +189,14 @@ public class FileIO {
} }
/** /**
* TournamentFile Class is in use to add missing functionality that is * TournamentFile Class is in used to add missing functionality that is
*/ */
public class TournamentFile extends File { public static class TournamentFile extends File {
/** /**
* Only job the constructor got is to initialize it via its superclass. See java.io.File Documentation for more info. * Only job the constructor got is to initialize it via its superclass. See java.io.File Documentation for more info.
* *
* @param uri abstract pathname needed for its superclass to intialize the file accordingly. * @param uri abstract pathname needed for its superclass to initialize the file accordingly.
*/ */
public TournamentFile(URI uri) { public TournamentFile(URI uri) {
super(uri); super(uri);

View File

@ -1,10 +1,15 @@
package ch.zhaw.projekt2.turnierverwaltung; package ch.zhaw.projekt2.turnierverwaltung;
/**
* Invalid NameException is used to indicate when a given name does not follow the correct formatting.
*/
public class InvalidNameException extends Exception { public class InvalidNameException extends Exception {
public InvalidNameException() { /**
super(); * Constructor to throw the InvalidNameException, receives a String as input to define reason for throwing
} * the error.
*
* @param errorMessage to be displayed with the exception
*/
public InvalidNameException(String errorMessage) { public InvalidNameException(String errorMessage) {
super(errorMessage); super(errorMessage);
} }

View File

@ -2,18 +2,17 @@ package ch.zhaw.projekt2.turnierverwaltung;
/** /**
* Most basic interface for observing an object * Most basic interface for observing an object
* @author bles
* *
* @author bles
*/ */
public interface IsObservable { public interface IsObservable {
/** /**
* Add an observer that listens for updates * Add an observer that listens for updates
* @param observer
*/ */
void addListener(IsObserver observer); void addListener(IsObserver observer);
/** /**
* Remove an observer from the list * Remove an observer from the list
* @param observer
*/ */
void removeListener(IsObserver observer); void removeListener(IsObserver observer);
} }

View File

@ -1,11 +1,12 @@
package ch.zhaw.projekt2.turnierverwaltung; package ch.zhaw.projekt2.turnierverwaltung;
/** /**
* Most basic interface for beeing an observer * Most basic interface for being an observer
* @author bles
* *
* @author bles
*/ */
public interface IsObserver { public interface IsObserver {
/** /**
* This method is always called when an observed object * This method is always called when an observed object
* changes * changes