From 9fe033ea88c2f705ec18c232873d056e0c229d72 Mon Sep 17 00:00:00 2001 From: Gaspard Coulet Date: Wed, 28 Apr 2021 23:05:53 +0200 Subject: Initial commit --- .../HLIN505/src/TP4/AbstractAudioElement.java | 31 +++++++++++ .../HLIN505/src/TP4/IelementAudio.java | 12 +++++ .../src/TP4/IncorrectFileNameException.java | 18 +++++++ sem_5/HLIN505_Java/HLIN505/src/TP4/Iplaylist.java | 6 +++ .../HLIN505/src/TP4/SimplePlayList.java | 60 ++++++++++++++++++++++ sem_5/HLIN505_Java/HLIN505/src/TP4/Song.java | 41 +++++++++++++++ 6 files changed, 168 insertions(+) create mode 100644 sem_5/HLIN505_Java/HLIN505/src/TP4/AbstractAudioElement.java create mode 100644 sem_5/HLIN505_Java/HLIN505/src/TP4/IelementAudio.java create mode 100644 sem_5/HLIN505_Java/HLIN505/src/TP4/IncorrectFileNameException.java create mode 100644 sem_5/HLIN505_Java/HLIN505/src/TP4/Iplaylist.java create mode 100644 sem_5/HLIN505_Java/HLIN505/src/TP4/SimplePlayList.java create mode 100644 sem_5/HLIN505_Java/HLIN505/src/TP4/Song.java (limited to 'sem_5/HLIN505_Java/HLIN505/src/TP4') diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP4/AbstractAudioElement.java b/sem_5/HLIN505_Java/HLIN505/src/TP4/AbstractAudioElement.java new file mode 100644 index 0000000..078ece9 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP4/AbstractAudioElement.java @@ -0,0 +1,31 @@ +package TP4; + +import java.io.*; + +public abstract class AbstractAudioElement implements IelementAudio{ + private String Name; + private String Path; + private File fichier; + public String getName() { + return Name; + } + public void setName(String name) { + Name = name; + } + public String getPath() { + return Path; + } + public void setPath(String path) { + Path = path; + } + public File getFichier() { + return fichier; + } + public void setFichier(File fichier) { + this.fichier = fichier; + } + public AbstractAudioElement(String p){ + setPath(p); + fichier= new File(Path); + } +} diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP4/IelementAudio.java b/sem_5/HLIN505_Java/HLIN505/src/TP4/IelementAudio.java new file mode 100644 index 0000000..febe561 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP4/IelementAudio.java @@ -0,0 +1,12 @@ +package TP4; + +public interface IelementAudio { + public int getLength(); + public void setLength(int length); + public String getName(); + public void setName(String name); + public String getPath(); + public void setPath(String path); + public int getSize(); + public void setSize() throws SecurityException; +} diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP4/IncorrectFileNameException.java b/sem_5/HLIN505_Java/HLIN505/src/TP4/IncorrectFileNameException.java new file mode 100644 index 0000000..f819343 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP4/IncorrectFileNameException.java @@ -0,0 +1,18 @@ +package TP4; + +public class IncorrectFileNameException extends Exception { + /** + * + */ + private static final long serialVersionUID = 1L; + private String path; + public String getPath() { + return path; + } + public void setPath(String path) { + this.path = path; + } + public IncorrectFileNameException(String path){ + setPath(path); + } +} diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP4/Iplaylist.java b/sem_5/HLIN505_Java/HLIN505/src/TP4/Iplaylist.java new file mode 100644 index 0000000..58cfaff --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP4/Iplaylist.java @@ -0,0 +1,6 @@ +package TP4; + +public interface Iplaylist extends IelementAudio { + public int getnbElements(); + public void setNbElements(); +} diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP4/SimplePlayList.java b/sem_5/HLIN505_Java/HLIN505/src/TP4/SimplePlayList.java new file mode 100644 index 0000000..a65fc25 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP4/SimplePlayList.java @@ -0,0 +1,60 @@ +package TP4; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; + +public class SimplePlayList extends AbstractAudioElement implements Iplaylist{ + private ArrayList liste; + private int Length; + private int Size; + private int nbElements; + public SimplePlayList (String titre, String Path) throws IOException { + super(Path); + setName(titre); + if (!getFichier().exists()) { + getFichier().createNewFile(); + } + + + } + private void browseFile() throws IOException, NumberFormatException, IncorrectFileNameException { + BufferedReader read = new BufferedReader(new FileReader(getPath())); + String tmp = read.readLine(); + while (!tmp.isEmpty()) { + liste.add(new Song(Integer.parseInt(tmp.split("\\")[0]),tmp.split("\\")[1],tmp.split("\\")[2],tmp.split("\\")[3])); + tmp = read.readLine(); + } + read.close(); + } + public int getLength() { + return this.Length; + } + public void setLength() { + Length=0; + for ( Song s : liste) { + Length+=s.getLength(); + } + } + public int getSize() { + return this.Size; + } + public void setSize() throws SecurityException{ + Size = 0; + for(Song s : liste) { + Size+=s.getSize(); + } + } + public int getnbElements() { + return nbElements; + } + public void setNbElements() { + nbElements=liste.size(); + } + @Override + public void setLength(int length) { + // TODO Auto-generated method stub + + } + } diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP4/Song.java b/sem_5/HLIN505_Java/HLIN505/src/TP4/Song.java new file mode 100644 index 0000000..d82c94f --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP4/Song.java @@ -0,0 +1,41 @@ +package TP4; + +public class Song extends AbstractAudioElement { + private String artiste; + private int length; + private int size; + + public Song (int l, String t,String p, String a) throws IncorrectFileNameException{ + super(p); + setLength(l); + setArtiste(a); + setName(t); + setSize(); + if (!getFichier().exists()) { + throw new IncorrectFileNameException(p); + } + } + + public String getArtiste() { + return artiste; + } + public void setArtiste(String artiste) { + this.artiste = artiste; + } + public int getLength() { + return length; + } + + public void setLength(int length) { + this.length=length; + } + + public int getSize() { + return size; + } + + public void setSize() throws SecurityException { + this.size=(int)getFichier().length(); + } + +} -- cgit v1.2.3