diff --git a/src/main/java/fr/univlille/sae/classification/ClassificationApp.java b/src/main/java/fr/univlille/sae/classification/ClassificationApp.java deleted file mode 100644 index 629539234881dc47173492b0ab04392868b2c3c3..0000000000000000000000000000000000000000 --- a/src/main/java/fr/univlille/sae/classification/ClassificationApp.java +++ /dev/null @@ -1,10 +0,0 @@ -package fr.univlille.sae.classification; - -public class ClassificationApp { - - public static void main(String[] args) { - - } - - -} diff --git a/src/main/java/fr/univlille/sae/classification/ClassificationModel.java b/src/main/java/fr/univlille/sae/classification/ClassificationModel.java new file mode 100644 index 0000000000000000000000000000000000000000..486fe8ec212add72fc22bfa29508d09d54238e6d --- /dev/null +++ b/src/main/java/fr/univlille/sae/classification/ClassificationModel.java @@ -0,0 +1,44 @@ +package fr.univlille.sae.classification; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public class ClassificationModel { + + + private List<LoadableData> datas; + + public ClassificationModel() { + this.datas = new ArrayList<>(); + + } + + /** + * TODO + * @param x + * @param y + */ + private void ajouterDonnee(double x, double y) { + + } + + + /** + * TODO + * @param file + */ + private void loadData(File file) { + + } + + /** + * TODO + * @param data + */ + private void classifierDonnee(LoadableData data) { + + } + + +} diff --git a/src/main/java/fr/univlille/sae/classification/Iris.java b/src/main/java/fr/univlille/sae/classification/Iris.java new file mode 100644 index 0000000000000000000000000000000000000000..00687563ccfa71fbfd57491fc685b22a3d8ff05f --- /dev/null +++ b/src/main/java/fr/univlille/sae/classification/Iris.java @@ -0,0 +1,56 @@ +package fr.univlille.sae.classification; + +import java.util.Set; + +public class Iris extends LoadableData{ + + + private double sepalWidth; + private double sepalLength; + private double petalWidth; + private double petalLength; + + private static Set<String> classificationTypes; + + private String classification; + + + public Iris(double sepalWidth, double sepalLength, double petalWidth, double petalLength) { + this(sepalWidth, sepalLength, petalWidth, petalLength, "undefined"); + } + + public Iris(double sepalWidth, double sepalLength, double petalWidth, double petalLength, String classification) { + this.sepalWidth = sepalWidth; + this.sepalLength = sepalLength; + this.petalWidth = petalWidth; + this.petalLength = petalLength; + this.classification = classification; + } + + @Override + public String getClassification() { + return this.classification; + } + + @Override + public Set<String> getClassificationTypes() { + return classificationTypes; + } + + + public double getSepalWidth() { + return sepalWidth; + } + + public double getSepalLength() { + return sepalLength; + } + + public double getPetalWidth() { + return petalWidth; + } + + public double getPetalLength() { + return petalLength; + } +} diff --git a/src/main/java/fr/univlille/sae/classification/LoadableData.java b/src/main/java/fr/univlille/sae/classification/LoadableData.java new file mode 100644 index 0000000000000000000000000000000000000000..3513577cc1c9a25ba3422e4372f01bd18e660985 --- /dev/null +++ b/src/main/java/fr/univlille/sae/classification/LoadableData.java @@ -0,0 +1,13 @@ +package fr.univlille.sae.classification; + +import java.util.List; +import java.util.Set; + +public abstract class LoadableData { + + public abstract String getClassification(); + + public abstract Set<String> getClassificationTypes(); + + +} diff --git a/src/main/java/fr/univlille/sae/classification/utils/Observable.java b/src/main/java/fr/univlille/sae/classification/utils/Observable.java new file mode 100644 index 0000000000000000000000000000000000000000..78a076d96c9ba7fc6afd725bad3ad2e9e8a0d86c --- /dev/null +++ b/src/main/java/fr/univlille/sae/classification/utils/Observable.java @@ -0,0 +1,39 @@ +package fr.univlille.sae.classification.utils; + +import java.util.Collection; +import java.util.HashSet; + +public abstract class Observable { + + + protected Collection<Observer> attached = new HashSet<>(); + protected Collection<Observer> toDetach = new HashSet<>(); + + public void attach(Observer obs) { + attached.add(obs); + } + + public void detach(Observer obs) { + this.toDetach.add(obs); + } + + protected void notifyObservers() { + this.updateList(); + for (Observer o : attached) { + o.update(this); + } + } + + protected void notifyObservers(Object data) { + this.updateList(); + for (Observer o : attached) { + o.update(this, data); + } + } + + private void updateList() { + this.attached.removeAll(toDetach); + this.toDetach.clear(); + } + +} diff --git a/src/main/java/fr/univlille/sae/classification/utils/Observer.java b/src/main/java/fr/univlille/sae/classification/utils/Observer.java new file mode 100644 index 0000000000000000000000000000000000000000..e17a1a34c046e7a215b5afb60b6e712240813021 --- /dev/null +++ b/src/main/java/fr/univlille/sae/classification/utils/Observer.java @@ -0,0 +1,10 @@ +package fr.univlille.sae.classification.utils; + +public interface Observer { + + + void update(Observable observable); + void update(Observable observable, Object data); + + +}