summaryrefslogtreecommitdiff
path: root/sem_5/HLIN505_Java/HLIN505/src/TP4
diff options
context:
space:
mode:
authorGaspard Coulet <gaspard.coulet@mines-ales.org>2021-04-28 23:05:53 +0200
committerGaspard Coulet <gaspard.coulet@mines-ales.org>2021-04-28 23:05:53 +0200
commit9fe033ea88c2f705ec18c232873d056e0c229d72 (patch)
tree0647dc8c51610c7336c88c04de2068ea14b21e17 /sem_5/HLIN505_Java/HLIN505/src/TP4
Initial commit
Diffstat (limited to 'sem_5/HLIN505_Java/HLIN505/src/TP4')
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/TP4/AbstractAudioElement.java31
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/TP4/IelementAudio.java12
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/TP4/IncorrectFileNameException.java18
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/TP4/Iplaylist.java6
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/TP4/SimplePlayList.java60
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/TP4/Song.java41
6 files changed, 168 insertions, 0 deletions
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<Song> 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();
+ }
+
+}