package org.javascool.proglets.dichotomie;
import static org.javascool.macros.Macros.*;
/** Définit les fonctions de la proglet qui permet d'implémenter un algorithme de dichotomie.
*
* @see <a href="Functions.java.html">code source</a>
* @serial exclude
*/
public class Functions {
private static final long serialVersionUID = 1L;
// @factory
private Functions() {}
/** Renvoie l'instance de la proglet pour accéder à ses éléments. */
private static Panel getPane() {
return getProgletPane();
}
/** Renvoie le nombre de page du livre. */
public static int length() {
return org.javascool.proglets.dichotomie.Panel.pays.length;
}
/** Ouvre le livre à une page et compare un nom au nom affiché sur cette page.
* @param name Le nom à comparer.
* @param index L'index de la page, de 0 à length() exclu.
* @return -1 si le nom se situe avant celui de la page, +1 si le nom se situe après celui de la page, 0 si il correspond à celui de la page.
*/
public static int compare(String name, int index) {
index = getPane().show(index);
return noAccent(name).compareTo(noAccent(org.javascool.proglets.dichotomie.Panel.pays[index][0]));
}
private static String noAccent(String name) {
return name.replaceAll("[éè]", "e").replace("É", "E").replace("Î", "I").replace("ô", "o").replace("ã", "a");
}
}