FIProjetIHM2022/docs/MNP/AbstractGroupeFactoryNP.html

402 lines
32 KiB
HTML
Raw Normal View History

2022-12-01 18:53:09 +01:00
<!DOCTYPE HTML>
<html lang="fr">
<head>
<!-- Generated by javadoc (18) on Wed Nov 16 09:08:25 CET 2022 -->
<title>AbstractGroupeFactoryNP</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2022-11-16">
<meta name="description" content="declaration: package: MNP, class: AbstractGroupeFactoryNP">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
<script type="text/javascript" src="../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon"></span><span class="nav-bar-toggle-icon"></span><span class="nav-bar-toggle-icon"></span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../index-all.html">Index</a></li>
<li><a href="../help-doc.html#class">Help</a></li>
</ul>
<ul class="sub-nav-list-small">
<li>
<p>Summary:</p>
<ul>
<li>Nested</li>
<li>Field</li>
<li><a href="#constructor-summary">Constr</a></li>
<li><a href="#method-summary">Method</a></li>
</ul>
</li>
<li>
<p>Detail:</p>
<ul>
<li>Field</li>
<li><a href="#constructor-detail">Constr</a></li>
<li><a href="#method-detail">Method</a></li>
</ul>
</li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list">
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" disabled placeholder="Search">
<input type="reset" id="reset-button" disabled value="reset">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">MNP</a></div>
<h1 title="Class AbstractGroupeFactoryNP" class="title">Class AbstractGroupeFactoryNP</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="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>
<div class="inheritance">MNP.AbstractGroupeFactoryNP</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../API/AbstractGroupeFactory.html" title="interface in API">AbstractGroupeFactory</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">AbstractGroupeFactoryNP</span>
<span class="extends-implements">extends <a href="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 <a href="../API/AbstractGroupeFactory.html" title="interface in API">AbstractGroupeFactory</a></span></div>
<div class="block">Usine abstraite gérant l'ensemble des groupes.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(int,java.lang.String,int,int)" class="member-name-link">AbstractGroupeFactoryNP</a><wbr>(int&nbsp;id,
<a href="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>&nbsp;name,
int&nbsp;min,
int&nbsp;max)</code></div>
<div class="col-last even-row-color">
<div class="block">Le constructeur fabrique le groupe promotion vide.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addToGroupe(API.Groupe,API.Etudiant)" class="member-name-link">addToGroupe</a><wbr>(<a href="../API/Groupe.html" title="interface in API">Groupe</a>&nbsp;g,
<a href="../API/Etudiant.html" title="interface in API">Etudiant</a>&nbsp;e)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">permet d'ajouter un étudiant à un groupe.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createGroupe(API.Groupe,java.lang.String,int,int)" class="member-name-link">createGroupe</a><wbr>(<a href="../API/Groupe.html" title="interface in API">Groupe</a>&nbsp;pere,
<a href="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>&nbsp;name,
int&nbsp;min,
int&nbsp;max)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">permet d'ajouter un groupe vide de type FREE comme sous-groupe d'un groupe donné.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createPartition(API.Groupe,java.lang.String,int)" class="member-name-link">createPartition</a><wbr>(<a href="../API/Groupe.html" title="interface in API">Groupe</a>&nbsp;pere,
<a href="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>&nbsp;name,
int&nbsp;n)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">permet de créer une partition automatiquement sous un groupe donné.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#deleteGroupe(API.Groupe)" class="member-name-link">deleteGroupe</a><wbr>(<a href="../API/Groupe.html" title="interface in API">Groupe</a>&nbsp;g)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">permet de supprimer un groupe connu de l'usine abstraite qui ne contient pas de groupes.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#dropFromGroupe(API.Groupe,API.Etudiant)" class="member-name-link">dropFromGroupe</a><wbr>(<a href="../API/Groupe.html" title="interface in API">Groupe</a>&nbsp;g,
<a href="../API/Etudiant.html" title="interface in API">Etudiant</a>&nbsp;e)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">permet d'enlever un étudiant d'un groupe.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="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>&lt;<a href="../API/Etudiant.html" title="interface in API">Etudiant</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getEtudiants(java.lang.String)" class="member-name-link">getEtudiants</a><wbr>(<a href="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>&nbsp;nomEtu)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">permet de retrouver un étudiant à partir d'un String.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="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>&lt;<a href="../API/Groupe.html" title="interface in API">Groupe</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getGroupesOfEtudiant(API.Etudiant)" class="member-name-link">getGroupesOfEtudiant</a><wbr>(<a href="../API/Etudiant.html" title="interface in API">Etudiant</a>&nbsp;etu)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">permet de retrouver les groupes d'un étudiant.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../API/Groupe.html" title="interface in API">Groupe</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPromotion()" class="member-name-link">getPromotion</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">permet de récupérer le Groupe qui contient les étudiants de toute la promotion</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="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>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#knows(API.Groupe)" class="member-name-link">knows</a><wbr>(<a href="../API/Groupe.html" title="interface in API">Groupe</a>&nbsp;g)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Test plutôt optimiste.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="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><a href="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>, <a href="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>, <a href="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>, <a href="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>, <a href="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>, <a href="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>, <a href="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>, <a href="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>, <a href="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>, <a href="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>, <a href="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>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(int,java.lang.String,int,int)">
<h3>AbstractGroupeFactoryNP</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AbstractGroupeFactoryNP</span><wbr><span class="parameters">(int&nbsp;id,
<a href="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>&nbsp;name,
int&nbsp;min,
int&nbsp;max)</span></div>
<div class="block">Le constructeur fabrique le groupe promotion vide.
Il faut ensuite y ajouter les étudiants.</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="knows(API.Groupe)">
<h3>knows</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="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>&nbsp;<span class="element-name">knows</span><wbr><span class="parameters">(<a href="../API/Groupe.html" title="interface in API">Groupe</a>&nbsp;g)</span></div>
<div class="block">Test plutôt optimiste. Si la clé est identique alors on fait comme si c'était le bon groupe.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../API/AbstractGroupeFactory.html#knows(API.Groupe)">knows</a></code>&nbsp;in interface&nbsp;<code><a href="../API/AbstractGroupeFactory.html" title="interface in API">AbstractGroupeFactory</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPromotion()">
<h3>getPromotion</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../API/Groupe.html" title="interface in API">Groupe</a></span>&nbsp;<span class="element-name">getPromotion</span>()</div>
<div class="block">permet de récupérer le Groupe qui contient les étudiants de toute la promotion</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../API/AbstractGroupeFactory.html#getPromotion()">getPromotion</a></code>&nbsp;in interface&nbsp;<code><a href="../API/AbstractGroupeFactory.html" title="interface in API">AbstractGroupeFactory</a></code></dd>
<dt>Returns:</dt>
<dd>la promo.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="deleteGroupe(API.Groupe)">
<h3>deleteGroupe</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">deleteGroupe</span><wbr><span class="parameters">(<a href="../API/Groupe.html" title="interface in API">Groupe</a>&nbsp;g)</span></div>
<div class="block">permet de supprimer un groupe connu de l'usine abstraite qui ne contient pas de groupes.
Pour détruire un groupe connu qui en contient d'autres il faut le faire récursivement.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../API/AbstractGroupeFactory.html#deleteGroupe(API.Groupe)">deleteGroupe</a></code>&nbsp;in interface&nbsp;<code><a href="../API/AbstractGroupeFactory.html" title="interface in API">AbstractGroupeFactory</a></code></dd>
<dt>Throws:</dt>
<dd><code><a href="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><a href="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><a href="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>
</dl>
</section>
</li>
<li>
<section class="detail" id="createGroupe(API.Groupe,java.lang.String,int,int)">
<h3>createGroupe</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createGroupe</span><wbr><span class="parameters">(<a href="../API/Groupe.html" title="interface in API">Groupe</a>&nbsp;pere,
<a href="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>&nbsp;name,
int&nbsp;min,
int&nbsp;max)</span></div>
<div class="block">permet d'ajouter un groupe vide de type FREE comme sous-groupe d'un groupe donné.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../API/AbstractGroupeFactory.html#createGroupe(API.Groupe,java.lang.String,int,int)">createGroupe</a></code>&nbsp;in interface&nbsp;<code><a href="../API/AbstractGroupeFactory.html" title="interface in API">AbstractGroupeFactory</a></code></dd>
<dt>Parameters:</dt>
<dd><code>pere</code> - le groupe père du groupe à créer</dd>
<dd><code>name</code> - le nom du groupe à créer</dd>
<dd><code>min</code> - ,max bornes indicatives sur la taille du groupe à créer</dd>
<dt>Throws:</dt>
<dd><code><a href="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><a href="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 <span class="invalid-tag">invalid input: '&lt;'</span> min <span class="invalid-tag">invalid input: '&lt;'</span>= max</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createPartition(API.Groupe,java.lang.String,int)">
<h3>createPartition</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createPartition</span><wbr><span class="parameters">(<a href="../API/Groupe.html" title="interface in API">Groupe</a>&nbsp;pere,
<a href="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>&nbsp;name,
int&nbsp;n)</span></div>
<div class="block">permet de créer une partition automatiquement sous un groupe donné.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../API/AbstractGroupeFactory.html#createPartition(API.Groupe,java.lang.String,int)">createPartition</a></code>&nbsp;in interface&nbsp;<code><a href="../API/AbstractGroupeFactory.html" title="interface in API">AbstractGroupeFactory</a></code></dd>
<dt>Parameters:</dt>
<dd><code>pere</code> - le groupe père du groupe à partitionner</dd>
<dd><code>name</code> - le nom des groupe à créer (on ajoute à la suite un numéro de 1 à n pour distinguer chaque groupe formant la partition)</dd>
<dd><code>n</code> - le nombre de partitions</dd>
<dt>Throws:</dt>
<dd><code><a href="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><a href="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 n négatif ou nul
NB. doit créer une "copie" de pere
sous pere de type Partition et ajouter sous ce groupe, n groupes de type "FREE".
les valeurs min et max de ces n groupes sont
min = 0 et
max = partie entière de N/n plus 1, où N est le nombre max du groupe pere.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addToGroupe(API.Groupe,API.Etudiant)">
<h3>addToGroupe</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addToGroupe</span><wbr><span class="parameters">(<a href="../API/Groupe.html" title="interface in API">Groupe</a>&nbsp;g,
<a href="../API/Etudiant.html" title="interface in API">Etudiant</a>&nbsp;e)</span></div>
<div class="block">permet d'ajouter un étudiant à un groupe.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../API/AbstractGroupeFactory.html#addToGroupe(API.Groupe,API.Etudiant)">addToGroupe</a></code>&nbsp;in interface&nbsp;<code><a href="../API/AbstractGroupeFactory.html" title="interface in API">AbstractGroupeFactory</a></code></dd>
<dt>Parameters:</dt>
<dd><code>g</code> - le groupe dans lequel il faut ajouter l'étudiant</dd>
<dd><code>e</code> - l'étudiant à ajouter</dd>
<dt>Throws:</dt>
<dd><code><a href="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><a href="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><a href="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>
</dl>
</section>
</li>
<li>
<section class="detail" id="dropFromGroupe(API.Groupe,API.Etudiant)">
<h3>dropFromGroupe</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">dropFromGroupe</span><wbr><span class="parameters">(<a href="../API/Groupe.html" title="interface in API">Groupe</a>&nbsp;g,
<a href="../API/Etudiant.html" title="interface in API">Etudiant</a>&nbsp;e)</span></div>
<div class="block">permet d'enlever un étudiant d'un groupe.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../API/AbstractGroupeFactory.html#dropFromGroupe(API.Groupe,API.Etudiant)">dropFromGroupe</a></code>&nbsp;in interface&nbsp;<code><a href="../API/AbstractGroupeFactory.html" title="interface in API">AbstractGroupeFactory</a></code></dd>
<dt>Parameters:</dt>
<dd><code>g</code> - le groupe dans lequel il faut enlever l'étudiant</dd>
<dd><code>e</code> - l'étudiant à enlever</dd>
<dt>Throws:</dt>
<dd><code><a href="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><a href="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><a href="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>
</dl>
</section>
</li>
<li>
<section class="detail" id="getEtudiants(java.lang.String)">
<h3>getEtudiants</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="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>&lt;<a href="../API/Etudiant.html" title="interface in API">Etudiant</a>&gt;</span>&nbsp;<span class="element-name">getEtudiants</span><wbr><span class="parameters">(<a href="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>&nbsp;nomEtu)</span></div>
<div class="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>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../API/AbstractGroupeFactory.html#getEtudiants(java.lang.String)">getEtudiants</a></code>&nbsp;in interface&nbsp;<code><a href="../API/AbstractGroupeFactory.html" title="interface in API">AbstractGroupeFactory</a></code></dd>
<dt>Parameters:</dt>
<dd><code>String</code> - nomEtu le nom approximmatif de l'étudiant</dd>
<dt>Returns:</dt>
<dd>Set<Etudiant> l'ensemble des étudiants connus de la factory ayant un nom "proche" de ce string au sens de la remarque ci-dessus.</dd>
<dt>Throws:</dt>
<dd><code><a href="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>
</dl>
</section>
</li>
<li>
<section class="detail" id="getGroupesOfEtudiant(API.Etudiant)">
<h3>getGroupesOfEtudiant</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="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>&lt;<a href="../API/Groupe.html" title="interface in API">Groupe</a>&gt;</span>&nbsp;<span class="element-name">getGroupesOfEtudiant</span><wbr><span class="parameters">(<a href="../API/Etudiant.html" title="interface in API">Etudiant</a>&nbsp;etu)</span></div>
<div class="block">permet de retrouver les groupes d'un étudiant.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../API/AbstractGroupeFactory.html#getGroupesOfEtudiant(API.Etudiant)">getGroupesOfEtudiant</a></code>&nbsp;in interface&nbsp;<code><a href="../API/AbstractGroupeFactory.html" title="interface in API">AbstractGroupeFactory</a></code></dd>
<dt>Parameters:</dt>
<dd><code>Etu</code> - un étudiant</dd>
<dt>Returns:</dt>
<dd>Etudiant l'étudiant connu de la factory ayant cet identifiant</dd>
<dt>Throws:</dt>
<dd><code><a href="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>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>