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 Le type de données qui vont être converties. * @param Le type de données retournées comme un nombre. */ public static HashSet convertToXY(HashSet list, Function getX, Function getY){ HashSet xy = new HashSet(); 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; } }