<divclass="inheritance"title="Inheritance Tree"><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">java.lang.Object</a>
<divclass="type-signature"><spanclass="modifiers">public class </span><spanclass="element-name type-name-label">AbstractGroupeFactoryNP</span>
<spanclass="extends-implements">extends <ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">Object</a>
implements <ahref="../API/AbstractGroupeFactory.html"title="interface in API">AbstractGroupeFactory</a></span></div>
<ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> name,
<divclass="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><ahref="#createGroupe(API.Groupe,java.lang.String,int,int)"class="member-name-link">createGroupe</a><wbr>(<ahref="../API/Groupe.html"title="interface in API">Groupe</a> pere,
<ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> name,
<divclass="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><ahref="#createPartition(API.Groupe,java.lang.String,int)"class="member-name-link">createPartition</a><wbr>(<ahref="../API/Groupe.html"title="interface in API">Groupe</a> pere,
<ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> name,
<divclass="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/util/Set.html"title="class or interface in java.util"class="external-link">Set</a><<ahref="../API/Etudiant.html"title="interface in API">Etudiant</a>></code></div>
<divclass="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><ahref="#getEtudiants(java.lang.String)"class="member-name-link">getEtudiants</a><wbr>(<ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> nomEtu)</code></div>
<divclass="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/util/Set.html"title="class or interface in java.util"class="external-link">Set</a><<ahref="../API/Groupe.html"title="interface in API">Groupe</a>></code></div>
<divclass="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><ahref="#getGroupesOfEtudiant(API.Etudiant)"class="member-name-link">getGroupesOfEtudiant</a><wbr>(<ahref="../API/Etudiant.html"title="interface in API">Etudiant</a> etu)</code></div>
<divclass="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Boolean.html"title="class or interface in java.lang"class="external-link">Boolean</a></code></div>
<divclass="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><ahref="#knows(API.Groupe)"class="member-name-link">knows</a><wbr>(<ahref="../API/Groupe.html"title="interface in API">Groupe</a> g)</code></div>
<h3id="methods-inherited-from-class-java.lang.Object">Methods inherited from class java.lang.<ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">Object</a></h3>
<code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Object.html#clone()"title="class or interface in java.lang"class="external-link">clone</a>, <ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)"title="class or interface in java.lang"class="external-link">equals</a>, <ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Object.html#finalize()"title="class or interface in java.lang"class="external-link">finalize</a>, <ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Object.html#getClass()"title="class or interface in java.lang"class="external-link">getClass</a>, <ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Object.html#hashCode()"title="class or interface in java.lang"class="external-link">hashCode</a>, <ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Object.html#notify()"title="class or interface in java.lang"class="external-link">notify</a>, <ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Object.html#notifyAll()"title="class or interface in java.lang"class="external-link">notifyAll</a>, <ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Object.html#toString()"title="class or interface in java.lang"class="external-link">toString</a>, <ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Object.html#wait()"title="class or interface in java.lang"class="external-link">wait</a>, <ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Object.html#wait(long)"title="class or interface in java.lang"class="external-link">wait</a>, <ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Object.html#wait(long,int)"title="class or interface in java.lang"class="external-link">wait</a></code></div>
<ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> name,
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type"><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/Boolean.html"title="class or interface in java.lang"class="external-link">Boolean</a></span> <spanclass="element-name">knows</span><wbr><spanclass="parameters">(<ahref="../API/Groupe.html"title="interface in API">Groupe</a> g)</span></div>
<dd><code><ahref="../API/AbstractGroupeFactory.html#knows(API.Groupe)">knows</a></code> in interface <code><ahref="../API/AbstractGroupeFactory.html"title="interface in API">AbstractGroupeFactory</a></code></dd>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type"><ahref="../API/Groupe.html"title="interface in API">Groupe</a></span> <spanclass="element-name">getPromotion</span>()</div>
<dd><code><ahref="../API/AbstractGroupeFactory.html#getPromotion()">getPromotion</a></code> in interface <code><ahref="../API/AbstractGroupeFactory.html"title="interface in API">AbstractGroupeFactory</a></code></dd>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">deleteGroupe</span><wbr><spanclass="parameters">(<ahref="../API/Groupe.html"title="interface in API">Groupe</a> g)</span></div>
<dd><code><ahref="../API/AbstractGroupeFactory.html#deleteGroupe(API.Groupe)">deleteGroupe</a></code> in interface <code><ahref="../API/AbstractGroupeFactory.html"title="interface in API">AbstractGroupeFactory</a></code></dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/NullPointerException.html"title="class or interface in java.lang"class="external-link">NullPointerException</a></code> - si un argument est null</dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/IllegalStateException.html"title="class or interface in java.lang"class="external-link">IllegalStateException</a></code> - si le groupe contient des groupes</dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/IllegalArgumentException.html"title="class or interface in java.lang"class="external-link">IllegalArgumentException</a></code> - si le groupe n'est pas connu de l'usine abstraite ou bien si le groupe est celui de toute la promotion (renvoyé par getPromotion)</dd>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">createGroupe</span><wbr><spanclass="parameters">(<ahref="../API/Groupe.html"title="interface in API">Groupe</a> pere,
<ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> name,
<dd><code><ahref="../API/AbstractGroupeFactory.html#createGroupe(API.Groupe,java.lang.String,int,int)">createGroupe</a></code> in interface <code><ahref="../API/AbstractGroupeFactory.html"title="interface in API">AbstractGroupeFactory</a></code></dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/NullPointerException.html"title="class or interface in java.lang"class="external-link">NullPointerException</a></code> - si un argument est null</dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/IllegalArgumentException.html"title="class or interface in java.lang"class="external-link">IllegalArgumentException</a></code> - si le groupe pere est de type PARTITION
ou si il n'y a pas 0 <spanclass="invalid-tag">invalid input: '<'</span> min <spanclass="invalid-tag">invalid input: '<'</span>= max</dd>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">createPartition</span><wbr><spanclass="parameters">(<ahref="../API/Groupe.html"title="interface in API">Groupe</a> pere,
<ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> name,
<dd><code><ahref="../API/AbstractGroupeFactory.html#createPartition(API.Groupe,java.lang.String,int)">createPartition</a></code> in interface <code><ahref="../API/AbstractGroupeFactory.html"title="interface in API">AbstractGroupeFactory</a></code></dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/NullPointerException.html"title="class or interface in java.lang"class="external-link">NullPointerException</a></code> - si un argument est null</dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/IllegalArgumentException.html"title="class or interface in java.lang"class="external-link">IllegalArgumentException</a></code> - si le groupe pere est de type PARTITION
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">addToGroupe</span><wbr><spanclass="parameters">(<ahref="../API/Groupe.html"title="interface in API">Groupe</a> g,
<ahref="../API/Etudiant.html"title="interface in API">Etudiant</a> e)</span></div>
<dd><code><ahref="../API/AbstractGroupeFactory.html#addToGroupe(API.Groupe,API.Etudiant)">addToGroupe</a></code> in interface <code><ahref="../API/AbstractGroupeFactory.html"title="interface in API">AbstractGroupeFactory</a></code></dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/NullPointerException.html"title="class or interface in java.lang"class="external-link">NullPointerException</a></code> - si un argument est null</dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/IllegalArgumentException.html"title="class or interface in java.lang"class="external-link">IllegalArgumentException</a></code> - la factory ne connaît pas g</dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/IllegalStateException.html"title="class or interface in java.lang"class="external-link">IllegalStateException</a></code> - le père de g ne contient pas e</dd>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">dropFromGroupe</span><wbr><spanclass="parameters">(<ahref="../API/Groupe.html"title="interface in API">Groupe</a> g,
<ahref="../API/Etudiant.html"title="interface in API">Etudiant</a> e)</span></div>
<dd><code><ahref="../API/AbstractGroupeFactory.html#dropFromGroupe(API.Groupe,API.Etudiant)">dropFromGroupe</a></code> in interface <code><ahref="../API/AbstractGroupeFactory.html"title="interface in API">AbstractGroupeFactory</a></code></dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/NullPointerException.html"title="class or interface in java.lang"class="external-link">NullPointerException</a></code> - si un argument est null</dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/IllegalStateException.html"title="class or interface in java.lang"class="external-link">IllegalStateException</a></code> - g ne contient pas e</dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/IllegalArgumentException.html"title="class or interface in java.lang"class="external-link">IllegalArgumentException</a></code> - la factory ne connaît pas g</dd>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type"><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/util/Set.html"title="class or interface in java.util"class="external-link">Set</a><<ahref="../API/Etudiant.html"title="interface in API">Etudiant</a>></span> <spanclass="element-name">getEtudiants</span><wbr><spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> nomEtu)</span></div>
<divclass="block">permet de retrouver un étudiant à partir d'un String.
NB. dans une version simple il doit s'agir du nom exact.
dans une version un peu plus complexe, il s'agit des premières lettres du nom
dans une version avancée, on peut autoriser une expression régulière plus ou moins complexe qui est générée si la première recherche n'a pas renvoyé de candidat.</div>
<dd><code><ahref="../API/AbstractGroupeFactory.html#getEtudiants(java.lang.String)">getEtudiants</a></code> in interface <code><ahref="../API/AbstractGroupeFactory.html"title="interface in API">AbstractGroupeFactory</a></code></dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/NullPointerException.html"title="class or interface in java.lang"class="external-link">NullPointerException</a></code> - si le String est null.</dd>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type"><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/util/Set.html"title="class or interface in java.util"class="external-link">Set</a><<ahref="../API/Groupe.html"title="interface in API">Groupe</a>></span> <spanclass="element-name">getGroupesOfEtudiant</span><wbr><spanclass="parameters">(<ahref="../API/Etudiant.html"title="interface in API">Etudiant</a> etu)</span></div>
<dd><code><ahref="../API/AbstractGroupeFactory.html#getGroupesOfEtudiant(API.Etudiant)">getGroupesOfEtudiant</a></code> in interface <code><ahref="../API/AbstractGroupeFactory.html"title="interface in API">AbstractGroupeFactory</a></code></dd>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/NullPointerException.html"title="class or interface in java.lang"class="external-link">NullPointerException</a></code> - si le String est null.</dd>