diff options
Diffstat (limited to 'src/main/java/musichub/util')
-rw-r--r-- | src/main/java/musichub/util/LogHandler.java | 68 | ||||
-rw-r--r-- | src/main/java/musichub/util/PathValidation.java | 49 |
2 files changed, 117 insertions, 0 deletions
diff --git a/src/main/java/musichub/util/LogHandler.java b/src/main/java/musichub/util/LogHandler.java new file mode 100644 index 0000000..988b149 --- /dev/null +++ b/src/main/java/musichub/util/LogHandler.java @@ -0,0 +1,68 @@ +package musichub.util; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardOpenOption; +import java.sql.Timestamp; + +/** + * Class offering a log writing method. + * + * @author Aimeric ADJUTOR + * @version 1.0 + */ + +public final class LogHandler { + + /** + * Method that just throws an AssertionError if the class is called + * + * @throws AssertionError you can't instantiate this class + * @author Aimeric ADJUTOR + */ + + public LogHandler() { + throw new AssertionError("You just can't instantiate this class."); + } + + /** + * Method that writes a log message to spoteezer.log + * + * @param msg the message to write + * @param type the type of log + * @throws IOException if the file's not there + */ + public static void write(String msg, String type) throws IOException { + + Timestamp timestamp = new Timestamp(System.currentTimeMillis()); + + //Create the log using the given message + String logMsg = "\n[" + timestamp + "] " + type + ": " + msg; + + // Define the file name of the file + Path fileName = Path.of("log/spoteezer.log"); + + // Write into the file + Files.writeString(fileName, logMsg, StandardOpenOption.APPEND); + + + } + + /** + * Method that prints the content of spoteezer.log + * + * @throws IOException if the file's not there + */ + public static void read() throws IOException { + Path fileName = Path.of("log/spoteezer.log"); + + // Read the content of the file + String file_content = Files.readString(fileName); + + // Print the content inside the file + System.out.println("\n" + file_content + "\n"); + + } + +}
\ No newline at end of file diff --git a/src/main/java/musichub/util/PathValidation.java b/src/main/java/musichub/util/PathValidation.java new file mode 100644 index 0000000..ea00c24 --- /dev/null +++ b/src/main/java/musichub/util/PathValidation.java @@ -0,0 +1,49 @@ +package musichub.util; + +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +/** + * Class offering a path validation method. + * + * @author Aimeric ADJUTOR + * @version 1.0 + */ + +public final class PathValidation { + + /** + * Method that just throws an AssertionError if the class is called + * + * @throws AssertionError you can't instantiate this class + * @author Aimeric ADJUTOR + */ + + public PathValidation() { + throw new AssertionError("You just can't instantiate this class."); + } + + /** + * Method that checks the validity of a given path and file. + * + * @param inputPath the path given by the user + * @return a boolean + */ + + public static boolean isPathValid(String inputPath) { + boolean isExtensionValid = false; + + int index = inputPath.lastIndexOf('.'); + if (index > 0) { + String extension = inputPath.substring(index + 1); + if (extension.equals("wav")) { + isExtensionValid = true; + } + } + + Path path = Paths.get(inputPath); + return (Files.exists(path) & isExtensionValid); + } + +}
\ No newline at end of file |