maj
This commit is contained in:
parent
cf41fae890
commit
1cc185f8eb
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,87 +1,19 @@
|
||||
nomEtudiant;note;pourcentage
|
||||
Alex Marechal;8.0;1.0
|
||||
Alexandre Berthelin;2.527640449438202;0.31595505617977526
|
||||
Alexis Legrand;6.112359550561798;0.7640449438202247
|
||||
Alexy Lefebvre;6.000898876404494;0.7501123595505618
|
||||
Amelie Bruniaux;6.238202247191011;0.7797752808988764
|
||||
Anais Blondel;4.5591011235955055;0.5698876404494382
|
||||
Anais Najdecki;3.358202247191011;0.4197752808988764
|
||||
Antoine Duponchelle;5.357303370786517;0.6696629213483146
|
||||
Antoine Ponchel;6.202247191011236;0.7752808988764045
|
||||
Apolline Michel;6.159101123595506;0.7698876404494382
|
||||
Arthur Willart;4.533932584269663;0.5667415730337079
|
||||
Aurelien Ben Yahia;6.03685393258427;0.7546067415730338
|
||||
Axel Aoumat;4.5447191011235955;0.5680898876404494
|
||||
Axel Cadart;5.928988764044944;0.741123595505618
|
||||
Aymeric Grenier;6.1986516853932585;0.7748314606741573
|
||||
Baptiste Fynnaert;3.9298876404494383;0.4912359550561798
|
||||
Camille Henneton - - Hecquet;6.112359550561798;0.7640449438202247
|
||||
Charles Carron;3.832808988764045;0.4791011235955056
|
||||
Chloe Mazur;6.058426966292135;0.7573033707865169
|
||||
Clara Bruneau;3.0921348314606742;0.3865168539325843
|
||||
Clement Legrand;6.479101123595505;0.8098876404494382
|
||||
Cyril Massart;4.264269662921349;0.5330337078651686
|
||||
Doriane Bernard;5.296179775280899;0.6620224719101123
|
||||
Elliot Pilawa;2.520993227990971;0.31512415349887135
|
||||
Elodie Vaesken;5.094831460674158;0.6368539325842697
|
||||
Enora-Lou Deplanque;2.3586516853932586;0.29483146067415733
|
||||
Esteban Devos Devulder;3.487640449438202;0.43595505617977526
|
||||
Gabriel Humain;6.166292134831461;0.7707865168539326
|
||||
Helene Adjal;5.727640449438202;0.7159550561797753
|
||||
Hugo Guffroy;5.544269662921348;0.6930337078651685
|
||||
Imen Belaiche;6.0332584269662926;0.7541573033707866
|
||||
Ines Aubier;5.713258426966292;0.7141573033707865
|
||||
Ines El Karami;6.09438202247191;0.7617977528089888
|
||||
Issam Benzemra--Petit;6.115955056179775;0.7644943820224719
|
||||
Jane Gosset;6.101573033707865;0.7626966292134831
|
||||
Jeremy Legros;3.8076404494382023;0.4759550561797753
|
||||
Julie Rohart;4.296629213483146;0.5370786516853933
|
||||
Justine Bertin;4.753258426966292;0.5941573033707865
|
||||
Justine Mikolajczak;4.774831460674157;0.5968539325842697
|
||||
Lali Vin;6.072808988764045;0.7591011235955056
|
||||
Lea Denys;5.979325842696629;0.7474157303370786
|
||||
Leo Marin;5.713258426966292;0.7141573033707865
|
||||
Lilian Lamorille;3.671011235955056;0.458876404494382
|
||||
Lisa Baran;6.223820224719101;0.7779775280898876
|
||||
Lucas Canon;5.824719101123596;0.7280898876404495
|
||||
Lucie Delong;5.051685393258427;0.6314606741573033
|
||||
Luna Hemery;5.662921348314606;0.7078651685393258
|
||||
Maeline Humez;6.464719101123595;0.8080898876404494
|
||||
Manon Cassel;5.785168539325842;0.7231460674157303
|
||||
Martin Pilot;5.288988764044944;0.661123595505618
|
||||
Mateo Darras;3.8076404494382023;0.4759550561797753
|
||||
Matheo Guerineau;6.195056179775281;0.7743820224719101
|
||||
Matheo Normand;6.115955056179775;0.7644943820224719
|
||||
Mathilde Carlier;2.912359550561798;0.36404494382022473
|
||||
Mathilde Konury;5.547865168539325;0.6934831460674157
|
||||
Mathis Carlier;6.173483146067416;0.771685393258427
|
||||
Mathys Calesse;4.922247191011236;0.6152808988764045
|
||||
Mehdi Boutchich;2.844044943820225;0.3555056179775281
|
||||
Melanie Bouchoir;5.637752808988764;0.7047191011235955
|
||||
Melusine Miletti;4.670561797752809;0.5838202247191011
|
||||
Mickael Lenclud;3.102483069977427;0.38781038374717836
|
||||
Noah Desfachelles;3.581123595505618;0.44764044943820225
|
||||
Noah Halluin;1.1593679458239277;0.14492099322799096
|
||||
Oceane Decroix;4.526741573033708;0.5658426966292135
|
||||
Quentin Stautemas;5.641348314606741;0.7051685393258427
|
||||
Raphael Rivaux;1.90561797752809;0.23820224719101124
|
||||
Remi Delaval;3.221573033707865;0.40269662921348315
|
||||
Remi Delvalle;5.4040449438202245;0.6755056179775281
|
||||
Remy Maeght;2.782921348314607;0.34786516853932586
|
||||
Romain Bruni;6.195056179775281;0.7743820224719101
|
||||
Romain Delrue;5.831910112359551;0.7289887640449438
|
||||
Ronan Bourdrel;6.004494382022472;0.750561797752809
|
||||
Simon Ducrocq;6.777528089887641;0.8471910112359551
|
||||
Solene Marien;6.115955056179775;0.7644943820224719
|
||||
Stefan Gaudin;1.7474157303370788;0.21842696629213484
|
||||
Tanguy Delavier;5.623370786516854;0.7029213483146067
|
||||
Theo Duprez;4.965393258426967;0.6206741573033708
|
||||
Theo Justin;4.156404494382023;0.5195505617977528
|
||||
Theo Rouze;6.187865168539326;0.7734831460674157
|
||||
Theo Verlet;5.993707865168539;0.7492134831460674
|
||||
Thomas Renard;4.778426966292135;0.5973033707865169
|
||||
Thomas Thevenin;3.688988764044944;0.461123595505618
|
||||
Tristan Quesson;3.9370786516853933;0.49213483146067416
|
||||
Tyffene Viseur;5.939775280898877;0.7424719101123596
|
||||
Vytto Scilironi;3.376179775280899;0.4220224719101124
|
||||
Yvonnick Levis;6.202247191011236;0.7752808988764045
|
||||
Alexine Zajac;5.869872701555869;0.5869872701555869
|
||||
Anthony Logez;9.603960396039604;0.9603960396039604
|
||||
Clara Dauchy;10.0;1.0
|
||||
Clement Lespagnol;1.0608203677510608;0.10608203677510608
|
||||
Colin Morel;10.0;1.0
|
||||
Corentin Caffet;1.0891089108910892;0.10891089108910891
|
||||
Elisa Deretz;10.0;1.0
|
||||
Elsa Vasseur;2.14992927864215;0.214992927864215
|
||||
Eowyn Beugin;6.082036775106082;0.6082036775106082
|
||||
Gwendoline Labarre;9.92927864214993;0.9929278642149929
|
||||
Jennifer Sabatini;10.0;1.0
|
||||
Kenza Kessad;4.766619519094767;0.4766619519094767
|
||||
Lila Lembrez;10.0;1.0
|
||||
Lowan Corne;10.0;1.0
|
||||
Marie Bouteleux;6.152758132956153;0.6152758132956153
|
||||
Nathanael Ducatel;10.0;1.0
|
||||
Paul Poire;10.0;1.0
|
||||
Tom Outreman;10.0;1.0
|
||||
|
|
@ -581,7 +581,7 @@ public class Classeur2 {
|
||||
|
||||
|
||||
/**
|
||||
* Permet de vérifier les modifications interdites
|
||||
* Permet de vérifier les modifications interdites.<br>
|
||||
* @author pabr6
|
||||
*
|
||||
*/
|
||||
@ -651,58 +651,58 @@ public class Classeur2 {
|
||||
private TreeMap<Integer,formatsConditionnels> formatConditionnel = new TreeMap<Integer,formatsConditionnels>();
|
||||
private TreeMap<String,String> nommageCellulesFeuille = new TreeMap<String,String>();
|
||||
|
||||
/**
|
||||
* Chargement du sujet
|
||||
* @param fe
|
||||
*/
|
||||
public feuille(node fe) {
|
||||
// chargement du sujet
|
||||
if(fe.getAttributs().get("nomFeuille")!=null) nomFeuille=fe.getAttributs().get("nomFeuille");
|
||||
if(fe.getAttributs().get("styleLigne")!=null) styleLigne=fe.getAttributs().get("styleLigne");
|
||||
if(fe.getAttributs().get("Poids")!=null) Poids=fe.getAttributs().get("Poids");
|
||||
if(fe.getAttributs().get("evaluer")!=null) evaluer=fe.getAttributs().get("evaluer");
|
||||
if(fe.getAttributs().get("link")!=null) link=fe.getAttributs().get("link");
|
||||
if(fe.getAttributs().get("linktitle")!=null) linktitle=fe.getAttributs().get("linktitle");
|
||||
|
||||
node comm = fe.retourneFirstEnfant("communication");
|
||||
if(!comm.isVide()) communication=comm.getContenu().get(0);
|
||||
|
||||
//nommage
|
||||
for (Entry<String, String> j : nommageCellules.entrySet()) {
|
||||
nommageCellulesFeuille.put(j.getKey(), j.getValue());
|
||||
}
|
||||
ArrayList<node> noms = fe.retourneAllEnfants("nommagecellulesfeuille");
|
||||
for(int i=0; i < noms.size();i++) {
|
||||
nommageCellulesFeuille.put(noms.get(i).getAttributs().get("name"),noms.get(i).getAttributs().get("cells"));
|
||||
}
|
||||
|
||||
//colonnes chargement sujet
|
||||
ArrayList<node> nods= fe.retourneAllEnfants("colonne");
|
||||
for(int i = 0 ; i < nods.size();i++) {
|
||||
colonnes.put( i , new colonne(nods.get(i),nods.get(i).getAttributs().get("RefColonne")));
|
||||
}
|
||||
nods.clear();
|
||||
|
||||
//lignes chargement sujet
|
||||
nods= fe.retourneAllEnfants("ligne");
|
||||
for(int i=0 ; i < nods.size();i++) {
|
||||
if(i>commandes.analysis_nbr_Ligne_maxi) break;
|
||||
lignes.put(i, new ligne(nods.get(i), nods.get(i).getAttributs().get("RefLigne")));
|
||||
}
|
||||
|
||||
//graphics chargement sujet
|
||||
nods= fe.retourneAllEnfants("graphic");
|
||||
for(int i=0 ; i < nods.size();i++) {
|
||||
graphics.put(i, new graphic(nods.get(i)));
|
||||
}
|
||||
|
||||
//format conditionnel
|
||||
nods= fe.retourneAllEnfants("formatsConditionnels");
|
||||
for(int i=0 ; i < nods.size();i++) {
|
||||
formatConditionnel.put(i, new formatsConditionnels(nods.get(i)));
|
||||
}
|
||||
|
||||
}
|
||||
// /**
|
||||
// * Chargement du sujet
|
||||
// * @param fe
|
||||
// */
|
||||
// public feuille(node fe) {
|
||||
// // chargement du sujet
|
||||
// if(fe.getAttributs().get("nomFeuille")!=null) nomFeuille=fe.getAttributs().get("nomFeuille");
|
||||
// if(fe.getAttributs().get("styleLigne")!=null) styleLigne=fe.getAttributs().get("styleLigne");
|
||||
// if(fe.getAttributs().get("Poids")!=null) Poids=fe.getAttributs().get("Poids");
|
||||
// if(fe.getAttributs().get("evaluer")!=null) evaluer=fe.getAttributs().get("evaluer");
|
||||
// if(fe.getAttributs().get("link")!=null) link=fe.getAttributs().get("link");
|
||||
// if(fe.getAttributs().get("linktitle")!=null) linktitle=fe.getAttributs().get("linktitle");
|
||||
//
|
||||
// node comm = fe.retourneFirstEnfant("communication");
|
||||
// if(!comm.isVide()) communication=comm.getContenu().get(0);
|
||||
//
|
||||
// //nommage
|
||||
// for (Entry<String, String> j : nommageCellules.entrySet()) {
|
||||
// nommageCellulesFeuille.put(j.getKey(), j.getValue());
|
||||
// }
|
||||
// ArrayList<node> noms = fe.retourneAllEnfants("nommagecellulesfeuille");
|
||||
// for(int i=0; i < noms.size();i++) {
|
||||
// nommageCellulesFeuille.put(noms.get(i).getAttributs().get("name"),noms.get(i).getAttributs().get("cells"));
|
||||
// }
|
||||
//
|
||||
// //colonnes chargement sujet
|
||||
// ArrayList<node> nods= fe.retourneAllEnfants("colonne");
|
||||
// for(int i = 0 ; i < nods.size();i++) {
|
||||
// colonnes.put( i , new colonne(nods.get(i),nods.get(i).getAttributs().get("RefColonne")));
|
||||
// }
|
||||
// nods.clear();
|
||||
//
|
||||
// //lignes chargement sujet
|
||||
// nods= fe.retourneAllEnfants("ligne");
|
||||
// for(int i=0 ; i < nods.size();i++) {
|
||||
// if(i>commandes.analysis_nbr_Ligne_maxi) break;
|
||||
// lignes.put(i, new ligne(nods.get(i), nods.get(i).getAttributs().get("RefLigne")));
|
||||
// }
|
||||
//
|
||||
// //graphics chargement sujet
|
||||
// nods= fe.retourneAllEnfants("graphic");
|
||||
// for(int i=0 ; i < nods.size();i++) {
|
||||
// graphics.put(i, new graphic(nods.get(i)));
|
||||
// }
|
||||
//
|
||||
// //format conditionnel
|
||||
// nods= fe.retourneAllEnfants("formatsConditionnels");
|
||||
// for(int i=0 ; i < nods.size();i++) {
|
||||
// formatConditionnel.put(i, new formatsConditionnels(nods.get(i)));
|
||||
// }
|
||||
//
|
||||
// }
|
||||
|
||||
|
||||
|
||||
@ -755,10 +755,12 @@ public class Classeur2 {
|
||||
nods=fe.retourneAllEnfants("table:table-row");
|
||||
System.out.println("Nbre de ligne = " + nods.size());
|
||||
int nombreRepetitionLigne = 0;
|
||||
for(int i=0 ; i < nods.size();i++) {
|
||||
if(i>0 && i<commandes.analysis_nbr_Ligne_maxi) if(lignes.get(i-1).getPropertiesRow().get("Repetition")!=null) {
|
||||
int nombreLigneMax = nods.size();
|
||||
if(nombreLigneMax>commandes.analysis_nbr_Ligne_maxi) nombreLigneMax = commandes.analysis_nbr_Ligne_maxi;
|
||||
for(int i=0 ; i < nombreLigneMax;i++) {
|
||||
if(i>0) if(lignes.get(i-1).getPropertiesRow().get("Repetition")!=null) {
|
||||
if(lignes.get(i-1).getPropertiesRow().get("Repetition")!=null) nombreRepetitionLigne = nombreRepetitionLigne + Integer.valueOf(lignes.get(i-1).getPropertiesRow().get("Repetition"))-1;
|
||||
}
|
||||
}
|
||||
lignes.put(i, new ligne(nods.get(i),String.valueOf(i+1+nombreRepetitionLigne),nod, indexStudent));
|
||||
}
|
||||
|
||||
@ -2625,13 +2627,13 @@ public class Classeur2 {
|
||||
private TreeMap<Integer,formatConditionnelConditions> conditionalformatConditions = new TreeMap<Integer,formatConditionnelConditions>();
|
||||
|
||||
|
||||
// chargement dans le node sujet.
|
||||
public formatsConditionnels(node nodeFormatsConditionnels ) {
|
||||
if(nodeFormatsConditionnels.getAttributs().get("targetRangeAddress")!=null) targetRangeAddress = nodeFormatsConditionnels.getAttributs().get("targetRangeAddress");
|
||||
for (node enfant : nodeFormatsConditionnels.getEnfants()) {
|
||||
|
||||
}
|
||||
}
|
||||
// // chargement dans le node sujet.
|
||||
// public formatsConditionnels(node nodeFormatsConditionnels ) {
|
||||
// if(nodeFormatsConditionnels.getAttributs().get("targetRangeAddress")!=null) targetRangeAddress = nodeFormatsConditionnels.getAttributs().get("targetRangeAddress");
|
||||
// for (node enfant : nodeFormatsConditionnels.getEnfants()) {
|
||||
//
|
||||
// }
|
||||
// }
|
||||
|
||||
// Chargement depuis le classeur de l'étudiant.
|
||||
public formatsConditionnels(node nodeFormatConditionnel,node nod, Integer indexStudent ) {
|
||||
|
@ -189,6 +189,7 @@ public class evaluerAttributs {
|
||||
private node trouveCelluleEtudiant(node cellule) {
|
||||
if(nEtudiant==null) return null;
|
||||
node Tempo = trouveLigneEtudiant();
|
||||
if(Tempo==null) return null;
|
||||
return Tempo.retourneFirstEnfant("cellule", "RefLigne", cellule.getAttributs().get("RefLigne"), "RefColonne", cellule.getAttributs().get("RefColonne"));
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,5 @@
|
||||
package evaluer;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import calc.commandes;
|
||||
import xml.creerNodeEvaluationEtudiant;
|
||||
import xml.node;
|
||||
@ -104,25 +101,21 @@ public class evaluerNodesClasseurStudent {
|
||||
|
||||
/**
|
||||
* Trouve le format conditionnel de l'étudiant.<br>
|
||||
* Pour trouver le format conditionnel, référence à baseCellAddress avec + ou - 2 lignes.<br>
|
||||
* Pour trouver le format conditionnel, référence à baseCellAddress avec + ou - 1 ligne.<br>
|
||||
* @param baseCellAddress
|
||||
* @return
|
||||
*/
|
||||
private node trouveLesFormatsConditionnelsEtudiant(String baseCellAddress) {
|
||||
if(baseCellAddress.indexOf("‽")!=-1) baseCellAddress = baseCellAddress.substring(0, baseCellAddress.indexOf("‽"));
|
||||
|
||||
// 🔥 Regex pour capturer le texte avant et après le 2e nombre
|
||||
String regex = "(.*?)(\\d+)(.*?\\d+)";
|
||||
|
||||
// ⚙️ Supprimer tout ce qui suit le 2e nombre
|
||||
String name = baseCellAddress.replaceAll(regex, "$1");
|
||||
|
||||
String number = baseCellAddress.replaceAll(regex, "$2"); // Supprime tout sauf les chiffres
|
||||
int ligneCellSujet = Integer.parseInt(number);
|
||||
String name1 = "^"+name+String.valueOf(ligneCellSujet)+".*";
|
||||
String name2 = "^"+name+String.valueOf(ligneCellSujet-1)+".*";
|
||||
String name3 = "^"+name+String.valueOf(ligneCellSujet+1)+".*";
|
||||
|
||||
if(nodeEtudiant!=null) {
|
||||
for (node enfantsEtudiant : nodeEtudiant.retourneAllEnfants("formatsConditionnels")) {
|
||||
String A = enfantsEtudiant.getAttributs().get("baseCellAddress");
|
||||
@ -133,7 +126,6 @@ public class evaluerNodesClasseurStudent {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,7 @@ import java.text.DateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import AnalyseCalc.AnalyseClasseur;
|
||||
import AnalyseCalc.analyseCalc;
|
||||
import AnalyseCalc.Classeur2;
|
||||
import AnalyseCalc.sousTotal;
|
||||
import AnalyseCalc.verifsujet;
|
||||
|
@ -16,8 +16,6 @@ import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
|
||||
|
||||
|
||||
public class node implements Cloneable{
|
||||
|
||||
protected String nameNode = "";
|
||||
@ -33,25 +31,51 @@ protected boolean nodeClose = false;
|
||||
* @author pablo rodriguez
|
||||
*
|
||||
*/
|
||||
|
||||
public node() {
|
||||
}
|
||||
/**
|
||||
* Constructeur d'un node vide.<br>
|
||||
*/
|
||||
public node() { }
|
||||
|
||||
/**
|
||||
* Constructeur d'un node ayant le nom nameNode.<br>
|
||||
* @param nameNode : le nom du node.
|
||||
*/
|
||||
public node(String nameNode) {
|
||||
setNameNode(nameNode);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructeur d'un node ayant le nom nameNode, de père le node parent.<br>
|
||||
* @param nameNode : le nom du node.
|
||||
* @param parent : le node père de ce node.
|
||||
*/
|
||||
public node(String nameNode, node parent) {
|
||||
setNameNode(nameNode);
|
||||
if(parent!=null) parent.addEnfant(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructeur d'un node ayant le nom nameNode, de père le node parent, d'attribut nameAttribut ayant la valeur valueAttribut.<br>
|
||||
* @param nameNode : le nom du node.
|
||||
* @param parent : le node père de ce node.
|
||||
* @param nameAttribut : le nom de l'attribut.
|
||||
* @param valueAttribut : la valeur de l'attribut.
|
||||
*/
|
||||
public node(String nameNode, node parent, String nameAttribut, String valueAttribut) {
|
||||
setNameNode(nameNode);
|
||||
if(parent!=null) parent.addEnfant(this);
|
||||
if(nameAttribut!=null) this.attributs.put(nameAttribut, valueAttribut);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructeur d'un node ayant le nom nameNode, de père le node parent, d'attributs nameAttribut1 et nameAttribut2 ayant les valeurs valueAttribut1 et valueAttribut2.<br>
|
||||
* @param nameNode : le nom du node.
|
||||
* @param parent : le node père de ce node.
|
||||
* @param nameAttribut1 : le nom de l'attribut1.
|
||||
* @param valueAttribut1 : la valeur de l'attribut1.
|
||||
* @param nameAttribut2 : le nom de l'attribut2.
|
||||
* @param valueAttribut2 : la valeur de l'attribut2.
|
||||
*/
|
||||
public node(String nameNode, node parent, String nameAttribut1, String valueAttribut1,String nameAttribut2, String valueAttribut2) {
|
||||
setNameNode(nameNode);
|
||||
if(parent!=null) parent.addEnfant(this);
|
||||
@ -59,54 +83,105 @@ protected boolean nodeClose = false;
|
||||
if(nameAttribut2!=null) this.attributs.put(nameAttribut2, valueAttribut2);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retourne TRUE si le node est fermé.<br>
|
||||
* Retourne FALSE si le node est ouvert.<br>
|
||||
* @return
|
||||
*/
|
||||
public boolean isNodeClose() {
|
||||
return nodeClose;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ferme ou ouvre le node.<br>
|
||||
* @param nodeClose : TRUE pour fermer ou FALSE pour ouvrir ce node.
|
||||
*/
|
||||
public void setNodeClose(boolean nodeClose) {
|
||||
this.nodeClose = nodeClose;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne TRUE si ce node contient l'attribut evaluer avec comme valeur true.<br>
|
||||
* Sinon retourne FALSE.<br>
|
||||
* @return
|
||||
*/
|
||||
public boolean isEvaluer() {
|
||||
if(!this.attributs.containsKey("evaluer")) return false;
|
||||
if(!Boolean.valueOf(this.getAttributs().get("evaluer"))) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isAttributEvaluer(String key) {
|
||||
return this.attributs.get(key).contains("‽");
|
||||
/**
|
||||
* Retourne TRUE si ce node contient l'attribut nameAttribut qui est évalué.<br>
|
||||
* C'est à dire que la valeur de l'attribut nameAttribut contient le caractère ‽.<br>
|
||||
* @param nameAttribut : nom de l'attribut.
|
||||
* @return TRUE si cet attribut est évalué. Sinon retourne FALSE.
|
||||
*/
|
||||
public boolean isAttributEvaluer(String nameAttribut) {
|
||||
if(this.attributs.get(nameAttribut)==null) return false;
|
||||
return this.attributs.get(nameAttribut).contains("‽");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retourne le nom de ce node.<br>
|
||||
* @return
|
||||
*/
|
||||
public String getNameNode() {
|
||||
if(this.equals(null)) return "";
|
||||
return this.nameNode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Nomme ou renomme ce node par le nom nameNode.<br>
|
||||
* @param nameNode
|
||||
*/
|
||||
public void setNameNode(String nameNode) {
|
||||
this.nameNode = nameNode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne TRUE si ce node contient au moins un attribut.<br>
|
||||
* Sinon retourne FALSE.<br>
|
||||
* @return
|
||||
*/
|
||||
public boolean isHasAttributs() {
|
||||
if(this.attributs.size()>0) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne TRUE si ce node contient un attribut nameNode.<br>
|
||||
* Sinon retourne FALSE.<br>
|
||||
* @param nameAttribut
|
||||
* @return
|
||||
*/
|
||||
public boolean isHasAttributs(String nameAttribut) {
|
||||
if(this.attributs.get(nameAttribut)==null) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne TRUE si ce node possède au moins un enfant.<br>
|
||||
* Sinon retourne FALSE.<br>
|
||||
* @return
|
||||
*/
|
||||
public boolean isHasEnfant() {
|
||||
if(this.enfants.size()>0) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne le nombre d'enfant de ce node.<br>
|
||||
* @return : Un interger.
|
||||
*/
|
||||
public int getNbrEnfants() {
|
||||
return this.enfants.size();
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne la liste des enfants (ArrayList<node>) de ce node;<br>
|
||||
* @return ArrayList<node>
|
||||
*/
|
||||
public ArrayList<node> getEnfants() {
|
||||
return this.enfants;
|
||||
}
|
||||
@ -185,15 +260,25 @@ protected boolean nodeClose = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Supprime tous les nodes enfants.<br>
|
||||
*/
|
||||
public void removeAllEnfants() {
|
||||
this.enfants.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Supprime tous les enfants fournis dans l'ArrayList enfants.<br>
|
||||
* @param enfants
|
||||
*/
|
||||
public void removeEnfants(ArrayList<node> enfants) {
|
||||
this.enfants.removeAll(enfants);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne le premier enfants.<br>
|
||||
* @return
|
||||
*/
|
||||
public node retourneFirstEnfant() {
|
||||
if(this.enfants.size()>0) return this.enfants.get(0);
|
||||
return null;
|
||||
@ -201,7 +286,7 @@ protected boolean nodeClose = false;
|
||||
|
||||
/**
|
||||
* Retourne le premier enfant ayant le nom nameNode.<br>
|
||||
* Sinon retourne un null.
|
||||
* Sinon retourne un null.<br>
|
||||
* @param nameNode : le nom de l'enfant.
|
||||
* @return
|
||||
*/
|
||||
@ -214,6 +299,13 @@ protected boolean nodeClose = false;
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne le premier enfant ayant le nom nameNode et l'attribut nameAttribut.<br>
|
||||
* Sinon retourne un null.<br>
|
||||
* @param nameNode
|
||||
* @param nameAttribut
|
||||
* @return
|
||||
*/
|
||||
public node retourneFirstEnfant(String nameNode, String nameAttribut) {
|
||||
if(this.nameNode.equals(nameNode) && this.attributs.containsKey(nameAttribut)) return this;
|
||||
for (node nod : enfants) {
|
||||
@ -279,6 +371,9 @@ protected boolean nodeClose = false;
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne le frère suivant de ce node.<br>
|
||||
*/
|
||||
public node retourneNextBrother() {
|
||||
if(this.parent!=null) {
|
||||
int indexOfThis = this.parent.enfants.indexOf(this);
|
||||
@ -291,14 +386,17 @@ protected boolean nodeClose = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne tous les frères du node, lui compris.</br>
|
||||
* Retourne tous les frères du node, ce node compris.</br>
|
||||
* @return
|
||||
*/
|
||||
public ArrayList<node> retourneAllBroters(){
|
||||
return this.parent.getEnfants();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retourne le frère précédenr de ce node.<br>
|
||||
* @return
|
||||
*/
|
||||
public node retournePreviousBrother() {
|
||||
if(this.parent!=null) {
|
||||
int indexOfThis = this.parent.enfants.indexOf(this);
|
||||
@ -310,6 +408,10 @@ protected boolean nodeClose = false;
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne le premier frère de ce node.<br>
|
||||
* @return
|
||||
*/
|
||||
public node retourneFirstBrother() {
|
||||
if(this.parent!=null) {
|
||||
if(this.parent.enfants.get(0)!=null) return this.parent.enfants.get(0);
|
||||
@ -317,6 +419,10 @@ protected boolean nodeClose = false;
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne le dernier frère de ce node.<br>
|
||||
* @return
|
||||
*/
|
||||
public node retourneLastBrother() {
|
||||
if(this.parent!=null) {
|
||||
int indexLast = this.parent.enfants.size()-1;
|
||||
@ -325,14 +431,18 @@ protected boolean nodeClose = false;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retourne le dernier enfant ce ce node.<br>
|
||||
* Sinon retourne un null.<br>
|
||||
* @return
|
||||
*/
|
||||
public node retourneLastEnfant() {
|
||||
if(this.enfants.size()>0) return this.enfants.get(this.enfants.size()-1);
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne la liste des nodes ayant tous les mêmes noms.
|
||||
* Retourne la liste (ArrayList<node>) des nodes ayant tous le même nom nameNode.<br>
|
||||
* @param nameNode
|
||||
* @return
|
||||
*/
|
||||
@ -352,22 +462,43 @@ protected boolean nodeClose = false;
|
||||
return ListeNodes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne le nombre d'attribut de ce node.<br>
|
||||
* @return
|
||||
*/
|
||||
public int getNbrAttributs() {
|
||||
return attributs.size();
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne la liste des attributs (LinkedHashMap<String, String>) de ce node.<br>
|
||||
* @return
|
||||
*/
|
||||
public LinkedHashMap<String, String> getAttributs() {
|
||||
return attributs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute la liste des attributs LinkedHashMap<String,String>.<br>
|
||||
* @param attributs
|
||||
*/
|
||||
public void addAttributs(LinkedHashMap<String,String> attributs) {
|
||||
this.attributs = attributs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute un attribut de ce node.<br>
|
||||
* @param key : La clé.
|
||||
* @param value : la valeur de la clé.
|
||||
*/
|
||||
public void addAttribut(String key, String value) {
|
||||
this.attributs.put(key, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Supprime l'attribut ayant la clé key de ce node.<br>
|
||||
* @param key : La clé.
|
||||
*/
|
||||
public void removeAttribut(String key) {
|
||||
this.attributs.remove(key);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user