FIProjetIHM2022/docs/API/Groupe.html

383 lines
22 KiB
HTML
Raw Permalink 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>Groupe</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: API, interface: Groupe">
<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>Constr</li>
<li><a href="#method-summary">Method</a></li>
</ul>
</li>
<li>
<p>Detail:</p>
<ul>
<li>Field</li>
<li>Constr</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>Constr&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>Constr&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">API</a></div>
<h1 title="Interface Groupe" class="title">Interface Groupe</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="MonPrint.html" title="interface in API">MonPrint</a></code></dd>
</dl>
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../MNP/GroupeNP.html" title="class in MNP">GroupeNP</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">Groupe</span><span class="extends-implements">
extends <a href="MonPrint.html" title="interface in API">MonPrint</a></span></div>
<div class="block">Un groupe</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== 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-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default 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-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#addEtudiant(API.Etudiant)" class="member-name-link">addEtudiant</a><wbr>(<a href="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-tab3">
<div class="block">Ajoute un étudiant.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#addSousGroupe(API.Groupe)" class="member-name-link">addSousGroupe</a><wbr>(<a href="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-tab3">
<div class="block">Ajoute un sous-groupe.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><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="Etudiant.html" title="interface in API">Etudiant</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getEtudiants()" class="member-name-link">getEtudiants</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Potentiellement "vide"</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getId()" class="member-name-link">getId</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">permet de récupérer l'identifiant d'un groupe (référence interne sans intérêt irl).</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getMax()" class="member-name-link">getMax</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">permet de récupérer le nombre maximum d'étudiants souhaités dans un groupe.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getMin()" class="member-name-link">getMin</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">permet de récupérer le nombre minimum d'étudiants souhaités dans le groupe.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><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></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getName()" class="member-name-link">getName</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">permet de récupérer le nom d'un groupe (utile irl).</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="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-tab3"><code><a href="#getPointPoint()" class="member-name-link">getPointPoint</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">permet de récupérer le groupe père
un groupe racine devrait retourner lui-même</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getSize()" class="member-name-link">getSize</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">permet de récupérer le nombre d'étudiants dans ce groupe.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><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="Groupe.html" title="interface in API">Groupe</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getSousGroupes()" class="member-name-link">getSousGroupes</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Potentiellement "vide"</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="TypeGroupe.html" title="enum class in API">TypeGroupe</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getType()" class="member-name-link">getType</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">permet de récupérer la nature du groupe</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <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></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#monPrint()" class="member-name-link">monPrint</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Fonctionne comme ToPrint() sauf car une interface n'a pas le droit de faire un override sur ToPrint().</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#removeEtudiant(API.Etudiant)" class="member-name-link">removeEtudiant</a><wbr>(<a href="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-tab3">
<div class="block">Enlève un étudiant.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#removeSousGroupe(API.Groupe)" class="member-name-link">removeSousGroupe</a><wbr>(<a href="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-tab3">
<div class="block">Enlève un groupe.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="addEtudiant(API.Etudiant)">
<h3>addEtudiant</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">addEtudiant</span><wbr><span class="parameters">(<a href="Etudiant.html" title="interface in API">Etudiant</a>&nbsp;e)</span></div>
<div class="block">Ajoute un étudiant. Se comporte comme add de l'interface Set.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true iff e est ajouté</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="removeEtudiant(API.Etudiant)">
<h3>removeEtudiant</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">removeEtudiant</span><wbr><span class="parameters">(<a href="Etudiant.html" title="interface in API">Etudiant</a>&nbsp;e)</span></div>
<div class="block">Enlève un étudiant. Se comporte comme remove de l'interface Set.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true iff e est enlevé</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addSousGroupe(API.Groupe)">
<h3>addSousGroupe</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">addSousGroupe</span><wbr><span class="parameters">(<a href="Groupe.html" title="interface in API">Groupe</a>&nbsp;g)</span></div>
<div class="block">Ajoute un sous-groupe. Se comporte comme add de l'interface Set.
vérifie que le groupe passé en argument a bien renseigné this comme son père.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true iff g est ajouté</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="removeSousGroupe(API.Groupe)">
<h3>removeSousGroupe</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">removeSousGroupe</span><wbr><span class="parameters">(<a href="Groupe.html" title="interface in API">Groupe</a>&nbsp;g)</span></div>
<div class="block">Enlève un groupe. Se comporte comme remove de l'interface Set.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true iff e est enlevé</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getId()">
<h3>getId</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getId</span>()</div>
<div class="block">permet de récupérer l'identifiant d'un groupe (référence interne sans intérêt irl).</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>l'identifiant.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getName()">
<h3>getName</h3>
<div class="member-signature"><span class="return-type"><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></span>&nbsp;<span class="element-name">getName</span>()</div>
<div class="block">permet de récupérer le nom d'un groupe (utile irl).</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>le nom.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getMin()">
<h3>getMin</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getMin</span>()</div>
<div class="block">permet de récupérer le nombre minimum d'étudiants souhaités dans le groupe.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>le minimum souhaité</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getMax()">
<h3>getMax</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getMax</span>()</div>
<div class="block">permet de récupérer le nombre maximum d'étudiants souhaités dans un groupe.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>le maximum souhaité</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSize()">
<h3>getSize</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getSize</span>()</div>
<div class="block">permet de récupérer le nombre d'étudiants dans ce groupe.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>le nombre de places prises (pas forcément limité entre Min et Max, mais c'est le but)</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getType()">
<h3>getType</h3>
<div class="member-signature"><span class="return-type"><a href="TypeGroupe.html" title="enum class in API">TypeGroupe</a></span>&nbsp;<span class="element-name">getType</span>()</div>
<div class="block">permet de récupérer la nature du groupe</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>le type du groupe</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPointPoint()">
<h3>getPointPoint</h3>
<div class="member-signature"><span class="return-type"><a href="Groupe.html" title="interface in API">Groupe</a></span>&nbsp;<span class="element-name">getPointPoint</span>()</div>
<div class="block">permet de récupérer le groupe père
un groupe racine devrait retourner lui-même</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>le père</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSousGroupes()">
<h3>getSousGroupes</h3>
<div class="member-signature"><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="Groupe.html" title="interface in API">Groupe</a>&gt;</span>&nbsp;<span class="element-name">getSousGroupes</span>()</div>
<div class="block">Potentiellement "vide"</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>l'ensemble des sous-groupes.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getEtudiants()">
<h3>getEtudiants</h3>
<div class="member-signature"><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="Etudiant.html" title="interface in API">Etudiant</a>&gt;</span>&nbsp;<span class="element-name">getEtudiants</span>()</div>
<div class="block">Potentiellement "vide"</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>l'ensemble des étudiants.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="monPrint()">
<h3>monPrint</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><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></span>&nbsp;<span class="element-name">monPrint</span>()</div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="MonPrint.html#monPrint()">MonPrint</a></code></span></div>
<div class="block">Fonctionne comme ToPrint() sauf car une interface n'a pas le droit de faire un override sur ToPrint().
Toutes nos interfaces vont étendre cette interface.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="MonPrint.html#monPrint()">monPrint</a></code>&nbsp;in interface&nbsp;<code><a href="MonPrint.html" title="interface in API">MonPrint</a></code></dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="MonPrint.html" title="interface in API"><code>NB. On n'utilise le mécanisme des méthodes par défaut pour donner du code dans une interface. C'est un petit peu laid et à contre-emploi mais pratique ici.
<p>
NB2. On ne peut pas utiliser le toString de Objects
https://stackoverflow.com/questions/24016962/java8-why-is-it-forbidden-to-define-a-default-method-for-a-method-from-java-lan</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>