Files
ecoparasite-data-analyse/src/ecoparasite/representation/ValeursXY.java
2026-04-29 10:07:05 +02:00

58 lines
1.6 KiB
Java

package ecoparasite.representation;
import java.util.HashSet;
import java.util.function.Function;
/**
* Représente un tuple de Valeurs X/Y pour nos données.
* Ce type de données est utilisé lors de la conversion entre nos données et la partie SVG.
*/
public class ValeursXY {
private double x;
private double y;
/**
* Constructeur
* @param x Notre valeur correspondant à l'axe X.
* @param y Notre valeur correspondant à l'axe Y.
*/
public ValeursXY(double x, double y){
this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
/**
* Permet de convertir un type de données en valeursXY.
* @param list Notre liste de données de type T.
* @param getX Notre getter pour notre valeur symbolisant X.
* @param getY Notre getter pour notre valeur symbolisant Y.
* @return Un HashSet de valeursXY.
* @param <T> Le type de données qui vont être converties.
* @param <V> Le type de données retournées comme un nombre.
*/
public static <T,V extends Number> HashSet<ValeursXY> convertToXY(HashSet<T> list, Function<T,V> getX, Function<T,V> getY){
HashSet<ValeursXY> xy = new HashSet<ValeursXY>();
for(T item : list){
if(getX.apply(item) != null && getY.apply(item) != null){
xy.add( new ValeursXY(getX.apply(item).doubleValue(), getY.apply(item).doubleValue()));
}
}
return xy;
}
}