Added: JAVADOC html in deliverables
This commit is contained in:
+263
@@ -0,0 +1,263 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>CompositeClientBroadcaster</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network, class: CompositeClientBroadcaster">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network</a></li>
|
||||
<li><a href="CompositeClientBroadcaster.html" class="current-selection">CompositeClientBroadcaster</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#rmiServer" tabindex="0">rmiServer</a></li>
|
||||
<li><a href="#tcpServer" tabindex="0">tcpServer</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer,it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer)" tabindex="0">CompositeClientBroadcaster(RMIServer, TCPServer)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#notifyAll(it.polimi.ingsw.gc14.Network.NetworkEvent)" tabindex="0">notifyAll(NetworkEvent)</a></li>
|
||||
<li><a href="#notifyAll(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">notifyAll(MiniModel)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class CompositeClientBroadcaster" class="title">Class CompositeClientBroadcaster</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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">it.polimi.ingsw.gc14.Network.CompositeClientBroadcaster</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">CompositeClientBroadcaster</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
|
||||
<div class="block">Forwards every notification to both the RMI and the TCP transport layers.
|
||||
|
||||
<p>This follows the Composite pattern: the caller interacts with a single
|
||||
broadcaster without knowing which protocols are active underneath.</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="RMI/Server/RMIServer.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Server">RMIServer</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#rmiServer" class="member-name-link">rmiServer</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">RMI transport used to reach RMI-connected clients.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="TCP/Server/TCPServer.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">TCPServer</a></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#tcpServer" class="member-name-link">tcpServer</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">TCP transport used to reach TCP-connected clients.</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer,it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer)" class="member-name-link">CompositeClientBroadcaster</a><wbr>(<a href="RMI/Server/RMIServer.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Server">RMIServer</a> rmiServer,
|
||||
<a href="TCP/Server/TCPServer.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">TCPServer</a> tcpServer)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Constructs a composite broadcaster backed by the given RMI and TCP servers.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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="#notifyAll(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">notifyAll</a><wbr>(<a href="../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> model)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Forwards the model snapshot to every client on both transports.</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="#notifyAll(it.polimi.ingsw.gc14.Network.NetworkEvent)" class="member-name-link">notifyAll</a><wbr>(<a href="NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> event)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Forwards the event to both the RMI and the TCP server.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="rmiServer">
|
||||
<h3>rmiServer</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="RMI/Server/RMIServer.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Server">RMIServer</a></span> <span class="element-name">rmiServer</span></div>
|
||||
<div class="block">RMI transport used to reach RMI-connected clients.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="tcpServer">
|
||||
<h3>tcpServer</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="TCP/Server/TCPServer.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">TCPServer</a></span> <span class="element-name">tcpServer</span></div>
|
||||
<div class="block">TCP transport used to reach TCP-connected clients.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer,it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer)">
|
||||
<h3>CompositeClientBroadcaster</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">CompositeClientBroadcaster</span><wbr><span class="parameters">(<a href="RMI/Server/RMIServer.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Server">RMIServer</a> rmiServer,
|
||||
<a href="TCP/Server/TCPServer.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">TCPServer</a> tcpServer)</span></div>
|
||||
<div class="block">Constructs a composite broadcaster backed by the given RMI and TCP servers.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>rmiServer</code> - the RMI server used to reach RMI clients.</dd>
|
||||
<dd><code>tcpServer</code> - the TCP server used to reach TCP clients.</dd>
|
||||
</dl>
|
||||
</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="notifyAll(it.polimi.ingsw.gc14.Network.NetworkEvent)">
|
||||
<h3>notifyAll</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">notifyAll</span><wbr><span class="parameters">(<a href="NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> event)</span></div>
|
||||
<div class="block">Forwards the event to both the RMI and the TCP server.
|
||||
Each server is responsible for filtering error events to the
|
||||
requesting player only.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>event</code> - the network event to broadcast.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="notifyAll(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>notifyAll</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">notifyAll</span><wbr><span class="parameters">(<a href="../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> model)</span></div>
|
||||
<div class="block">Forwards the model snapshot to every client on both transports.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>model</code> - the mini model snapshot to broadcast.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+473
@@ -0,0 +1,473 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>EventType</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network, enum: EventType">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network</a></li>
|
||||
<li><a href="EventType.html" class="current-selection">EventType</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
|
||||
<li><a href="#enum-constant-summary" tabindex="0">Enum Constant Summary</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#enum-constant-detail" tabindex="0">Enum Constant Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#ADD_PLAYER" tabindex="0">ADD_PLAYER</a></li>
|
||||
<li><a href="#TOTEM_CHOICE" tabindex="0">TOTEM_CHOICE</a></li>
|
||||
<li><a href="#SLOT_CHOICE" tabindex="0">SLOT_CHOICE</a></li>
|
||||
<li><a href="#DRAW_UPPER_TRIBE" tabindex="0">DRAW_UPPER_TRIBE</a></li>
|
||||
<li><a href="#DRAW_LOWER_TRIBE" tabindex="0">DRAW_LOWER_TRIBE</a></li>
|
||||
<li><a href="#DRAW_UPPER_BUILD" tabindex="0">DRAW_UPPER_BUILD</a></li>
|
||||
<li><a href="#DRAW_LOWER_BUILD" tabindex="0">DRAW_LOWER_BUILD</a></li>
|
||||
<li><a href="#SKIP_TURN" tabindex="0">SKIP_TURN</a></li>
|
||||
<li><a href="#DISCONNECTED_PLAYER" tabindex="0">DISCONNECTED_PLAYER</a></li>
|
||||
<li><a href="#RECONNECT_PLAYER" tabindex="0">RECONNECT_PLAYER</a></li>
|
||||
<li><a href="#NEXT_ROUND" tabindex="0">NEXT_ROUND</a></li>
|
||||
<li><a href="#ENDED_GAME" tabindex="0">ENDED_GAME</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#description" tabindex="0">description</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.lang.String)" tabindex="0">EventType(String)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#values()" tabindex="0">values()</a></li>
|
||||
<li><a href="#valueOf(java.lang.String)" tabindex="0">valueOf(String)</a></li>
|
||||
<li><a href="#toString()" tabindex="0">toString()</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Enum Class EventType" class="title">Enum Class EventType</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a><<a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a>>
|
||||
<div class="inheritance">it.polimi.ingsw.gc14.Network.EventType</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a><<a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a>>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public enum </span><span class="element-name type-name-label">EventType</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a><<a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a>></span></div>
|
||||
<div class="block">Represents the different types of network events that can be sent between
|
||||
client and server.</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- ======== NESTED CLASS SUMMARY ======== -->
|
||||
<li>
|
||||
<section class="nested-class-summary" id="nested-class-summary">
|
||||
<h2>Nested Class Summary</h2>
|
||||
<div class="inherited-list">
|
||||
<h3 id="nested-classes-inherited-from-class-java.lang.Enum">Nested classes/interfaces inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#nested-class-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">Enum.EnumDesc</a><E></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="constants-summary" id="enum-constant-summary">
|
||||
<h2>Enum Constant Summary</h2>
|
||||
<div class="caption"><span>Enum Constants</span></div>
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">Enum Constant</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code><a href="#ADD_PLAYER" class="member-name-link">ADD_PLAYER</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Event used to add a player to the game.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code><a href="#DISCONNECTED_PLAYER" class="member-name-link">DISCONNECTED_PLAYER</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Event used to notify that a player has disconnected.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code><a href="#DRAW_LOWER_BUILD" class="member-name-link">DRAW_LOWER_BUILD</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Event used to draw a building card from the lower card list.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code><a href="#DRAW_LOWER_TRIBE" class="member-name-link">DRAW_LOWER_TRIBE</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Event used to draw a tribe card from the lower card list.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code><a href="#DRAW_UPPER_BUILD" class="member-name-link">DRAW_UPPER_BUILD</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Event used to draw a building card from the upper card list.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code><a href="#DRAW_UPPER_TRIBE" class="member-name-link">DRAW_UPPER_TRIBE</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Event used to draw a tribe card from the upper card list.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code><a href="#ENDED_GAME" class="member-name-link">ENDED_GAME</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Event used to notify that the game has ended.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code><a href="#NEXT_ROUND" class="member-name-link">NEXT_ROUND</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Event used to apply the transition to the next round.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code><a href="#RECONNECT_PLAYER" class="member-name-link">RECONNECT_PLAYER</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Event used to notify that a player has reconnected.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code><a href="#SKIP_TURN" class="member-name-link">SKIP_TURN</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Event used to skip the current turn or optional action.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code><a href="#SLOT_CHOICE" class="member-name-link">SLOT_CHOICE</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Event used to submit a player's slot choice.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code><a href="#TOTEM_CHOICE" class="member-name-link">TOTEM_CHOICE</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Event used to submit a player's totem choice.</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/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"><code><a href="#description" class="member-name-link">description</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Human-readable label for this event type, returned by <a href="#toString()"><code>toString()</code></a>.</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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 three-column-summary">
|
||||
<div class="table-header col-first">Modifier</div>
|
||||
<div class="table-header col-second">Constructor</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private </code></div>
|
||||
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String)" class="member-name-link">EventType</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> description)</code></div>
|
||||
<div class="col-last even-row-color"> </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-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static 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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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><a href="https://docs.oracle.com/en/java/javase/25/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-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#valueOf(java.lang.String)" class="member-name-link">valueOf</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
|
||||
<div class="block">Returns the enum constant of this class with the specified name.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a>[]</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#values()" class="member-name-link">values</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
|
||||
<div class="block">Returns an array containing the constants of this enum class, in
|
||||
the order they are declared.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Enum">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#method-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="class or interface in java.lang" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.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/25/docs/api/java.base/java/lang/Enum.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#name()" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#ordinal()" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ ENUM CONSTANT DETAIL =========== -->
|
||||
<li>
|
||||
<section class="constant-details" id="enum-constant-detail">
|
||||
<h2>Enum Constant Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="ADD_PLAYER">
|
||||
<h3>ADD_PLAYER</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></span> <span class="element-name">ADD_PLAYER</span></div>
|
||||
<div class="block">Event used to add a player to the game.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="TOTEM_CHOICE">
|
||||
<h3>TOTEM_CHOICE</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></span> <span class="element-name">TOTEM_CHOICE</span></div>
|
||||
<div class="block">Event used to submit a player's totem choice.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="SLOT_CHOICE">
|
||||
<h3>SLOT_CHOICE</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></span> <span class="element-name">SLOT_CHOICE</span></div>
|
||||
<div class="block">Event used to submit a player's slot choice.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="DRAW_UPPER_TRIBE">
|
||||
<h3>DRAW_UPPER_TRIBE</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></span> <span class="element-name">DRAW_UPPER_TRIBE</span></div>
|
||||
<div class="block">Event used to draw a tribe card from the upper card list.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="DRAW_LOWER_TRIBE">
|
||||
<h3>DRAW_LOWER_TRIBE</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></span> <span class="element-name">DRAW_LOWER_TRIBE</span></div>
|
||||
<div class="block">Event used to draw a tribe card from the lower card list.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="DRAW_UPPER_BUILD">
|
||||
<h3>DRAW_UPPER_BUILD</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></span> <span class="element-name">DRAW_UPPER_BUILD</span></div>
|
||||
<div class="block">Event used to draw a building card from the upper card list.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="DRAW_LOWER_BUILD">
|
||||
<h3>DRAW_LOWER_BUILD</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></span> <span class="element-name">DRAW_LOWER_BUILD</span></div>
|
||||
<div class="block">Event used to draw a building card from the lower card list.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="SKIP_TURN">
|
||||
<h3>SKIP_TURN</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></span> <span class="element-name">SKIP_TURN</span></div>
|
||||
<div class="block">Event used to skip the current turn or optional action.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="DISCONNECTED_PLAYER">
|
||||
<h3>DISCONNECTED_PLAYER</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></span> <span class="element-name">DISCONNECTED_PLAYER</span></div>
|
||||
<div class="block">Event used to notify that a player has disconnected.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="RECONNECT_PLAYER">
|
||||
<h3>RECONNECT_PLAYER</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></span> <span class="element-name">RECONNECT_PLAYER</span></div>
|
||||
<div class="block">Event used to notify that a player has reconnected.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="NEXT_ROUND">
|
||||
<h3>NEXT_ROUND</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></span> <span class="element-name">NEXT_ROUND</span></div>
|
||||
<div class="block">Event used to apply the transition to the next round.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="ENDED_GAME">
|
||||
<h3>ENDED_GAME</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></span> <span class="element-name">ENDED_GAME</span></div>
|
||||
<div class="block">Event used to notify that the game has ended.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="description">
|
||||
<h3>description</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">description</span></div>
|
||||
<div class="block">Human-readable label for this event type, returned by <a href="#toString()"><code>toString()</code></a>.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(java.lang.String)">
|
||||
<h3>EventType</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="element-name">EventType</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> description)</span></div>
|
||||
</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="values()">
|
||||
<h3>values</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a>[]</span> <span class="element-name">values</span>()</div>
|
||||
<div class="block">Returns an array containing the constants of this enum class, in
|
||||
the order they are declared.</div>
|
||||
<dl class="notes">
|
||||
<dt>Returns:</dt>
|
||||
<dd>an array containing the constants of this enum class, in the order they are declared</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="valueOf(java.lang.String)">
|
||||
<h3>valueOf</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></span> <span class="element-name">valueOf</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</span></div>
|
||||
<div class="block">Returns the enum constant of this class with the specified name.
|
||||
The string must match <i>exactly</i> an identifier used to declare an
|
||||
enum constant in this class. (Extraneous whitespace characters are
|
||||
not permitted.)</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd>the enum constant with the specified name</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum class has no constant with the specified name</dd>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="toString()">
|
||||
<h3>toString</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">toString</span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Overrides:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a><<a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a>></code></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,310 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>IClient</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network, interface: IClient">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network</a></li>
|
||||
<li><a href="IClient.html" class="current-selection">IClient</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#connect(java.lang.String,int)" tabindex="0">connect(String, int)</a></li>
|
||||
<li><a href="#drawUpperTribeCard(java.lang.String,int)" tabindex="0">drawUpperTribeCard(String, int)</a></li>
|
||||
<li><a href="#drawLowerTribeCard(java.lang.String,int)" tabindex="0">drawLowerTribeCard(String, int)</a></li>
|
||||
<li><a href="#drawUpperBuildingCard(java.lang.String,int)" tabindex="0">drawUpperBuildingCard(String, int)</a></li>
|
||||
<li><a href="#drawLowerBuildingCard(java.lang.String,int)" tabindex="0">drawLowerBuildingCard(String, int)</a></li>
|
||||
<li><a href="#skipTurn(java.lang.String)" tabindex="0">skipTurn(String)</a></li>
|
||||
<li><a href="#slotChoice(java.lang.String,int)" tabindex="0">slotChoice(String, int)</a></li>
|
||||
<li><a href="#totemChoice(java.lang.String,java.lang.String)" tabindex="0">totemChoice(String, String)</a></li>
|
||||
<li><a href="#notifyDisconnection()" tabindex="0">notifyDisconnection()</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Interface IClient" class="title">Interface IClient</h1>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Known Implementing Classes:</dt>
|
||||
<dd><code><a href="RMI/Client/RMIClient.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Client">RMIClient</a>, <a href="TCP/Client/TCPClient.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Client">TCPClient</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IClient</span></div>
|
||||
<div class="block">Defines the operations that a client can request during the game.</div>
|
||||
</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></div>
|
||||
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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><a href="../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a></code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#connect(java.lang.String,int)" class="member-name-link">connect</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int proposedNPlayers)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Connects the client to the server using the specified username
|
||||
and preferred connection type.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#drawLowerBuildingCard(java.lang.String,int)" class="member-name-link">drawLowerBuildingCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Requests to draw a building card from the lower building card list.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#drawLowerTribeCard(java.lang.String,int)" class="member-name-link">drawLowerTribeCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Requests to draw a tribe card from the lower tribe card list.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#drawUpperBuildingCard(java.lang.String,int)" class="member-name-link">drawUpperBuildingCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Requests to draw a building card from the upper building card list.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#drawUpperTribeCard(java.lang.String,int)" class="member-name-link">drawUpperTribeCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Requests to draw a tribe card from the upper tribe card list.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#notifyDisconnection()" class="member-name-link">notifyDisconnection</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Notifies the server of a voluntary disconnection and closes the connection.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#skipTurn(java.lang.String)" class="member-name-link">skipTurn</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Requests to skip the current player's optional action.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#slotChoice(java.lang.String,int)" class="member-name-link">slotChoice</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Requests to assign the specified player to a slot.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#totemChoice(java.lang.String,java.lang.String)" class="member-name-link">totemChoice</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> totem)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Requests to assign the selected totem to the specified player.</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="connect(java.lang.String,int)">
|
||||
<h3>connect</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type"><a href="../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a></span> <span class="element-name">connect</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int proposedNPlayers)</span></div>
|
||||
<div class="block">Connects the client to the server using the specified username
|
||||
and preferred connection type.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username chosen by the player.</dd>
|
||||
<dd><code>proposedNPlayers</code> - the desired number of players proposed by this client.</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd><code>true</code> if the connection is established successfully,
|
||||
<code>false</code> otherwise.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawUpperTribeCard(java.lang.String,int)">
|
||||
<h3>drawUpperTribeCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">drawUpperTribeCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a tribe card from the upper tribe card list.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player performing the action.</dd>
|
||||
<dd><code>pos</code> - the position of the selected card in the upper tribe card list.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawLowerTribeCard(java.lang.String,int)">
|
||||
<h3>drawLowerTribeCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">drawLowerTribeCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a tribe card from the lower tribe card list.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player performing the action.</dd>
|
||||
<dd><code>pos</code> - the position of the selected card in the lower tribe card list.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawUpperBuildingCard(java.lang.String,int)">
|
||||
<h3>drawUpperBuildingCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">drawUpperBuildingCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a building card from the upper building card list.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player performing the action.</dd>
|
||||
<dd><code>pos</code> - the position of the selected card in the upper building card list.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawLowerBuildingCard(java.lang.String,int)">
|
||||
<h3>drawLowerBuildingCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">drawLowerBuildingCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a building card from the lower building card list.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player performing the action.</dd>
|
||||
<dd><code>pos</code> - the position of the selected card in the lower building card list.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="skipTurn(java.lang.String)">
|
||||
<h3>skipTurn</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">skipTurn</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername)</span></div>
|
||||
<div class="block">Requests to skip the current player's optional action.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player skipping the action.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="slotChoice(java.lang.String,int)">
|
||||
<h3>slotChoice</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">slotChoice</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to assign the specified player to a slot.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player making the slot choice.</dd>
|
||||
<dd><code>pos</code> - the position of the selected slot.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="totemChoice(java.lang.String,java.lang.String)">
|
||||
<h3>totemChoice</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">totemChoice</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> totem)</span></div>
|
||||
<div class="block">Requests to assign the selected totem to the specified player.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player making the totem choice.</dd>
|
||||
<dd><code>totem</code> - the name of the selected totem.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="notifyDisconnection()">
|
||||
<h3>notifyDisconnection</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">notifyDisconnection</span>()</div>
|
||||
<div class="block">Notifies the server of a voluntary disconnection and closes the connection.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+233
@@ -0,0 +1,233 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>InterfaceResolver</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network, class: InterfaceResolver">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network</a></li>
|
||||
<li><a href="InterfaceResolver.html" class="current-selection">InterfaceResolver</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E()" tabindex="0">InterfaceResolver()</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#resolveLocalInterface(java.lang.String)" tabindex="0">resolveLocalInterface(String)</a></li>
|
||||
<li><a href="#sameSubnet(java.net.InetAddress,java.net.InetAddress,int)" tabindex="0">sameSubnet(InetAddress, InetAddress, int)</a></li>
|
||||
<li><a href="#toInt(byte%5B%5D)" tabindex="0">toInt(byte[])</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class InterfaceResolver" class="title">Class InterfaceResolver</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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">it.polimi.ingsw.gc14.Network.InterfaceResolver</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">InterfaceResolver</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
|
||||
<div class="block">Utility class for resolving the local network interface to use when connecting to a server.</div>
|
||||
</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 three-column-summary">
|
||||
<div class="table-header col-first">Modifier</div>
|
||||
<div class="table-header col-second">Constructor</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private </code></div>
|
||||
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">InterfaceResolver</a>()</code></div>
|
||||
<div class="col-last even-row-color"> </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-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static 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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/25/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-tab1 method-summary-table-tab4"><code><a href="#resolveLocalInterface(java.lang.String)" class="member-name-link">resolveLocalInterface</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> serverIp)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
|
||||
<div class="block">Returns the local IPv4 address that can reach the given server IP.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>private static boolean</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#sameSubnet(java.net.InetAddress,java.net.InetAddress,int)" class="member-name-link">sameSubnet</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/InetAddress.html" title="class or interface in java.net" class="external-link">InetAddress</a> a,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/InetAddress.html" title="class or interface in java.net" class="external-link">InetAddress</a> b,
|
||||
int prefix)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
|
||||
<div class="block">Returns <code>true</code> if <code>a</code> and <code>b</code> share the same subnet given a CIDR <code>prefix</code> length.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>private static int</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#toInt(byte%5B%5D)" class="member-name-link">toInt</a><wbr>(byte[] bytes)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
|
||||
<div class="block">Converts a 4-byte big-endian IPv4 address array to a signed 32-bit integer.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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="<init>()">
|
||||
<h3>InterfaceResolver</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="element-name">InterfaceResolver</span>()</div>
|
||||
</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="resolveLocalInterface(java.lang.String)">
|
||||
<h3>resolveLocalInterface</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">resolveLocalInterface</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> serverIp)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
|
||||
<div class="block">Returns the local IPv4 address that can reach the given server IP.
|
||||
|
||||
<p>If the server is localhost, returns <code>"127.0.0.1"</code>.
|
||||
Otherwise, iterates active non-loopback interfaces to find one on the same subnet;
|
||||
falls back to a UDP connect trick if no matching subnet is found.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>serverIp</code> - the server IP address or hostname.</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd>the local IP address string to use for outbound connections.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code> - if no suitable interface can be determined.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="sameSubnet(java.net.InetAddress,java.net.InetAddress,int)">
|
||||
<h3>sameSubnet</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private static</span> <span class="return-type">boolean</span> <span class="element-name">sameSubnet</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/InetAddress.html" title="class or interface in java.net" class="external-link">InetAddress</a> a,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/InetAddress.html" title="class or interface in java.net" class="external-link">InetAddress</a> b,
|
||||
int prefix)</span></div>
|
||||
<div class="block">Returns <code>true</code> if <code>a</code> and <code>b</code> share the same subnet given a CIDR <code>prefix</code> length.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>a</code> - first IPv4 address.</dd>
|
||||
<dd><code>b</code> - second IPv4 address.</dd>
|
||||
<dd><code>prefix</code> - CIDR prefix length (0–32).</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd><code>true</code> if both addresses belong to the same subnet.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="toInt(byte[])">
|
||||
<h3>toInt</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private static</span> <span class="return-type">int</span> <span class="element-name">toInt</span><wbr><span class="parameters">(byte[] bytes)</span></div>
|
||||
<div class="block">Converts a 4-byte big-endian IPv4 address array to a signed 32-bit integer.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>bytes</code> - the 4-byte address array.</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd>the corresponding signed integer.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+321
@@ -0,0 +1,321 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>NetworkConfig</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network, class: NetworkConfig">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network</a></li>
|
||||
<li><a href="NetworkConfig.html" class="current-selection">NetworkConfig</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#RMI_PORT" tabindex="0">RMI_PORT</a></li>
|
||||
<li><a href="#TCP_PORT" tabindex="0">TCP_PORT</a></li>
|
||||
<li><a href="#HEARTBEAT_PORT" tabindex="0">HEARTBEAT_PORT</a></li>
|
||||
<li><a href="#SILENCE_THRESHOLD_MS" tabindex="0">SILENCE_THRESHOLD_MS</a></li>
|
||||
<li><a href="#KEEPALIVE_INTERVAL_MS" tabindex="0">KEEPALIVE_INTERVAL_MS</a></li>
|
||||
<li><a href="#MIN_PLAYERS" tabindex="0">MIN_PLAYERS</a></li>
|
||||
<li><a href="#MAX_PLAYERS" tabindex="0">MAX_PLAYERS</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E()" tabindex="0">NetworkConfig()</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class NetworkConfig" class="title">Class NetworkConfig</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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">it.polimi.ingsw.gc14.Network.NetworkConfig</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public final class </span><span class="element-name type-name-label">NetworkConfig</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
|
||||
<div class="block">Shared network constants used by both server and client components.</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>static final int</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#HEARTBEAT_PORT" class="member-name-link">HEARTBEAT_PORT</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Port on which the TCP heartbeat server listens.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>static final long</code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#KEEPALIVE_INTERVAL_MS" class="member-name-link">KEEPALIVE_INTERVAL_MS</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Milliseconds between keep-alive pings sent by the client.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>static final int</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#MAX_PLAYERS" class="member-name-link">MAX_PLAYERS</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Maximum number of players allowed in a game.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>static final int</code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#MIN_PLAYERS" class="member-name-link">MIN_PLAYERS</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Minimum number of players required to start a game.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>static final int</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#RMI_PORT" class="member-name-link">RMI_PORT</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Port on which the RMI registry listens.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>static final long</code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#SILENCE_THRESHOLD_MS" class="member-name-link">SILENCE_THRESHOLD_MS</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Milliseconds of silence before a client is considered disconnected.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>static final int</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#TCP_PORT" class="member-name-link">TCP_PORT</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Port on which the TCP game server listens.</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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 three-column-summary">
|
||||
<div class="table-header col-first">Modifier</div>
|
||||
<div class="table-header col-second">Constructor</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private </code></div>
|
||||
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">NetworkConfig</a>()</code></div>
|
||||
<div class="col-last even-row-color"> </div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========== METHOD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="method-summary" id="method-summary">
|
||||
<h2>Method Summary</h2>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="RMI_PORT">
|
||||
<h3>RMI_PORT</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">int</span> <span class="element-name">RMI_PORT</span></div>
|
||||
<div class="block">Port on which the RMI registry listens.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../constant-values.html#it.polimi.ingsw.gc14.Network.NetworkConfig.RMI_PORT">Constant Field Values</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="TCP_PORT">
|
||||
<h3>TCP_PORT</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">int</span> <span class="element-name">TCP_PORT</span></div>
|
||||
<div class="block">Port on which the TCP game server listens.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../constant-values.html#it.polimi.ingsw.gc14.Network.NetworkConfig.TCP_PORT">Constant Field Values</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="HEARTBEAT_PORT">
|
||||
<h3>HEARTBEAT_PORT</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">int</span> <span class="element-name">HEARTBEAT_PORT</span></div>
|
||||
<div class="block">Port on which the TCP heartbeat server listens.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../constant-values.html#it.polimi.ingsw.gc14.Network.NetworkConfig.HEARTBEAT_PORT">Constant Field Values</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="SILENCE_THRESHOLD_MS">
|
||||
<h3>SILENCE_THRESHOLD_MS</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">long</span> <span class="element-name">SILENCE_THRESHOLD_MS</span></div>
|
||||
<div class="block">Milliseconds of silence before a client is considered disconnected.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../constant-values.html#it.polimi.ingsw.gc14.Network.NetworkConfig.SILENCE_THRESHOLD_MS">Constant Field Values</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="KEEPALIVE_INTERVAL_MS">
|
||||
<h3>KEEPALIVE_INTERVAL_MS</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">long</span> <span class="element-name">KEEPALIVE_INTERVAL_MS</span></div>
|
||||
<div class="block">Milliseconds between keep-alive pings sent by the client.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../constant-values.html#it.polimi.ingsw.gc14.Network.NetworkConfig.KEEPALIVE_INTERVAL_MS">Constant Field Values</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="MIN_PLAYERS">
|
||||
<h3>MIN_PLAYERS</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">int</span> <span class="element-name">MIN_PLAYERS</span></div>
|
||||
<div class="block">Minimum number of players required to start a game.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../constant-values.html#it.polimi.ingsw.gc14.Network.NetworkConfig.MIN_PLAYERS">Constant Field Values</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="MAX_PLAYERS">
|
||||
<h3>MAX_PLAYERS</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">int</span> <span class="element-name">MAX_PLAYERS</span></div>
|
||||
<div class="block">Maximum number of players allowed in a game.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../constant-values.html#it.polimi.ingsw.gc14.Network.NetworkConfig.MAX_PLAYERS">Constant Field Values</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>()">
|
||||
<h3>NetworkConfig</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="element-name">NetworkConfig</span>()</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+588
@@ -0,0 +1,588 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>NetworkEvent</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network, class: NetworkEvent">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network</a></li>
|
||||
<li><a href="NetworkEvent.html" class="current-selection">NetworkEvent</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#errorType" tabindex="0">errorType</a></li>
|
||||
<li><a href="#username" tabindex="0">username</a></li>
|
||||
<li><a href="#eventType" tabindex="0">eventType</a></li>
|
||||
<li><a href="#slotPlayerMap" tabindex="0">slotPlayerMap</a></li>
|
||||
<li><a href="#orderLogicCard" tabindex="0">orderLogicCard</a></li>
|
||||
<li><a href="#currentState" tabindex="0">currentState</a></li>
|
||||
<li><a href="#playerList" tabindex="0">playerList</a></li>
|
||||
<li><a href="#disconnectedPlayers" tabindex="0">disconnectedPlayers</a></li>
|
||||
<li><a href="#isError" tabindex="0">isError</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.lang.String,it.polimi.ingsw.gc14.Network.EventType,boolean,it.polimi.ingsw.gc14.ErrorType)" tabindex="0">NetworkEvent(String, EventType, boolean, ErrorType)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#getErrorType()" tabindex="0">getErrorType()</a></li>
|
||||
<li><a href="#getUsername()" tabindex="0">getUsername()</a></li>
|
||||
<li><a href="#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" tabindex="0">enrichWithGameState(Game, ArrayList)</a></li>
|
||||
<li><a href="#setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)" tabindex="0">setData(Map, OrderLogicCard, CurrentState, List)</a></li>
|
||||
<li><a href="#getEventType()" tabindex="0">getEventType()</a></li>
|
||||
<li><a href="#isError()" tabindex="0">isError()</a></li>
|
||||
<li><a href="#setIsError(boolean)" tabindex="0">setIsError(boolean)</a></li>
|
||||
<li><a href="#setErrorType(it.polimi.ingsw.gc14.ErrorType)" tabindex="0">setErrorType(ErrorType)</a></li>
|
||||
<li><a href="#toString()" tabindex="0">toString()</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" tabindex="0">apply(GameController)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">apply(MiniModel)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class NetworkEvent" class="title">Class NetworkEvent</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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">it.polimi.ingsw.gc14.Network.NetworkEvent</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
|
||||
</dl>
|
||||
<dl class="notes">
|
||||
<dt>Direct Known Subclasses:</dt>
|
||||
<dd><code><a href="NetworkEvents/AddPlayer.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">AddPlayer</a>, <a href="NetworkEvents/ApplyNextRound.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">ApplyNextRound</a>, <a href="NetworkEvents/DisconnectedPlayer.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">DisconnectedPlayer</a>, <a href="NetworkEvents/DrawLowerBuildingCard.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">DrawLowerBuildingCard</a>, <a href="NetworkEvents/DrawLowerTribeCard.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">DrawLowerTribeCard</a>, <a href="NetworkEvents/DrawUpperBuildingCard.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">DrawUpperBuildingCard</a>, <a href="NetworkEvents/DrawUpperTribeCard.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">DrawUpperTribeCard</a>, <a href="NetworkEvents/EndedGame.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">EndedGame</a>, <a href="NetworkEvents/ReconnectPlayer.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">ReconnectPlayer</a>, <a href="NetworkEvents/SkipTurn.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">SkipTurn</a>, <a href="NetworkEvents/SlotChoice.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">SlotChoice</a>, <a href="NetworkEvents/TotemChoice.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">TotemChoice</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">NetworkEvent</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
|
||||
implements <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></span></div>
|
||||
<div class="block">Represents an event sent over the network.
|
||||
|
||||
<p>A network event contains the information required to identify
|
||||
the requested action, determine whether it produced an error,
|
||||
and apply it either to the server-side <a href="../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller"><code>GameController</code></a>
|
||||
or to the client-side <a href="../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model"><code>MiniModel</code></a>.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../serialized-form.html#it.polimi.ingsw.gc14.Network.NetworkEvent">Serialized Form</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>protected <a href="../Model/GamePackage/CurrentState.html" title="class in it.polimi.ingsw.gc14.Model.GamePackage">CurrentState</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#currentState" class="member-name-link">currentState</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Current state of the game associated with the event.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><wbr><<a href="https://docs.oracle.com/en/java/javase/25/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"><code><a href="#disconnectedPlayers" class="member-name-link">disconnectedPlayers</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Usernames of players currently disconnected from the game.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>protected <a href="../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#errorType" class="member-name-link">errorType</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">The error type associated with this event; set when the event failed to apply.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>protected final <a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#eventType" class="member-name-link">eventType</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Type of the network event.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>protected boolean</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#isError" class="member-name-link">isError</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Flag indicating whether the event could not be applied successfully.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>protected <a href="../Model/OrderLogicCard.html" title="class in it.polimi.ingsw.gc14.Model">OrderLogicCard</a></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#orderLogicCard" class="member-name-link">orderLogicCard</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Order logic card used to manage the player turn order.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><wbr><<a href="../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#playerList" class="member-name-link">playerList</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">List of all players.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><wbr><<a href="../Model/Slot.html" title="class in it.polimi.ingsw.gc14.Model">Slot</a>,<wbr><a href="../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#slotPlayerMap" class="member-name-link">slotPlayerMap</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Map associating each occupied slot with the corresponding player.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>protected final <a href="https://docs.oracle.com/en/java/javase/25/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"><code><a href="#username" class="member-name-link">username</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Username of the player requesting the event.</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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 three-column-summary">
|
||||
<div class="table-header col-first">Modifier</div>
|
||||
<div class="table-header col-second">Constructor</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>protected </code></div>
|
||||
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String,it.polimi.ingsw.gc14.Network.EventType,boolean,it.polimi.ingsw.gc14.ErrorType)" class="member-name-link">NetworkEvent</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
<a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a> eventType,
|
||||
boolean isError,
|
||||
<a href="../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a> errorType)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Constructs a network event.</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-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-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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>abstract boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" class="member-name-link">apply</a><wbr>(<a href="../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Applies this event to the specified server-side game controller.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">apply</a><wbr>(<a href="../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> model)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Applies this event to the specified client-side mini model.</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="#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" class="member-name-link">enrichWithGameState</a><wbr>(<a href="../Model/Game.html" title="class in it.polimi.ingsw.gc14.Model">Game</a> game,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> disconnectedUsernames)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Populates this event with the current game state so clients can
|
||||
update their local model after receiving it.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a></code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getErrorType()" class="member-name-link">getErrorType</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Returns the error type associated with this event.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getEventType()" class="member-name-link">getEventType</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Returns the type of this event.</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/25/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-tab4"><code><a href="#getUsername()" class="member-name-link">getUsername</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Returns the username of the player requesting the event.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isError()" class="member-name-link">isError</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Returns whether the event represents an error.</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="#setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)" class="member-name-link">setData</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="../Model/Slot.html" title="class in it.polimi.ingsw.gc14.Model">Slot</a>,<wbr><a href="../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>> slotPlayerMap,
|
||||
<a href="../Model/OrderLogicCard.html" title="class in it.polimi.ingsw.gc14.Model">OrderLogicCard</a> orderLogicCard,
|
||||
<a href="../Model/GamePackage/CurrentState.html" title="class in it.polimi.ingsw.gc14.Model.GamePackage">CurrentState</a> currentState,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>> playerList)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Sets the game data associated with this network event.</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="#setErrorType(it.polimi.ingsw.gc14.ErrorType)" class="member-name-link">setErrorType</a><wbr>(<a href="../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a> errorType)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Overrides the error type for this event.</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="#setIsError(boolean)" class="member-name-link">setIsError</a><wbr>(boolean isError)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Sets whether the event represents an error.</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/25/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-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Returns a textual description of the event and its outcome.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="errorType">
|
||||
<h3>errorType</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a></span> <span class="element-name">errorType</span></div>
|
||||
<div class="block">The error type associated with this event; set when the event failed to apply.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="username">
|
||||
<h3>username</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">protected final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">username</span></div>
|
||||
<div class="block">Username of the player requesting the event.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="eventType">
|
||||
<h3>eventType</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">protected final</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></span> <span class="element-name">eventType</span></div>
|
||||
<div class="block">Type of the network event.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="slotPlayerMap">
|
||||
<h3>slotPlayerMap</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="../Model/Slot.html" title="class in it.polimi.ingsw.gc14.Model">Slot</a>,<wbr><a href="../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>></span> <span class="element-name">slotPlayerMap</span></div>
|
||||
<div class="block">Map associating each occupied slot with the corresponding player.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="orderLogicCard">
|
||||
<h3>orderLogicCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../Model/OrderLogicCard.html" title="class in it.polimi.ingsw.gc14.Model">OrderLogicCard</a></span> <span class="element-name">orderLogicCard</span></div>
|
||||
<div class="block">Order logic card used to manage the player turn order.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="currentState">
|
||||
<h3>currentState</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../Model/GamePackage/CurrentState.html" title="class in it.polimi.ingsw.gc14.Model.GamePackage">CurrentState</a></span> <span class="element-name">currentState</span></div>
|
||||
<div class="block">Current state of the game associated with the event.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="playerList">
|
||||
<h3>playerList</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>></span> <span class="element-name">playerList</span></div>
|
||||
<div class="block">List of all players.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="disconnectedPlayers">
|
||||
<h3>disconnectedPlayers</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></span> <span class="element-name">disconnectedPlayers</span></div>
|
||||
<div class="block">Usernames of players currently disconnected from the game.
|
||||
Sent with every event so clients always have an up-to-date list.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="isError">
|
||||
<h3>isError</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">boolean</span> <span class="element-name">isError</span></div>
|
||||
<div class="block">Flag indicating whether the event could not be applied successfully.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(java.lang.String,it.polimi.ingsw.gc14.Network.EventType,boolean,it.polimi.ingsw.gc14.ErrorType)">
|
||||
<h3>NetworkEvent</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="element-name">NetworkEvent</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
<a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a> eventType,
|
||||
boolean isError,
|
||||
<a href="../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a> errorType)</span></div>
|
||||
<div class="block">Constructs a network event.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username of the player requesting the event.</dd>
|
||||
<dd><code>eventType</code> - the type of the event.</dd>
|
||||
<dd><code>isError</code> - <code>true</code> if the event represents an error,
|
||||
<code>false</code> otherwise.</dd>
|
||||
</dl>
|
||||
</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="getErrorType()">
|
||||
<h3>getErrorType</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a></span> <span class="element-name">getErrorType</span>()</div>
|
||||
<div class="block">Returns the error type associated with this event.</div>
|
||||
<dl class="notes">
|
||||
<dt>Returns:</dt>
|
||||
<dd>the error type, or <code>null</code> if no error occurred.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getUsername()">
|
||||
<h3>getUsername</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">getUsername</span>()</div>
|
||||
<div class="block">Returns the username of the player requesting the event.</div>
|
||||
<dl class="notes">
|
||||
<dt>Returns:</dt>
|
||||
<dd>the username associated with the event.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)">
|
||||
<h3>enrichWithGameState</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">enrichWithGameState</span><wbr><span class="parameters">(<a href="../Model/Game.html" title="class in it.polimi.ingsw.gc14.Model">Game</a> game,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> disconnectedUsernames)</span></div>
|
||||
<div class="block">Populates this event with the current game state so clients can
|
||||
update their local model after receiving it.
|
||||
Subclasses that carry extra state (available totems, etc.) override
|
||||
this method and call <code>super</code> first.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>game</code> - the current game model.</dd>
|
||||
<dd><code>disconnectedUsernames</code> - usernames of currently disconnected players.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)">
|
||||
<h3>setData</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">setData</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="../Model/Slot.html" title="class in it.polimi.ingsw.gc14.Model">Slot</a>,<wbr><a href="../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>> slotPlayerMap,
|
||||
<a href="../Model/OrderLogicCard.html" title="class in it.polimi.ingsw.gc14.Model">OrderLogicCard</a> orderLogicCard,
|
||||
<a href="../Model/GamePackage/CurrentState.html" title="class in it.polimi.ingsw.gc14.Model.GamePackage">CurrentState</a> currentState,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>> playerList)</span></div>
|
||||
<div class="block">Sets the game data associated with this network event.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>slotPlayerMap</code> - the map associating each slot with the player occupying it.</dd>
|
||||
<dd><code>orderLogicCard</code> - the order logic card used to manage turn order.</dd>
|
||||
<dd><code>currentState</code> - the current state of the game.</dd>
|
||||
<dd><code>playerList</code> - the list of the actual state of the players</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getEventType()">
|
||||
<h3>getEventType</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></span> <span class="element-name">getEventType</span>()</div>
|
||||
<div class="block">Returns the type of this event.</div>
|
||||
<dl class="notes">
|
||||
<dt>Returns:</dt>
|
||||
<dd>the event type.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="isError()">
|
||||
<h3>isError</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">isError</span>()</div>
|
||||
<div class="block">Returns whether the event represents an error.</div>
|
||||
<dl class="notes">
|
||||
<dt>Returns:</dt>
|
||||
<dd><code>true</code> if the event could not be applied successfully,
|
||||
<code>false</code> otherwise.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="setIsError(boolean)">
|
||||
<h3>setIsError</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">setIsError</span><wbr><span class="parameters">(boolean isError)</span></div>
|
||||
<div class="block">Sets whether the event represents an error.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>isError</code> - <code>true</code> if the event could not be applied successfully,
|
||||
<code>false</code> otherwise.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="setErrorType(it.polimi.ingsw.gc14.ErrorType)">
|
||||
<h3>setErrorType</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">setErrorType</span><wbr><span class="parameters">(<a href="../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a> errorType)</span></div>
|
||||
<div class="block">Overrides the error type for this event.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>errorType</code> - the error type to set.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="toString()">
|
||||
<h3>toString</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">toString</span>()</div>
|
||||
<div class="block">Returns a textual description of the event and its outcome.</div>
|
||||
<dl class="notes">
|
||||
<dt>Overrides:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd>a string describing the event type and whether it represents an error.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Controller.GameController)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type">boolean</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</span></div>
|
||||
<div class="block">Applies this event to the specified server-side game controller.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>gameController</code> - the game controller on which the event must be applied.</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd><code>true</code> if the event is applied successfully,
|
||||
<code>false</code> otherwise.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type">void</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> model)</span></div>
|
||||
<div class="block">Applies this event to the specified client-side mini model.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>model</code> - the mini model on which the event must be applied.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+293
@@ -0,0 +1,293 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>AddPlayer</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.NetworkEvents, class: AddPlayer">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.NetworkEvents</a></li>
|
||||
<li><a href="AddPlayer.html" class="current-selection">AddPlayer</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#proposedNPlayer" tabindex="0">proposedNPlayer</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.lang.String,int)" tabindex="0">AddPlayer(String, int)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#getProposedNPlayer()" tabindex="0">getProposedNPlayer()</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" tabindex="0">apply(GameController)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">apply(MiniModel)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class AddPlayer" class="title">Class AddPlayer</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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"><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">it.polimi.ingsw.gc14.Network.NetworkEvent</a>
|
||||
<div class="inheritance">it.polimi.ingsw.gc14.Network.NetworkEvents.AddPlayer</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">AddPlayer</span>
|
||||
<span class="extends-implements">extends <a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></span></div>
|
||||
<div class="block">Network event used to register a new player in the lobby.
|
||||
|
||||
<p>The first player to join also proposes the desired number of players
|
||||
for the match. Subsequent joiners ignore <code>proposedNPlayer</code> if the
|
||||
game has already been created.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../serialized-form.html#it.polimi.ingsw.gc14.Network.NetworkEvents.AddPlayer">Serialized Form</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final int</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#proposedNPlayer" class="member-name-link">proposedNPlayer</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Number of players proposed by this player; used only when creating a new game.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="fields-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Fields inherited from class <a href="../NetworkEvent.html#field-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#currentState">currentState</a>, <a href="../NetworkEvent.html#disconnectedPlayers">disconnectedPlayers</a>, <a href="../NetworkEvent.html#errorType">errorType</a>, <a href="../NetworkEvent.html#eventType">eventType</a>, <a href="../NetworkEvent.html#isError">isError</a>, <a href="../NetworkEvent.html#orderLogicCard">orderLogicCard</a>, <a href="../NetworkEvent.html#playerList">playerList</a>, <a href="../NetworkEvent.html#slotPlayerMap">slotPlayerMap</a>, <a href="../NetworkEvent.html#username">username</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(java.lang.String,int)" class="member-name-link">AddPlayer</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int proposedNPlayer)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Class constructor.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" class="member-name-link">apply</a><wbr>(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the specified server-side game controller.</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="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">apply</a><wbr>(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the client-side mini model, updating players,
|
||||
turn order, game state, and slot map.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getProposedNPlayer()" class="member-name-link">getProposedNPlayer</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Methods inherited from class <a href="../NetworkEvent.html#method-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" title="enrichWithGameState(Game, ArrayList)">enrichWithGameState</a>, <a href="../NetworkEvent.html#getErrorType()" title="getErrorType()">getErrorType</a>, <a href="../NetworkEvent.html#getEventType()" title="getEventType()">getEventType</a>, <a href="../NetworkEvent.html#getUsername()" title="getUsername()">getUsername</a>, <a href="../NetworkEvent.html#isError()" title="isError()">isError</a>, <a href="../NetworkEvent.html#setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)" title="setData(Map, OrderLogicCard, CurrentState, List)">setData</a>, <a href="../NetworkEvent.html#setErrorType(it.polimi.ingsw.gc14.ErrorType)" title="setErrorType(ErrorType)">setErrorType</a>, <a href="../NetworkEvent.html#setIsError(boolean)" title="setIsError(boolean)">setIsError</a>, <a href="../NetworkEvent.html#toString()" title="toString()">toString</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="proposedNPlayer">
|
||||
<h3>proposedNPlayer</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">int</span> <span class="element-name">proposedNPlayer</span></div>
|
||||
<div class="block">Number of players proposed by this player; used only when creating a new game.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(java.lang.String,int)">
|
||||
<h3>AddPlayer</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">AddPlayer</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int proposedNPlayer)</span></div>
|
||||
<div class="block">Class constructor.
|
||||
Initializes all the attributes.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the name of the player requesting the event</dd>
|
||||
<dd><code>proposedNPlayer</code> - the number of proposed players to add to the match</dd>
|
||||
</dl>
|
||||
</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="getProposedNPlayer()">
|
||||
<h3>getProposedNPlayer</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">int</span> <span class="element-name">getProposedNPlayer</span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Returns:</dt>
|
||||
<dd>the number of proposed players to add to the match</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Controller.GameController)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</span></div>
|
||||
<div class="block"><span class="description-from-type-label">Description copied from class: <code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">NetworkEvent</a></code></span></div>
|
||||
<div class="block">Applies this event to the specified server-side game controller.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>gameController</code> - the Game Controller on which to apply the event</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd>true if the player could be added to the match, false otherwise</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</span></div>
|
||||
<div class="block">Applies this event to the client-side mini model, updating players,
|
||||
turn order, game state, and slot map.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Model.MiniModel)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>miniModel</code> - the client-side model to update.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+339
@@ -0,0 +1,339 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>ApplyNextRound</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.NetworkEvents, class: ApplyNextRound">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.NetworkEvents</a></li>
|
||||
<li><a href="ApplyNextRound.html" class="current-selection">ApplyNextRound</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#upperListTribeCards" tabindex="0">upperListTribeCards</a></li>
|
||||
<li><a href="#lowerListTribeCards" tabindex="0">lowerListTribeCards</a></li>
|
||||
<li><a href="#upperListBuildingCards" tabindex="0">upperListBuildingCards</a></li>
|
||||
<li><a href="#lowerListBuildingCards" tabindex="0">lowerListBuildingCards</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList)" tabindex="0">ApplyNextRound(Map, OrderLogicCard, CurrentState, List, ArrayList, ArrayList, ArrayList, ArrayList)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" tabindex="0">apply(GameController)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">apply(MiniModel)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class ApplyNextRound" class="title">Class ApplyNextRound</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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"><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">it.polimi.ingsw.gc14.Network.NetworkEvent</a>
|
||||
<div class="inheritance">it.polimi.ingsw.gc14.Network.NetworkEvents.ApplyNextRound</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ApplyNextRound</span>
|
||||
<span class="extends-implements">extends <a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></span></div>
|
||||
<div class="block">Network event that transitions all clients to the next round.
|
||||
|
||||
<p>Carries refreshed card lists for all four board rows in addition
|
||||
to the standard game state (slot map, turn order, current state,
|
||||
player list). Only applied client-side; <a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)"><code>apply(GameController)</code></a>
|
||||
always returns <code>false</code>.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../serialized-form.html#it.polimi.ingsw.gc14.Network.NetworkEvents.ApplyNextRound">Serialized Form</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><wbr><<a href="../../Model/Cards/BuildingCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">BuildingCard</a>></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#lowerListBuildingCards" class="member-name-link">lowerListBuildingCards</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Building cards shown in the lower row of the board for the new round.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><wbr><<a href="../../Model/Cards/TribeCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">TribeCard</a>></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#lowerListTribeCards" class="member-name-link">lowerListTribeCards</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Tribe cards shown in the lower row of the board for the new round.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><wbr><<a href="../../Model/Cards/BuildingCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">BuildingCard</a>></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#upperListBuildingCards" class="member-name-link">upperListBuildingCards</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Building cards shown in the upper row of the board for the new round.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><wbr><<a href="../../Model/Cards/TribeCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">TribeCard</a>></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#upperListTribeCards" class="member-name-link">upperListTribeCards</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Tribe cards shown in the upper row of the board for the new round.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="fields-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Fields inherited from class <a href="../NetworkEvent.html#field-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#currentState">currentState</a>, <a href="../NetworkEvent.html#disconnectedPlayers">disconnectedPlayers</a>, <a href="../NetworkEvent.html#errorType">errorType</a>, <a href="../NetworkEvent.html#eventType">eventType</a>, <a href="../NetworkEvent.html#isError">isError</a>, <a href="../NetworkEvent.html#orderLogicCard">orderLogicCard</a>, <a href="../NetworkEvent.html#playerList">playerList</a>, <a href="../NetworkEvent.html#slotPlayerMap">slotPlayerMap</a>, <a href="../NetworkEvent.html#username">username</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList)" class="member-name-link">ApplyNextRound</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="../../Model/Slot.html" title="class in it.polimi.ingsw.gc14.Model">Slot</a>,<wbr><a href="../../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>> slotPlayerMap,
|
||||
<a href="../../Model/OrderLogicCard.html" title="class in it.polimi.ingsw.gc14.Model">OrderLogicCard</a> orderLogicCard,
|
||||
<a href="../../Model/GamePackage/CurrentState.html" title="class in it.polimi.ingsw.gc14.Model.GamePackage">CurrentState</a> currentState,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>> players,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="../../Model/Cards/TribeCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">TribeCard</a>> upperListTribeCards,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="../../Model/Cards/TribeCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">TribeCard</a>> lowerListTribeCards,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="../../Model/Cards/BuildingCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">BuildingCard</a>> upperListBuildingCards,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="../../Model/Cards/BuildingCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">BuildingCard</a>> lowerListBuildingCards)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Constructs an event that updates the game state for the next round.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" class="member-name-link">apply</a><wbr>(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Not applicable server-side.</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="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">apply</a><wbr>(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the client-side mini model, updating all board lists,
|
||||
slot map, turn order, and game state for the new round.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Methods inherited from class <a href="../NetworkEvent.html#method-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" title="enrichWithGameState(Game, ArrayList)">enrichWithGameState</a>, <a href="../NetworkEvent.html#getErrorType()" title="getErrorType()">getErrorType</a>, <a href="../NetworkEvent.html#getEventType()" title="getEventType()">getEventType</a>, <a href="../NetworkEvent.html#getUsername()" title="getUsername()">getUsername</a>, <a href="../NetworkEvent.html#isError()" title="isError()">isError</a>, <a href="../NetworkEvent.html#setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)" title="setData(Map, OrderLogicCard, CurrentState, List)">setData</a>, <a href="../NetworkEvent.html#setErrorType(it.polimi.ingsw.gc14.ErrorType)" title="setErrorType(ErrorType)">setErrorType</a>, <a href="../NetworkEvent.html#setIsError(boolean)" title="setIsError(boolean)">setIsError</a>, <a href="../NetworkEvent.html#toString()" title="toString()">toString</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="upperListTribeCards">
|
||||
<h3>upperListTribeCards</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="../../Model/Cards/TribeCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">TribeCard</a>></span> <span class="element-name">upperListTribeCards</span></div>
|
||||
<div class="block">Tribe cards shown in the upper row of the board for the new round.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="lowerListTribeCards">
|
||||
<h3>lowerListTribeCards</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="../../Model/Cards/TribeCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">TribeCard</a>></span> <span class="element-name">lowerListTribeCards</span></div>
|
||||
<div class="block">Tribe cards shown in the lower row of the board for the new round.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="upperListBuildingCards">
|
||||
<h3>upperListBuildingCards</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="../../Model/Cards/BuildingCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">BuildingCard</a>></span> <span class="element-name">upperListBuildingCards</span></div>
|
||||
<div class="block">Building cards shown in the upper row of the board for the new round.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="lowerListBuildingCards">
|
||||
<h3>lowerListBuildingCards</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="../../Model/Cards/BuildingCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">BuildingCard</a>></span> <span class="element-name">lowerListBuildingCards</span></div>
|
||||
<div class="block">Building cards shown in the lower row of the board for the new round.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList)">
|
||||
<h3>ApplyNextRound</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">ApplyNextRound</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="../../Model/Slot.html" title="class in it.polimi.ingsw.gc14.Model">Slot</a>,<wbr><a href="../../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>> slotPlayerMap,
|
||||
<a href="../../Model/OrderLogicCard.html" title="class in it.polimi.ingsw.gc14.Model">OrderLogicCard</a> orderLogicCard,
|
||||
<a href="../../Model/GamePackage/CurrentState.html" title="class in it.polimi.ingsw.gc14.Model.GamePackage">CurrentState</a> currentState,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>> players,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="../../Model/Cards/TribeCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">TribeCard</a>> upperListTribeCards,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="../../Model/Cards/TribeCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">TribeCard</a>> lowerListTribeCards,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="../../Model/Cards/BuildingCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">BuildingCard</a>> upperListBuildingCards,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="../../Model/Cards/BuildingCard.html" title="class in it.polimi.ingsw.gc14.Model.Cards">BuildingCard</a>> lowerListBuildingCards)</span></div>
|
||||
<div class="block">Constructs an event that updates the game state for the next round.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>slotPlayerMap</code> - the map associating each slot with the player occupying it.</dd>
|
||||
<dd><code>orderLogicCard</code> - the order logic card that determines the player order.</dd>
|
||||
<dd><code>currentState</code> - the current state of the game.</dd>
|
||||
<dd><code>players</code> - the list of players in the game.</dd>
|
||||
<dd><code>upperListTribeCards</code> - the upper row of tribe cards for the new round.</dd>
|
||||
<dd><code>lowerListTribeCards</code> - the lower row of tribe cards for the new round.</dd>
|
||||
<dd><code>upperListBuildingCards</code> - the upper row of building cards for the new round.</dd>
|
||||
<dd><code>lowerListBuildingCards</code> - the lower row of building cards for the new round.</dd>
|
||||
</dl>
|
||||
</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="apply(it.polimi.ingsw.gc14.Controller.GameController)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</span></div>
|
||||
<div class="block">Not applicable server-side.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>gameController</code> - the game controller (unused).</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd><code>false</code> always.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</span></div>
|
||||
<div class="block">Applies this event to the client-side mini model, updating all board lists,
|
||||
slot map, turn order, and game state for the new round.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Model.MiniModel)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>miniModel</code> - the client-side model to update.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+300
@@ -0,0 +1,300 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>DisconnectedPlayer</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.NetworkEvents, class: DisconnectedPlayer">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.NetworkEvents</a></li>
|
||||
<li><a href="DisconnectedPlayer.html" class="current-selection">DisconnectedPlayer</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#availableTotems" tabindex="0">availableTotems</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.lang.String)" tabindex="0">DisconnectedPlayer(String)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" tabindex="0">enrichWithGameState(Game, ArrayList)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" tabindex="0">apply(GameController)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">apply(MiniModel)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class DisconnectedPlayer" class="title">Class DisconnectedPlayer</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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"><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">it.polimi.ingsw.gc14.Network.NetworkEvent</a>
|
||||
<div class="inheritance">it.polimi.ingsw.gc14.Network.NetworkEvents.DisconnectedPlayer</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DisconnectedPlayer</span>
|
||||
<span class="extends-implements">extends <a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></span></div>
|
||||
<div class="block">Network event used to notify all clients that a player has disconnected.
|
||||
|
||||
<p>Also carries the updated list of available totems, since a disconnection
|
||||
during totem selection may free a totem for other players.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../serialized-form.html#it.polimi.ingsw.gc14.Network.NetworkEvents.DisconnectedPlayer">Serialized Form</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><wbr><<a href="../../Model/Totems.html" title="enum class in it.polimi.ingsw.gc14.Model">Totems</a>></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#availableTotems" class="member-name-link">availableTotems</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Updated list of totems available after the disconnection frees any previously chosen totem.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="fields-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Fields inherited from class <a href="../NetworkEvent.html#field-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#currentState">currentState</a>, <a href="../NetworkEvent.html#disconnectedPlayers">disconnectedPlayers</a>, <a href="../NetworkEvent.html#errorType">errorType</a>, <a href="../NetworkEvent.html#eventType">eventType</a>, <a href="../NetworkEvent.html#isError">isError</a>, <a href="../NetworkEvent.html#orderLogicCard">orderLogicCard</a>, <a href="../NetworkEvent.html#playerList">playerList</a>, <a href="../NetworkEvent.html#slotPlayerMap">slotPlayerMap</a>, <a href="../NetworkEvent.html#username">username</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(java.lang.String)" class="member-name-link">DisconnectedPlayer</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Constructs a disconnection event for the specified player.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" class="member-name-link">apply</a><wbr>(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this disconnection event to the server-side game controller.</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="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">apply</a><wbr>(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this disconnection event to the client-side mini model,
|
||||
updating player data, turn order, game state, and disconnected player list.</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="#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" class="member-name-link">enrichWithGameState</a><wbr>(<a href="../../Model/Game.html" title="class in it.polimi.ingsw.gc14.Model">Game</a> game,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> disconnectedUsernames)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Populates this event with the current game state so clients can
|
||||
update their local model after receiving it.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Methods inherited from class <a href="../NetworkEvent.html#method-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#getErrorType()" title="getErrorType()">getErrorType</a>, <a href="../NetworkEvent.html#getEventType()" title="getEventType()">getEventType</a>, <a href="../NetworkEvent.html#getUsername()" title="getUsername()">getUsername</a>, <a href="../NetworkEvent.html#isError()" title="isError()">isError</a>, <a href="../NetworkEvent.html#setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)" title="setData(Map, OrderLogicCard, CurrentState, List)">setData</a>, <a href="../NetworkEvent.html#setErrorType(it.polimi.ingsw.gc14.ErrorType)" title="setErrorType(ErrorType)">setErrorType</a>, <a href="../NetworkEvent.html#setIsError(boolean)" title="setIsError(boolean)">setIsError</a>, <a href="../NetworkEvent.html#toString()" title="toString()">toString</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="availableTotems">
|
||||
<h3>availableTotems</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../Model/Totems.html" title="enum class in it.polimi.ingsw.gc14.Model">Totems</a>></span> <span class="element-name">availableTotems</span></div>
|
||||
<div class="block">Updated list of totems available after the disconnection frees any previously chosen totem.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(java.lang.String)">
|
||||
<h3>DisconnectedPlayer</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">DisconnectedPlayer</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</span></div>
|
||||
<div class="block">Constructs a disconnection event for the specified player.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username of the player who disconnected.</dd>
|
||||
</dl>
|
||||
</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="enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)">
|
||||
<h3>enrichWithGameState</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">enrichWithGameState</span><wbr><span class="parameters">(<a href="../../Model/Game.html" title="class in it.polimi.ingsw.gc14.Model">Game</a> game,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> disconnectedUsernames)</span></div>
|
||||
<div class="block"><span class="description-from-type-label">Description copied from class: <code><a href="../NetworkEvent.html#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)">NetworkEvent</a></code></span></div>
|
||||
<div class="block">Populates this event with the current game state so clients can
|
||||
update their local model after receiving it.
|
||||
Subclasses that carry extra state (available totems, etc.) override
|
||||
this method and call <code>super</code> first.</div>
|
||||
<dl class="notes">
|
||||
<dt>Overrides:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)">enrichWithGameState</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>game</code> - the current game model.</dd>
|
||||
<dd><code>disconnectedUsernames</code> - usernames of currently disconnected players.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Controller.GameController)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</span></div>
|
||||
<div class="block">Applies this disconnection event to the server-side game controller.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>gameController</code> - the game controller on which to apply the event.</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd><code>true</code> if the disconnection is handled successfully.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</span></div>
|
||||
<div class="block">Applies this disconnection event to the client-side mini model,
|
||||
updating player data, turn order, game state, and disconnected player list.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Model.MiniModel)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>miniModel</code> - the client-side model to update.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+273
@@ -0,0 +1,273 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>DrawLowerBuildingCard</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.NetworkEvents, class: DrawLowerBuildingCard">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.NetworkEvents</a></li>
|
||||
<li><a href="DrawLowerBuildingCard.html" class="current-selection">DrawLowerBuildingCard</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#pos" tabindex="0">pos</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.lang.String,int)" tabindex="0">DrawLowerBuildingCard(String, int)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" tabindex="0">apply(GameController)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">apply(MiniModel)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class DrawLowerBuildingCard" class="title">Class DrawLowerBuildingCard</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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"><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">it.polimi.ingsw.gc14.Network.NetworkEvent</a>
|
||||
<div class="inheritance">it.polimi.ingsw.gc14.Network.NetworkEvents.DrawLowerBuildingCard</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DrawLowerBuildingCard</span>
|
||||
<span class="extends-implements">extends <a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></span></div>
|
||||
<div class="block">NetworkEvent to draw a building card from the lower card list.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../serialized-form.html#it.polimi.ingsw.gc14.Network.NetworkEvents.DrawLowerBuildingCard">Serialized Form</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final int</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#pos" class="member-name-link">pos</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Index of the card to draw</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="fields-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Fields inherited from class <a href="../NetworkEvent.html#field-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#currentState">currentState</a>, <a href="../NetworkEvent.html#disconnectedPlayers">disconnectedPlayers</a>, <a href="../NetworkEvent.html#errorType">errorType</a>, <a href="../NetworkEvent.html#eventType">eventType</a>, <a href="../NetworkEvent.html#isError">isError</a>, <a href="../NetworkEvent.html#orderLogicCard">orderLogicCard</a>, <a href="../NetworkEvent.html#playerList">playerList</a>, <a href="../NetworkEvent.html#slotPlayerMap">slotPlayerMap</a>, <a href="../NetworkEvent.html#username">username</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(java.lang.String,int)" class="member-name-link">DrawLowerBuildingCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Class constructor.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" class="member-name-link">apply</a><wbr>(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the specified server-side game controller.</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="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">apply</a><wbr>(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the client-side mini model, removing the drawn card
|
||||
from the lower building list and updating players, turn order, game state, and slot map.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Methods inherited from class <a href="../NetworkEvent.html#method-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" title="enrichWithGameState(Game, ArrayList)">enrichWithGameState</a>, <a href="../NetworkEvent.html#getErrorType()" title="getErrorType()">getErrorType</a>, <a href="../NetworkEvent.html#getEventType()" title="getEventType()">getEventType</a>, <a href="../NetworkEvent.html#getUsername()" title="getUsername()">getUsername</a>, <a href="../NetworkEvent.html#isError()" title="isError()">isError</a>, <a href="../NetworkEvent.html#setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)" title="setData(Map, OrderLogicCard, CurrentState, List)">setData</a>, <a href="../NetworkEvent.html#setErrorType(it.polimi.ingsw.gc14.ErrorType)" title="setErrorType(ErrorType)">setErrorType</a>, <a href="../NetworkEvent.html#setIsError(boolean)" title="setIsError(boolean)">setIsError</a>, <a href="../NetworkEvent.html#toString()" title="toString()">toString</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="pos">
|
||||
<h3>pos</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">int</span> <span class="element-name">pos</span></div>
|
||||
<div class="block">Index of the card to draw</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(java.lang.String,int)">
|
||||
<h3>DrawLowerBuildingCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">DrawLowerBuildingCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int pos)</span></div>
|
||||
<div class="block">Class constructor.
|
||||
Initializes all the attributes.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the name of the player requesting the event</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</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="apply(it.polimi.ingsw.gc14.Controller.GameController)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</span></div>
|
||||
<div class="block"><span class="description-from-type-label">Description copied from class: <code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">NetworkEvent</a></code></span></div>
|
||||
<div class="block">Applies this event to the specified server-side game controller.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>gameController</code> - the Game Controller on which to apply the event</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd>true if the player could draw the card, false otherwise</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</span></div>
|
||||
<div class="block">Applies this event to the client-side mini model, removing the drawn card
|
||||
from the lower building list and updating players, turn order, game state, and slot map.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Model.MiniModel)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>miniModel</code> - the client-side model to update.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+273
@@ -0,0 +1,273 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>DrawLowerTribeCard</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.NetworkEvents, class: DrawLowerTribeCard">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.NetworkEvents</a></li>
|
||||
<li><a href="DrawLowerTribeCard.html" class="current-selection">DrawLowerTribeCard</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#pos" tabindex="0">pos</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.lang.String,int)" tabindex="0">DrawLowerTribeCard(String, int)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" tabindex="0">apply(GameController)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">apply(MiniModel)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class DrawLowerTribeCard" class="title">Class DrawLowerTribeCard</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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"><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">it.polimi.ingsw.gc14.Network.NetworkEvent</a>
|
||||
<div class="inheritance">it.polimi.ingsw.gc14.Network.NetworkEvents.DrawLowerTribeCard</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DrawLowerTribeCard</span>
|
||||
<span class="extends-implements">extends <a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></span></div>
|
||||
<div class="block">NetworkEvent to draw a tribe card from the lower card list.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../serialized-form.html#it.polimi.ingsw.gc14.Network.NetworkEvents.DrawLowerTribeCard">Serialized Form</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final int</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#pos" class="member-name-link">pos</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Index of the card to draw</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="fields-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Fields inherited from class <a href="../NetworkEvent.html#field-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#currentState">currentState</a>, <a href="../NetworkEvent.html#disconnectedPlayers">disconnectedPlayers</a>, <a href="../NetworkEvent.html#errorType">errorType</a>, <a href="../NetworkEvent.html#eventType">eventType</a>, <a href="../NetworkEvent.html#isError">isError</a>, <a href="../NetworkEvent.html#orderLogicCard">orderLogicCard</a>, <a href="../NetworkEvent.html#playerList">playerList</a>, <a href="../NetworkEvent.html#slotPlayerMap">slotPlayerMap</a>, <a href="../NetworkEvent.html#username">username</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(java.lang.String,int)" class="member-name-link">DrawLowerTribeCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Class constructor.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" class="member-name-link">apply</a><wbr>(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the specified server-side game controller.</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="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">apply</a><wbr>(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the client-side mini model, removing the drawn card
|
||||
from the lower tribe list and updating players, turn order, game state, and slot map.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Methods inherited from class <a href="../NetworkEvent.html#method-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" title="enrichWithGameState(Game, ArrayList)">enrichWithGameState</a>, <a href="../NetworkEvent.html#getErrorType()" title="getErrorType()">getErrorType</a>, <a href="../NetworkEvent.html#getEventType()" title="getEventType()">getEventType</a>, <a href="../NetworkEvent.html#getUsername()" title="getUsername()">getUsername</a>, <a href="../NetworkEvent.html#isError()" title="isError()">isError</a>, <a href="../NetworkEvent.html#setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)" title="setData(Map, OrderLogicCard, CurrentState, List)">setData</a>, <a href="../NetworkEvent.html#setErrorType(it.polimi.ingsw.gc14.ErrorType)" title="setErrorType(ErrorType)">setErrorType</a>, <a href="../NetworkEvent.html#setIsError(boolean)" title="setIsError(boolean)">setIsError</a>, <a href="../NetworkEvent.html#toString()" title="toString()">toString</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="pos">
|
||||
<h3>pos</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">int</span> <span class="element-name">pos</span></div>
|
||||
<div class="block">Index of the card to draw</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(java.lang.String,int)">
|
||||
<h3>DrawLowerTribeCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">DrawLowerTribeCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int pos)</span></div>
|
||||
<div class="block">Class constructor.
|
||||
Initializes all the attributes.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the name of the player requesting the event</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</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="apply(it.polimi.ingsw.gc14.Controller.GameController)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</span></div>
|
||||
<div class="block"><span class="description-from-type-label">Description copied from class: <code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">NetworkEvent</a></code></span></div>
|
||||
<div class="block">Applies this event to the specified server-side game controller.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>gameController</code> - the Game Controller on which to apply the event</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd>true if the player could draw the card, false otherwise</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</span></div>
|
||||
<div class="block">Applies this event to the client-side mini model, removing the drawn card
|
||||
from the lower tribe list and updating players, turn order, game state, and slot map.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Model.MiniModel)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>miniModel</code> - the client-side model to update.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+273
@@ -0,0 +1,273 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>DrawUpperBuildingCard</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.NetworkEvents, class: DrawUpperBuildingCard">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.NetworkEvents</a></li>
|
||||
<li><a href="DrawUpperBuildingCard.html" class="current-selection">DrawUpperBuildingCard</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#pos" tabindex="0">pos</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.lang.String,int)" tabindex="0">DrawUpperBuildingCard(String, int)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" tabindex="0">apply(GameController)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">apply(MiniModel)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class DrawUpperBuildingCard" class="title">Class DrawUpperBuildingCard</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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"><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">it.polimi.ingsw.gc14.Network.NetworkEvent</a>
|
||||
<div class="inheritance">it.polimi.ingsw.gc14.Network.NetworkEvents.DrawUpperBuildingCard</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DrawUpperBuildingCard</span>
|
||||
<span class="extends-implements">extends <a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></span></div>
|
||||
<div class="block">NetworkEvent to draw a building card from the upper card list.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../serialized-form.html#it.polimi.ingsw.gc14.Network.NetworkEvents.DrawUpperBuildingCard">Serialized Form</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final int</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#pos" class="member-name-link">pos</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Index of the card to draw</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="fields-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Fields inherited from class <a href="../NetworkEvent.html#field-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#currentState">currentState</a>, <a href="../NetworkEvent.html#disconnectedPlayers">disconnectedPlayers</a>, <a href="../NetworkEvent.html#errorType">errorType</a>, <a href="../NetworkEvent.html#eventType">eventType</a>, <a href="../NetworkEvent.html#isError">isError</a>, <a href="../NetworkEvent.html#orderLogicCard">orderLogicCard</a>, <a href="../NetworkEvent.html#playerList">playerList</a>, <a href="../NetworkEvent.html#slotPlayerMap">slotPlayerMap</a>, <a href="../NetworkEvent.html#username">username</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(java.lang.String,int)" class="member-name-link">DrawUpperBuildingCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Class constructor.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" class="member-name-link">apply</a><wbr>(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the specified server-side game controller.</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="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">apply</a><wbr>(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the client-side mini model, removing the drawn card
|
||||
from the upper building list and updating players, turn order, game state, and slot map.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Methods inherited from class <a href="../NetworkEvent.html#method-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" title="enrichWithGameState(Game, ArrayList)">enrichWithGameState</a>, <a href="../NetworkEvent.html#getErrorType()" title="getErrorType()">getErrorType</a>, <a href="../NetworkEvent.html#getEventType()" title="getEventType()">getEventType</a>, <a href="../NetworkEvent.html#getUsername()" title="getUsername()">getUsername</a>, <a href="../NetworkEvent.html#isError()" title="isError()">isError</a>, <a href="../NetworkEvent.html#setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)" title="setData(Map, OrderLogicCard, CurrentState, List)">setData</a>, <a href="../NetworkEvent.html#setErrorType(it.polimi.ingsw.gc14.ErrorType)" title="setErrorType(ErrorType)">setErrorType</a>, <a href="../NetworkEvent.html#setIsError(boolean)" title="setIsError(boolean)">setIsError</a>, <a href="../NetworkEvent.html#toString()" title="toString()">toString</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="pos">
|
||||
<h3>pos</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">int</span> <span class="element-name">pos</span></div>
|
||||
<div class="block">Index of the card to draw</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(java.lang.String,int)">
|
||||
<h3>DrawUpperBuildingCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">DrawUpperBuildingCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int pos)</span></div>
|
||||
<div class="block">Class constructor.
|
||||
Initializes all the attributes.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the name of the player requesting the event</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</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="apply(it.polimi.ingsw.gc14.Controller.GameController)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</span></div>
|
||||
<div class="block"><span class="description-from-type-label">Description copied from class: <code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">NetworkEvent</a></code></span></div>
|
||||
<div class="block">Applies this event to the specified server-side game controller.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>gameController</code> - the Game Controller on which to apply the event</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd>true if the player could draw the card, false otherwise</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</span></div>
|
||||
<div class="block">Applies this event to the client-side mini model, removing the drawn card
|
||||
from the upper building list and updating players, turn order, game state, and slot map.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Model.MiniModel)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>miniModel</code> - the client-side model to update.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+273
@@ -0,0 +1,273 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>DrawUpperTribeCard</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.NetworkEvents, class: DrawUpperTribeCard">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.NetworkEvents</a></li>
|
||||
<li><a href="DrawUpperTribeCard.html" class="current-selection">DrawUpperTribeCard</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#pos" tabindex="0">pos</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.lang.String,int)" tabindex="0">DrawUpperTribeCard(String, int)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" tabindex="0">apply(GameController)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">apply(MiniModel)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class DrawUpperTribeCard" class="title">Class DrawUpperTribeCard</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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"><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">it.polimi.ingsw.gc14.Network.NetworkEvent</a>
|
||||
<div class="inheritance">it.polimi.ingsw.gc14.Network.NetworkEvents.DrawUpperTribeCard</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DrawUpperTribeCard</span>
|
||||
<span class="extends-implements">extends <a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></span></div>
|
||||
<div class="block">NetworkEvent to draw a tribe card from the upper card list.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../serialized-form.html#it.polimi.ingsw.gc14.Network.NetworkEvents.DrawUpperTribeCard">Serialized Form</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final int</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#pos" class="member-name-link">pos</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Index of the card to draw</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="fields-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Fields inherited from class <a href="../NetworkEvent.html#field-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#currentState">currentState</a>, <a href="../NetworkEvent.html#disconnectedPlayers">disconnectedPlayers</a>, <a href="../NetworkEvent.html#errorType">errorType</a>, <a href="../NetworkEvent.html#eventType">eventType</a>, <a href="../NetworkEvent.html#isError">isError</a>, <a href="../NetworkEvent.html#orderLogicCard">orderLogicCard</a>, <a href="../NetworkEvent.html#playerList">playerList</a>, <a href="../NetworkEvent.html#slotPlayerMap">slotPlayerMap</a>, <a href="../NetworkEvent.html#username">username</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(java.lang.String,int)" class="member-name-link">DrawUpperTribeCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Class constructor.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" class="member-name-link">apply</a><wbr>(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the specified server-side game controller.</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="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">apply</a><wbr>(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the client-side mini model, removing the drawn card
|
||||
from the upper tribe list and updating players, turn order, game state, and slot map.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Methods inherited from class <a href="../NetworkEvent.html#method-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" title="enrichWithGameState(Game, ArrayList)">enrichWithGameState</a>, <a href="../NetworkEvent.html#getErrorType()" title="getErrorType()">getErrorType</a>, <a href="../NetworkEvent.html#getEventType()" title="getEventType()">getEventType</a>, <a href="../NetworkEvent.html#getUsername()" title="getUsername()">getUsername</a>, <a href="../NetworkEvent.html#isError()" title="isError()">isError</a>, <a href="../NetworkEvent.html#setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)" title="setData(Map, OrderLogicCard, CurrentState, List)">setData</a>, <a href="../NetworkEvent.html#setErrorType(it.polimi.ingsw.gc14.ErrorType)" title="setErrorType(ErrorType)">setErrorType</a>, <a href="../NetworkEvent.html#setIsError(boolean)" title="setIsError(boolean)">setIsError</a>, <a href="../NetworkEvent.html#toString()" title="toString()">toString</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="pos">
|
||||
<h3>pos</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">int</span> <span class="element-name">pos</span></div>
|
||||
<div class="block">Index of the card to draw</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(java.lang.String,int)">
|
||||
<h3>DrawUpperTribeCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">DrawUpperTribeCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int pos)</span></div>
|
||||
<div class="block">Class constructor.
|
||||
Initializes all the attributes.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the name of the player requesting the event</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</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="apply(it.polimi.ingsw.gc14.Controller.GameController)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</span></div>
|
||||
<div class="block"><span class="description-from-type-label">Description copied from class: <code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">NetworkEvent</a></code></span></div>
|
||||
<div class="block">Applies this event to the specified server-side game controller.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>gameController</code> - the Game Controller on which to apply the event</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd>true if the player could draw the card, false otherwise</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</span></div>
|
||||
<div class="block">Applies this event to the client-side mini model, removing the drawn card
|
||||
from the upper tribe list and updating players, turn order, game state, and slot map.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Model.MiniModel)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>miniModel</code> - the client-side model to update.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+246
@@ -0,0 +1,246 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>EndedGame</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.NetworkEvents, class: EndedGame">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.NetworkEvents</a></li>
|
||||
<li><a href="EndedGame.html" class="current-selection">EndedGame</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.ArrayList)" tabindex="0">EndedGame(Map, OrderLogicCard, CurrentState, ArrayList)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" tabindex="0">apply(GameController)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">apply(MiniModel)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class EndedGame" class="title">Class EndedGame</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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"><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">it.polimi.ingsw.gc14.Network.NetworkEvent</a>
|
||||
<div class="inheritance">it.polimi.ingsw.gc14.Network.NetworkEvents.EndedGame</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">EndedGame</span>
|
||||
<span class="extends-implements">extends <a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></span></div>
|
||||
<div class="block">Network event that signals the end of the game and delivers the final standings.
|
||||
|
||||
<p>Only applied client-side; <a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)"><code>apply(GameController)</code></a> always returns <code>false</code>.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../serialized-form.html#it.polimi.ingsw.gc14.Network.NetworkEvents.EndedGame">Serialized Form</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="inherited-list">
|
||||
<h3 id="fields-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Fields inherited from class <a href="../NetworkEvent.html#field-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#currentState">currentState</a>, <a href="../NetworkEvent.html#disconnectedPlayers">disconnectedPlayers</a>, <a href="../NetworkEvent.html#errorType">errorType</a>, <a href="../NetworkEvent.html#eventType">eventType</a>, <a href="../NetworkEvent.html#isError">isError</a>, <a href="../NetworkEvent.html#orderLogicCard">orderLogicCard</a>, <a href="../NetworkEvent.html#playerList">playerList</a>, <a href="../NetworkEvent.html#slotPlayerMap">slotPlayerMap</a>, <a href="../NetworkEvent.html#username">username</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.ArrayList)" class="member-name-link">EndedGame</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="../../Model/Slot.html" title="class in it.polimi.ingsw.gc14.Model">Slot</a>,<wbr><a href="../../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>> slotPlayerMap,
|
||||
<a href="../../Model/OrderLogicCard.html" title="class in it.polimi.ingsw.gc14.Model">OrderLogicCard</a> orderLogicCard,
|
||||
<a href="../../Model/GamePackage/CurrentState.html" title="class in it.polimi.ingsw.gc14.Model.GamePackage">CurrentState</a> currentState,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="../../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>> players)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Constructs an event containing the final game state.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" class="member-name-link">apply</a><wbr>(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Not applicable server-side.</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="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">apply</a><wbr>(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the client-side mini model, updating the final
|
||||
game state and setting the standings list for the leaderboard.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Methods inherited from class <a href="../NetworkEvent.html#method-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" title="enrichWithGameState(Game, ArrayList)">enrichWithGameState</a>, <a href="../NetworkEvent.html#getErrorType()" title="getErrorType()">getErrorType</a>, <a href="../NetworkEvent.html#getEventType()" title="getEventType()">getEventType</a>, <a href="../NetworkEvent.html#getUsername()" title="getUsername()">getUsername</a>, <a href="../NetworkEvent.html#isError()" title="isError()">isError</a>, <a href="../NetworkEvent.html#setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)" title="setData(Map, OrderLogicCard, CurrentState, List)">setData</a>, <a href="../NetworkEvent.html#setErrorType(it.polimi.ingsw.gc14.ErrorType)" title="setErrorType(ErrorType)">setErrorType</a>, <a href="../NetworkEvent.html#setIsError(boolean)" title="setIsError(boolean)">setIsError</a>, <a href="../NetworkEvent.html#toString()" title="toString()">toString</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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="<init>(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.ArrayList)">
|
||||
<h3>EndedGame</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">EndedGame</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="../../Model/Slot.html" title="class in it.polimi.ingsw.gc14.Model">Slot</a>,<wbr><a href="../../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>> slotPlayerMap,
|
||||
<a href="../../Model/OrderLogicCard.html" title="class in it.polimi.ingsw.gc14.Model">OrderLogicCard</a> orderLogicCard,
|
||||
<a href="../../Model/GamePackage/CurrentState.html" title="class in it.polimi.ingsw.gc14.Model.GamePackage">CurrentState</a> currentState,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="../../Model/Player.html" title="class in it.polimi.ingsw.gc14.Model">Player</a>> players)</span></div>
|
||||
<div class="block">Constructs an event containing the final game state.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>slotPlayerMap</code> - the map associating each slot with the player occupying it.</dd>
|
||||
<dd><code>orderLogicCard</code> - the order logic card that determines the player order.</dd>
|
||||
<dd><code>currentState</code> - the current state of the game.</dd>
|
||||
<dd><code>players</code> - the final list of players, used as the standings.</dd>
|
||||
</dl>
|
||||
</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="apply(it.polimi.ingsw.gc14.Controller.GameController)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</span></div>
|
||||
<div class="block">Not applicable server-side.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>gameController</code> - the game controller (unused).</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd><code>false</code> always.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</span></div>
|
||||
<div class="block">Applies this event to the client-side mini model, updating the final
|
||||
game state and setting the standings list for the leaderboard.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Model.MiniModel)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>miniModel</code> - the client-side model to update.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+266
@@ -0,0 +1,266 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>ReconnectPlayer</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.NetworkEvents, class: ReconnectPlayer">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.NetworkEvents</a></li>
|
||||
<li><a href="ReconnectPlayer.html" class="current-selection">ReconnectPlayer</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.lang.String)" tabindex="0">ReconnectPlayer(String)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" tabindex="0">enrichWithGameState(Game, ArrayList)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" tabindex="0">apply(GameController)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">apply(MiniModel)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class ReconnectPlayer" class="title">Class ReconnectPlayer</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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"><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">it.polimi.ingsw.gc14.Network.NetworkEvent</a>
|
||||
<div class="inheritance">it.polimi.ingsw.gc14.Network.NetworkEvents.ReconnectPlayer</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ReconnectPlayer</span>
|
||||
<span class="extends-implements">extends <a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></span></div>
|
||||
<div class="block">Network event used to notify that a player has reconnected to the game.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../serialized-form.html#it.polimi.ingsw.gc14.Network.NetworkEvents.ReconnectPlayer">Serialized Form</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="inherited-list">
|
||||
<h3 id="fields-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Fields inherited from class <a href="../NetworkEvent.html#field-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#currentState">currentState</a>, <a href="../NetworkEvent.html#disconnectedPlayers">disconnectedPlayers</a>, <a href="../NetworkEvent.html#errorType">errorType</a>, <a href="../NetworkEvent.html#eventType">eventType</a>, <a href="../NetworkEvent.html#isError">isError</a>, <a href="../NetworkEvent.html#orderLogicCard">orderLogicCard</a>, <a href="../NetworkEvent.html#playerList">playerList</a>, <a href="../NetworkEvent.html#slotPlayerMap">slotPlayerMap</a>, <a href="../NetworkEvent.html#username">username</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(java.lang.String)" class="member-name-link">ReconnectPlayer</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Constructs a reconnection event for the specified player.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" class="member-name-link">apply</a><wbr>(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies the reconnection event to the server-side game controller.</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="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">apply</a><wbr>(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies the reconnection update to the client-side mini model.</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="#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" class="member-name-link">enrichWithGameState</a><wbr>(<a href="../../Model/Game.html" title="class in it.polimi.ingsw.gc14.Model">Game</a> game,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> disconnectedUsernames)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Populates this event with the current game state so clients can
|
||||
update their local model after receiving it.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Methods inherited from class <a href="../NetworkEvent.html#method-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#getErrorType()" title="getErrorType()">getErrorType</a>, <a href="../NetworkEvent.html#getEventType()" title="getEventType()">getEventType</a>, <a href="../NetworkEvent.html#getUsername()" title="getUsername()">getUsername</a>, <a href="../NetworkEvent.html#isError()" title="isError()">isError</a>, <a href="../NetworkEvent.html#setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)" title="setData(Map, OrderLogicCard, CurrentState, List)">setData</a>, <a href="../NetworkEvent.html#setErrorType(it.polimi.ingsw.gc14.ErrorType)" title="setErrorType(ErrorType)">setErrorType</a>, <a href="../NetworkEvent.html#setIsError(boolean)" title="setIsError(boolean)">setIsError</a>, <a href="../NetworkEvent.html#toString()" title="toString()">toString</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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="<init>(java.lang.String)">
|
||||
<h3>ReconnectPlayer</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">ReconnectPlayer</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</span></div>
|
||||
<div class="block">Constructs a reconnection event for the specified player.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username of the player who reconnected.</dd>
|
||||
</dl>
|
||||
</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="enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)">
|
||||
<h3>enrichWithGameState</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">enrichWithGameState</span><wbr><span class="parameters">(<a href="../../Model/Game.html" title="class in it.polimi.ingsw.gc14.Model">Game</a> game,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> disconnectedUsernames)</span></div>
|
||||
<div class="block"><span class="description-from-type-label">Description copied from class: <code><a href="../NetworkEvent.html#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)">NetworkEvent</a></code></span></div>
|
||||
<div class="block">Populates this event with the current game state so clients can
|
||||
update their local model after receiving it.
|
||||
Subclasses that carry extra state (available totems, etc.) override
|
||||
this method and call <code>super</code> first.</div>
|
||||
<dl class="notes">
|
||||
<dt>Overrides:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)">enrichWithGameState</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>game</code> - the current game model.</dd>
|
||||
<dd><code>disconnectedUsernames</code> - usernames of currently disconnected players.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Controller.GameController)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</span></div>
|
||||
<div class="block">Applies the reconnection event to the server-side game controller.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>gameController</code> - the game controller on which to apply the event.</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd><code>true</code> if the player reconnection is handled successfully,
|
||||
<code>false</code> otherwise.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</span></div>
|
||||
<div class="block">Applies the reconnection update to the client-side mini model.
|
||||
|
||||
<p>If the event does not represent an error, the player data,
|
||||
turn order, current game state, and slot assignments are updated.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Model.MiniModel)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>miniModel</code> - the mini model on which to apply the event.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+237
@@ -0,0 +1,237 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>SkipTurn</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.NetworkEvents, class: SkipTurn">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.NetworkEvents</a></li>
|
||||
<li><a href="SkipTurn.html" class="current-selection">SkipTurn</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.lang.String)" tabindex="0">SkipTurn(String)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" tabindex="0">apply(GameController)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">apply(MiniModel)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class SkipTurn" class="title">Class SkipTurn</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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"><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">it.polimi.ingsw.gc14.Network.NetworkEvent</a>
|
||||
<div class="inheritance">it.polimi.ingsw.gc14.Network.NetworkEvents.SkipTurn</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">SkipTurn</span>
|
||||
<span class="extends-implements">extends <a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></span></div>
|
||||
<div class="block">Network event used to skip the current player's optional card action.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../serialized-form.html#it.polimi.ingsw.gc14.Network.NetworkEvents.SkipTurn">Serialized Form</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="inherited-list">
|
||||
<h3 id="fields-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Fields inherited from class <a href="../NetworkEvent.html#field-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#currentState">currentState</a>, <a href="../NetworkEvent.html#disconnectedPlayers">disconnectedPlayers</a>, <a href="../NetworkEvent.html#errorType">errorType</a>, <a href="../NetworkEvent.html#eventType">eventType</a>, <a href="../NetworkEvent.html#isError">isError</a>, <a href="../NetworkEvent.html#orderLogicCard">orderLogicCard</a>, <a href="../NetworkEvent.html#playerList">playerList</a>, <a href="../NetworkEvent.html#slotPlayerMap">slotPlayerMap</a>, <a href="../NetworkEvent.html#username">username</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(java.lang.String)" class="member-name-link">SkipTurn</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Class constructor.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" class="member-name-link">apply</a><wbr>(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the specified server-side game controller.</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="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">apply</a><wbr>(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the client-side mini model, updating players,
|
||||
turn order, game state, and slot map after a skip turn action.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Methods inherited from class <a href="../NetworkEvent.html#method-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" title="enrichWithGameState(Game, ArrayList)">enrichWithGameState</a>, <a href="../NetworkEvent.html#getErrorType()" title="getErrorType()">getErrorType</a>, <a href="../NetworkEvent.html#getEventType()" title="getEventType()">getEventType</a>, <a href="../NetworkEvent.html#getUsername()" title="getUsername()">getUsername</a>, <a href="../NetworkEvent.html#isError()" title="isError()">isError</a>, <a href="../NetworkEvent.html#setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)" title="setData(Map, OrderLogicCard, CurrentState, List)">setData</a>, <a href="../NetworkEvent.html#setErrorType(it.polimi.ingsw.gc14.ErrorType)" title="setErrorType(ErrorType)">setErrorType</a>, <a href="../NetworkEvent.html#setIsError(boolean)" title="setIsError(boolean)">setIsError</a>, <a href="../NetworkEvent.html#toString()" title="toString()">toString</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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="<init>(java.lang.String)">
|
||||
<h3>SkipTurn</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">SkipTurn</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</span></div>
|
||||
<div class="block">Class constructor.
|
||||
Initializes all the attributes.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the name of the player requesting the event</dd>
|
||||
</dl>
|
||||
</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="apply(it.polimi.ingsw.gc14.Controller.GameController)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</span></div>
|
||||
<div class="block"><span class="description-from-type-label">Description copied from class: <code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">NetworkEvent</a></code></span></div>
|
||||
<div class="block">Applies this event to the specified server-side game controller.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>gameController</code> - the Game Controller on which to apply the event</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd>true if the player could skipTheTurn, false otherwise</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</span></div>
|
||||
<div class="block">Applies this event to the client-side mini model, updating players,
|
||||
turn order, game state, and slot map after a skip turn action.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Model.MiniModel)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>miniModel</code> - the client-side model to update.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+273
@@ -0,0 +1,273 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>SlotChoice</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.NetworkEvents, class: SlotChoice">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.NetworkEvents</a></li>
|
||||
<li><a href="SlotChoice.html" class="current-selection">SlotChoice</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#pos" tabindex="0">pos</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.lang.String,int)" tabindex="0">SlotChoice(String, int)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" tabindex="0">apply(GameController)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">apply(MiniModel)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class SlotChoice" class="title">Class SlotChoice</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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"><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">it.polimi.ingsw.gc14.Network.NetworkEvent</a>
|
||||
<div class="inheritance">it.polimi.ingsw.gc14.Network.NetworkEvents.SlotChoice</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">SlotChoice</span>
|
||||
<span class="extends-implements">extends <a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></span></div>
|
||||
<div class="block">NetworkEvent to select a slot where to place the player totem.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../serialized-form.html#it.polimi.ingsw.gc14.Network.NetworkEvents.SlotChoice">Serialized Form</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final int</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#pos" class="member-name-link">pos</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Index of the selected slot.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="fields-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Fields inherited from class <a href="../NetworkEvent.html#field-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#currentState">currentState</a>, <a href="../NetworkEvent.html#disconnectedPlayers">disconnectedPlayers</a>, <a href="../NetworkEvent.html#errorType">errorType</a>, <a href="../NetworkEvent.html#eventType">eventType</a>, <a href="../NetworkEvent.html#isError">isError</a>, <a href="../NetworkEvent.html#orderLogicCard">orderLogicCard</a>, <a href="../NetworkEvent.html#playerList">playerList</a>, <a href="../NetworkEvent.html#slotPlayerMap">slotPlayerMap</a>, <a href="../NetworkEvent.html#username">username</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(java.lang.String,int)" class="member-name-link">SlotChoice</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Class constructor.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" class="member-name-link">apply</a><wbr>(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the specified server-side game controller.</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="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">apply</a><wbr>(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies this event to the client-side mini model, updating players,
|
||||
turn order, game state, and slot map after a slot selection.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Methods inherited from class <a href="../NetworkEvent.html#method-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" title="enrichWithGameState(Game, ArrayList)">enrichWithGameState</a>, <a href="../NetworkEvent.html#getErrorType()" title="getErrorType()">getErrorType</a>, <a href="../NetworkEvent.html#getEventType()" title="getEventType()">getEventType</a>, <a href="../NetworkEvent.html#getUsername()" title="getUsername()">getUsername</a>, <a href="../NetworkEvent.html#isError()" title="isError()">isError</a>, <a href="../NetworkEvent.html#setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)" title="setData(Map, OrderLogicCard, CurrentState, List)">setData</a>, <a href="../NetworkEvent.html#setErrorType(it.polimi.ingsw.gc14.ErrorType)" title="setErrorType(ErrorType)">setErrorType</a>, <a href="../NetworkEvent.html#setIsError(boolean)" title="setIsError(boolean)">setIsError</a>, <a href="../NetworkEvent.html#toString()" title="toString()">toString</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="pos">
|
||||
<h3>pos</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">int</span> <span class="element-name">pos</span></div>
|
||||
<div class="block">Index of the selected slot.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(java.lang.String,int)">
|
||||
<h3>SlotChoice</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">SlotChoice</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int pos)</span></div>
|
||||
<div class="block">Class constructor.
|
||||
Initializes all the attributes.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the name of the player requesting the event</dd>
|
||||
<dd><code>pos</code> - the index of the selected slot</dd>
|
||||
</dl>
|
||||
</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="apply(it.polimi.ingsw.gc14.Controller.GameController)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</span></div>
|
||||
<div class="block"><span class="description-from-type-label">Description copied from class: <code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">NetworkEvent</a></code></span></div>
|
||||
<div class="block">Applies this event to the specified server-side game controller.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>gameController</code> - the game controller on which to apply the event.</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd><code>true</code> if the slot choice is handled successfully, <code>false</code> otherwise.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</span></div>
|
||||
<div class="block">Applies this event to the client-side mini model, updating players,
|
||||
turn order, game state, and slot map after a slot selection.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Model.MiniModel)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>miniModel</code> - the client-side model to update.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+319
@@ -0,0 +1,319 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>TotemChoice</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.NetworkEvents, class: TotemChoice">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.NetworkEvents</a></li>
|
||||
<li><a href="TotemChoice.html" class="current-selection">TotemChoice</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#totem" tabindex="0">totem</a></li>
|
||||
<li><a href="#availableTotems" tabindex="0">availableTotems</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.lang.String,java.lang.String)" tabindex="0">TotemChoice(String, String)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" tabindex="0">enrichWithGameState(Game, ArrayList)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" tabindex="0">apply(GameController)</a></li>
|
||||
<li><a href="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">apply(MiniModel)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class TotemChoice" class="title">Class TotemChoice</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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"><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">it.polimi.ingsw.gc14.Network.NetworkEvent</a>
|
||||
<div class="inheritance">it.polimi.ingsw.gc14.Network.NetworkEvents.TotemChoice</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">TotemChoice</span>
|
||||
<span class="extends-implements">extends <a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>
|
||||
implements <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></span></div>
|
||||
<div class="block">Network event used to handle a player's totem choice.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../serialized-form.html#it.polimi.ingsw.gc14.Network.NetworkEvents.TotemChoice">Serialized Form</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><wbr><<a href="../../Model/Totems.html" title="enum class in it.polimi.ingsw.gc14.Model">Totems</a>></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#availableTotems" class="member-name-link">availableTotems</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">List of totems still available after the choice has been processed.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/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"><code><a href="#totem" class="member-name-link">totem</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Name of the totem selected by the player.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="fields-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Fields inherited from class <a href="../NetworkEvent.html#field-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#currentState">currentState</a>, <a href="../NetworkEvent.html#disconnectedPlayers">disconnectedPlayers</a>, <a href="../NetworkEvent.html#errorType">errorType</a>, <a href="../NetworkEvent.html#eventType">eventType</a>, <a href="../NetworkEvent.html#isError">isError</a>, <a href="../NetworkEvent.html#orderLogicCard">orderLogicCard</a>, <a href="../NetworkEvent.html#playerList">playerList</a>, <a href="../NetworkEvent.html#slotPlayerMap">slotPlayerMap</a>, <a href="../NetworkEvent.html#username">username</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(java.lang.String,java.lang.String)" class="member-name-link">TotemChoice</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> totem)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Constructs a totem choice event for the specified player.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#apply(it.polimi.ingsw.gc14.Controller.GameController)" class="member-name-link">apply</a><wbr>(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies the totem choice event to the server-side game controller.</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="#apply(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">apply</a><wbr>(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Applies the totem choice update to the client-side mini model.</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="#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)" class="member-name-link">enrichWithGameState</a><wbr>(<a href="../../Model/Game.html" title="class in it.polimi.ingsw.gc14.Model">Game</a> game,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> disconnectedUsernames)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Populates this event with the current game state so clients can
|
||||
update their local model after receiving it.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-it.polimi.ingsw.gc14.Network.NetworkEvent">Methods inherited from class <a href="../NetworkEvent.html#method-summary" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></h3>
|
||||
<code><a href="../NetworkEvent.html#getErrorType()" title="getErrorType()">getErrorType</a>, <a href="../NetworkEvent.html#getEventType()" title="getEventType()">getEventType</a>, <a href="../NetworkEvent.html#getUsername()" title="getUsername()">getUsername</a>, <a href="../NetworkEvent.html#isError()" title="isError()">isError</a>, <a href="../NetworkEvent.html#setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)" title="setData(Map, OrderLogicCard, CurrentState, List)">setData</a>, <a href="../NetworkEvent.html#setErrorType(it.polimi.ingsw.gc14.ErrorType)" title="setErrorType(ErrorType)">setErrorType</a>, <a href="../NetworkEvent.html#setIsError(boolean)" title="setIsError(boolean)">setIsError</a>, <a href="../NetworkEvent.html#toString()" title="toString()">toString</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="totem">
|
||||
<h3>totem</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">totem</span></div>
|
||||
<div class="block">Name of the totem selected by the player.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="availableTotems">
|
||||
<h3>availableTotems</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../Model/Totems.html" title="enum class in it.polimi.ingsw.gc14.Model">Totems</a>></span> <span class="element-name">availableTotems</span></div>
|
||||
<div class="block">List of totems still available after the choice has been processed.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(java.lang.String,java.lang.String)">
|
||||
<h3>TotemChoice</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">TotemChoice</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> totem)</span></div>
|
||||
<div class="block">Constructs a totem choice event for the specified player.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username of the player making the choice.</dd>
|
||||
<dd><code>totem</code> - the name of the selected totem.</dd>
|
||||
</dl>
|
||||
</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="enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)">
|
||||
<h3>enrichWithGameState</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">enrichWithGameState</span><wbr><span class="parameters">(<a href="../../Model/Game.html" title="class in it.polimi.ingsw.gc14.Model">Game</a> game,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> disconnectedUsernames)</span></div>
|
||||
<div class="block"><span class="description-from-type-label">Description copied from class: <code><a href="../NetworkEvent.html#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)">NetworkEvent</a></code></span></div>
|
||||
<div class="block">Populates this event with the current game state so clients can
|
||||
update their local model after receiving it.
|
||||
Subclasses that carry extra state (available totems, etc.) override
|
||||
this method and call <code>super</code> first.</div>
|
||||
<dl class="notes">
|
||||
<dt>Overrides:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)">enrichWithGameState</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>game</code> - the current game model.</dd>
|
||||
<dd><code>disconnectedUsernames</code> - usernames of currently disconnected players.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Controller.GameController)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> gameController)</span></div>
|
||||
<div class="block">Applies the totem choice event to the server-side game controller.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Controller.GameController)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>gameController</code> - the game controller on which to apply the event.</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd><code>true</code> if the totem choice is handled successfully,
|
||||
<code>false</code> otherwise.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="apply(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>apply</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</span></div>
|
||||
<div class="block">Applies the totem choice update to the client-side mini model.
|
||||
|
||||
<p>If the event does not represent an error, the player data,
|
||||
turn order, current game state, slot assignments, and available
|
||||
totems are updated.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../NetworkEvent.html#apply(it.polimi.ingsw.gc14.Model.MiniModel)">apply</a></code> in class <code><a href="../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>miniModel</code> - the mini model on which to apply the event.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+144
@@ -0,0 +1,144 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>it.polimi.ingsw.gc14.Network.NetworkEvents</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.NetworkEvents">
|
||||
<meta name="generator" content="javadoc/PackageWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="package-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Package</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../help-doc.html#package">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html" class="current-selection">it.polimi.ingsw.gc14.Network.NetworkEvents</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents</div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#related-package-summary" tabindex="0">Related Packages</a></li>
|
||||
<li><a href="#class-summary" tabindex="0">Classes and Interfaces</a></li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 title="Package it.polimi.ingsw.gc14.Network.NetworkEvents" class="title">Package it.polimi.ingsw.gc14.Network.NetworkEvents</h1>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="package-signature">package <span class="element-name">it.polimi.ingsw.gc14.Network.NetworkEvents</span></div>
|
||||
</div>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<li>
|
||||
<div id="related-package-summary">
|
||||
<div class="caption"><span>Related Packages</span></div>
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">Package</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><a href="../package-summary.html">it.polimi.ingsw.gc14.Network</a></div>
|
||||
<div class="col-last even-row-color"> </div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div id="class-summary">
|
||||
<div class="caption"><span>Classes</span></div>
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">Class</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="AddPlayer.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">AddPlayer</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Network event used to register a new player in the lobby.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ApplyNextRound.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">ApplyNextRound</a></div>
|
||||
<div class="col-last odd-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Network event that transitions all clients to the next round.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="DisconnectedPlayer.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">DisconnectedPlayer</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Network event used to notify all clients that a player has disconnected.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="DrawLowerBuildingCard.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">DrawLowerBuildingCard</a></div>
|
||||
<div class="col-last odd-row-color class-summary class-summary-tab2">
|
||||
<div class="block">NetworkEvent to draw a building card from the lower card list.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="DrawLowerTribeCard.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">DrawLowerTribeCard</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab2">
|
||||
<div class="block">NetworkEvent to draw a tribe card from the lower card list.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="DrawUpperBuildingCard.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">DrawUpperBuildingCard</a></div>
|
||||
<div class="col-last odd-row-color class-summary class-summary-tab2">
|
||||
<div class="block">NetworkEvent to draw a building card from the upper card list.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="DrawUpperTribeCard.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">DrawUpperTribeCard</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab2">
|
||||
<div class="block">NetworkEvent to draw a tribe card from the upper card list.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="EndedGame.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">EndedGame</a></div>
|
||||
<div class="col-last odd-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Network event that signals the end of the game and delivers the final standings.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ReconnectPlayer.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">ReconnectPlayer</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Network event used to notify that a player has reconnected to the game.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="SkipTurn.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">SkipTurn</a></div>
|
||||
<div class="col-last odd-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Network event used to skip the current player's optional card action.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="SlotChoice.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">SlotChoice</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab2">
|
||||
<div class="block">NetworkEvent to select a slot where to place the player totem.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="TotemChoice.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">TotemChoice</a></div>
|
||||
<div class="col-last odd-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Network event used to handle a player's totem choice.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>it.polimi.ingsw.gc14.Network.NetworkEvents Class Hierarchy</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="2026-06-19">
|
||||
<meta name="description" content="tree: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.NetworkEvents">
|
||||
<meta name="generator" content="javadoc/PackageTreeWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="package-tree-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../module-summary.html">Module</a></li>
|
||||
<li><a href="package-summary.html">Package</a></li>
|
||||
<li class="nav-bar-cell1-rev">Tree</li>
|
||||
<li><a href="../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../help-doc.html#tree">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html" class="current-selection">it.polimi.ingsw.gc14.Network.NetworkEvents</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 class="title">Hierarchy For Package it.polimi.ingsw.gc14.Network.NetworkEvents</h1>
|
||||
</div>
|
||||
<span class="package-hierarchy-label">Package Hierarchies:</span>
|
||||
<ul class="horizontal contents-list">
|
||||
<li><a href="../../../../../../../overview-tree.html">All Packages</a></li>
|
||||
</ul>
|
||||
<section class="hierarchy">
|
||||
<h2 title="Class Hierarchy">Class Hierarchy</h2>
|
||||
<ul>
|
||||
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
|
||||
<ul>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.<a href="../NetworkEvent.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
|
||||
<ul>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.NetworkEvents.<a href="AddPlayer.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">AddPlayer</a></li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.NetworkEvents.<a href="ApplyNextRound.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">ApplyNextRound</a></li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.NetworkEvents.<a href="DisconnectedPlayer.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">DisconnectedPlayer</a></li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.NetworkEvents.<a href="DrawLowerBuildingCard.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">DrawLowerBuildingCard</a></li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.NetworkEvents.<a href="DrawLowerTribeCard.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">DrawLowerTribeCard</a></li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.NetworkEvents.<a href="DrawUpperBuildingCard.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">DrawUpperBuildingCard</a></li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.NetworkEvents.<a href="DrawUpperTribeCard.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">DrawUpperTribeCard</a></li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.NetworkEvents.<a href="EndedGame.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">EndedGame</a></li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.NetworkEvents.<a href="ReconnectPlayer.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">ReconnectPlayer</a></li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.NetworkEvents.<a href="SkipTurn.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">SkipTurn</a></li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.NetworkEvents.<a href="SlotChoice.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">SlotChoice</a></li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.NetworkEvents.<a href="TotemChoice.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents">TotemChoice</a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+288
@@ -0,0 +1,288 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>ClientCallbackImpl</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.RMI.Client, class: ClientCallbackImpl">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.RMI.Client</a></li>
|
||||
<li><a href="ClientCallbackImpl.html" class="current-selection">ClientCallbackImpl</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#clientController" tabindex="0">clientController</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(it.polimi.ingsw.gc14.Controller.ClientController)" tabindex="0">ClientCallbackImpl(ClientController)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#onGameInit(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">onGameInit(MiniModel)</a></li>
|
||||
<li><a href="#onAction(it.polimi.ingsw.gc14.Network.NetworkEvent)" tabindex="0">onAction(NetworkEvent)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class ClientCallbackImpl" class="title">Class ClientCallbackImpl</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html" title="class or interface in java.rmi.server" class="external-link">java.rmi.server.RemoteObject</a>
|
||||
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteServer.html" title="class or interface in java.rmi.server" class="external-link">java.rmi.server.RemoteServer</a>
|
||||
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html" title="class or interface in java.rmi.server" class="external-link">java.rmi.server.UnicastRemoteObject</a>
|
||||
<div class="inheritance">it.polimi.ingsw.gc14.Network.RMI.Client.ClientCallbackImpl</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="../Common/IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/Remote.html" title="class or interface in java.rmi" class="external-link">Remote</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ClientCallbackImpl</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html" title="class or interface in java.rmi.server" class="external-link">UnicastRemoteObject</a>
|
||||
implements <a href="../Common/IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a></span></div>
|
||||
<div class="block">RMI client callback implementation of <a href="../Common/IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common"><code>IClientCallback</code></a>.
|
||||
Receives notifications from the server and updates the client game model.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../../serialized-form.html#it.polimi.ingsw.gc14.Network.RMI.Client.ClientCallbackImpl">Serialized Form</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="../../../Controller/ClientController.html" title="class in it.polimi.ingsw.gc14.Controller">ClientController</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#clientController" class="member-name-link">clientController</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">The client controller used to apply events and update the model</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="fields-inherited-from-class-java.rmi.server.RemoteObject">Fields inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#field-summary" title="class or interface in java.rmi.server" class="external-link">RemoteObject</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#ref" title="class or interface in java.rmi.server" class="external-link">ref</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(it.polimi.ingsw.gc14.Controller.ClientController)" class="member-name-link">ClientCallbackImpl</a><wbr>(<a href="../../../Controller/ClientController.html" title="class in it.polimi.ingsw.gc14.Controller">ClientController</a> clientController)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Class constructor.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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="#onAction(it.polimi.ingsw.gc14.Network.NetworkEvent)" class="member-name-link">onAction</a><wbr>(<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> event)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Called by the server when an action has been accepted.</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="#onGameInit(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">onGameInit</a><wbr>(<a href="../../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> model)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Called by the server when the game is initialized.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.rmi.server.UnicastRemoteObject">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#method-summary" title="class or interface in java.rmi.server" class="external-link">UnicastRemoteObject</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#clone()" title="class or interface in java.rmi.server" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#exportObject(java.rmi.Remote)" title="class or interface in java.rmi.server" class="external-link">exportObject</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#exportObject(java.rmi.Remote,int)" title="class or interface in java.rmi.server" class="external-link">exportObject</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#exportObject(java.rmi.Remote,int,java.io.ObjectInputFilter)" title="class or interface in java.rmi.server" class="external-link">exportObject</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#exportObject(java.rmi.Remote,int,java.rmi.server.RMIClientSocketFactory,java.rmi.server.RMIServerSocketFactory)" title="class or interface in java.rmi.server" class="external-link">exportObject</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#exportObject(java.rmi.Remote,int,java.rmi.server.RMIClientSocketFactory,java.rmi.server.RMIServerSocketFactory,java.io.ObjectInputFilter)" title="class or interface in java.rmi.server" class="external-link">exportObject</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#unexportObject(java.rmi.Remote,boolean)" title="class or interface in java.rmi.server" class="external-link">unexportObject</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.rmi.server.RemoteServer">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteServer.html#method-summary" title="class or interface in java.rmi.server" class="external-link">RemoteServer</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteServer.html#getClientHost()" title="class or interface in java.rmi.server" class="external-link">getClientHost</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteServer.html#getLog()" title="class or interface in java.rmi.server" class="external-link">getLog</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteServer.html#setLog(java.io.OutputStream)" title="class or interface in java.rmi.server" class="external-link">setLog</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.rmi.server.RemoteObject">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#method-summary" title="class or interface in java.rmi.server" class="external-link">RemoteObject</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#equals(java.lang.Object)" title="class or interface in java.rmi.server" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#getRef()" title="class or interface in java.rmi.server" class="external-link">getRef</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#hashCode()" title="class or interface in java.rmi.server" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#toString()" title="class or interface in java.rmi.server" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#toStub(java.rmi.Remote)" title="class or interface in java.rmi.server" class="external-link">toStub</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="clientController">
|
||||
<h3>clientController</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="../../../Controller/ClientController.html" title="class in it.polimi.ingsw.gc14.Controller">ClientController</a></span> <span class="element-name">clientController</span></div>
|
||||
<div class="block">The client controller used to apply events and update the model</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(it.polimi.ingsw.gc14.Controller.ClientController)">
|
||||
<h3>ClientCallbackImpl</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">ClientCallbackImpl</span><wbr><span class="parameters">(<a href="../../../Controller/ClientController.html" title="class in it.polimi.ingsw.gc14.Controller">ClientController</a> clientController)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Class constructor.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>clientController</code> - the client controller</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if any RMI error occurs</dd>
|
||||
</dl>
|
||||
</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="onGameInit(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>onGameInit</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">onGameInit</span><wbr><span class="parameters">(<a href="../../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> model)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Called by the server when the game is initialized.
|
||||
Sets the client game model in the <a href="../../../Controller/ClientController.html" title="class in it.polimi.ingsw.gc14.Controller"><code>ClientController</code></a>.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../Common/IClientCallback.html#onGameInit(it.polimi.ingsw.gc14.Model.MiniModel)">onGameInit</a></code> in interface <code><a href="../Common/IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>model</code> - the initialized <a href="../../../Model/Game.html" title="class in it.polimi.ingsw.gc14.Model"><code>Game</code></a> model</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if any RMI error occurs</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="onAction(it.polimi.ingsw.gc14.Network.NetworkEvent)">
|
||||
<h3>onAction</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">onAction</span><wbr><span class="parameters">(<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> event)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Called by the server when an action has been accepted.
|
||||
If the event contains an error, it is printed to the console.
|
||||
Otherwise, the event is applied to the local model.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../Common/IClientCallback.html#onAction(it.polimi.ingsw.gc14.Network.NetworkEvent)">onAction</a></code> in interface <code><a href="../Common/IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>event</code> - the <a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network"><code>NetworkEvent</code></a> sent by the server</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if any RMI error occurs</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+596
@@ -0,0 +1,596 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>RMIClient</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.RMI.Client, class: RMIClient">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.RMI.Client</a></li>
|
||||
<li><a href="RMIClient.html" class="current-selection">RMIClient</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#host" tabindex="0">host</a></li>
|
||||
<li><a href="#port" tabindex="0">port</a></li>
|
||||
<li><a href="#stub" tabindex="0">stub</a></li>
|
||||
<li><a href="#controller" tabindex="0">controller</a></li>
|
||||
<li><a href="#myIp" tabindex="0">myIp</a></li>
|
||||
<li><a href="#username" tabindex="0">username</a></li>
|
||||
<li><a href="#running" tabindex="0">running</a></li>
|
||||
<li><a href="#pingSender" tabindex="0">pingSender</a></li>
|
||||
<li><a href="#executor" tabindex="0">executor</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(it.polimi.ingsw.gc14.Controller.ClientController,java.lang.String,int,java.lang.String)" tabindex="0">RMIClient(ClientController, String, int, String)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#connect(java.lang.String,int)" tabindex="0">connect(String, int)</a></li>
|
||||
<li><a href="#startHeartbeat()" tabindex="0">startHeartbeat()</a></li>
|
||||
<li><a href="#disconnect()" tabindex="0">disconnect()</a></li>
|
||||
<li><a href="#drawUpperTribeCard(java.lang.String,int)" tabindex="0">drawUpperTribeCard(String, int)</a></li>
|
||||
<li><a href="#drawLowerTribeCard(java.lang.String,int)" tabindex="0">drawLowerTribeCard(String, int)</a></li>
|
||||
<li><a href="#drawUpperBuildingCard(java.lang.String,int)" tabindex="0">drawUpperBuildingCard(String, int)</a></li>
|
||||
<li><a href="#drawLowerBuildingCard(java.lang.String,int)" tabindex="0">drawLowerBuildingCard(String, int)</a></li>
|
||||
<li><a href="#skipTurn(java.lang.String)" tabindex="0">skipTurn(String)</a></li>
|
||||
<li><a href="#slotChoice(java.lang.String,int)" tabindex="0">slotChoice(String, int)</a></li>
|
||||
<li><a href="#totemChoice(java.lang.String,java.lang.String)" tabindex="0">totemChoice(String, String)</a></li>
|
||||
<li><a href="#notifyDisconnection()" tabindex="0">notifyDisconnection()</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class RMIClient" class="title">Class RMIClient</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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">it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">RMIClient</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
|
||||
implements <a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></span></div>
|
||||
<div class="block">Client RMI. Uses the methods exposed by the server RMI.</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="../../../Controller/ClientController.html" title="class in it.polimi.ingsw.gc14.Controller">ClientController</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#controller" class="member-name-link">controller</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Client-side controller that receives and applies incoming game events.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ExecutorService.html" title="class or interface in java.util.concurrent" class="external-link">ExecutorService</a></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#executor" class="member-name-link">executor</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Future executor used for timer Running</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/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"><code><a href="#host" class="member-name-link">host</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Hostname or IP address of the RMI server.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/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"><code><a href="#myIp" class="member-name-link">myIp</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Local IP address advertised to the RMI runtime so callbacks are routed correctly.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ScheduledExecutorService.html" title="class or interface in java.util.concurrent" class="external-link">ScheduledExecutorService</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#pingSender" class="member-name-link">pingSender</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Scheduler that fires ping() every <a href="../../NetworkConfig.html#KEEPALIVE_INTERVAL_MS">3000L</a> ms.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final int</code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#port" class="member-name-link">port</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Port of the RMI registry.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private boolean</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#running" class="member-name-link">running</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block"><code>true</code> while the heartbeat loop is active; set to <code>false</code> on disconnect.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private <a href="../Common/IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#stub" class="member-name-link">stub</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Remote stub obtained from the RMI registry after a successful connection.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/25/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"><code><a href="#username" class="member-name-link">username</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Username of the currently connected player; set during <a href="#connect(java.lang.String,int)"><code>connect(String, int)</code></a>.</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(it.polimi.ingsw.gc14.Controller.ClientController,java.lang.String,int,java.lang.String)" class="member-name-link">RMIClient</a><wbr>(<a href="../../../Controller/ClientController.html" title="class in it.polimi.ingsw.gc14.Controller">ClientController</a> controller,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> host,
|
||||
int port,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> myIp)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Constructs an RMI client and initializes its connection parameters.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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><a href="../../../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a></code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#connect(java.lang.String,int)" class="member-name-link">connect</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int proposedNPlayers)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Connects to the RMI server and starts the heartbeat loop.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#disconnect()" class="member-name-link">disconnect</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Tears down the connection.</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="#drawLowerBuildingCard(java.lang.String,int)" class="member-name-link">drawLowerBuildingCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Requests to draw a building card from the lower list.</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="#drawLowerTribeCard(java.lang.String,int)" class="member-name-link">drawLowerTribeCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Requests to draw a tribe card from the lower list.</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="#drawUpperBuildingCard(java.lang.String,int)" class="member-name-link">drawUpperBuildingCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Requests to draw a building card from the upper list.</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="#drawUpperTribeCard(java.lang.String,int)" class="member-name-link">drawUpperTribeCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Requests to draw a tribe card from the upper list.</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="#notifyDisconnection()" class="member-name-link">notifyDisconnection</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Notifies the server of a voluntary disconnection via RMI, then stops
|
||||
the keep-alive scheduler.</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="#skipTurn(java.lang.String)" class="member-name-link">skipTurn</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Requests to skip the turn.</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="#slotChoice(java.lang.String,int)" class="member-name-link">slotChoice</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Used to perform the slot choice action for the specified player at the specified position.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#startHeartbeat()" class="member-name-link">startHeartbeat</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Starts sending periodic pings to the server.</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="#totemChoice(java.lang.String,java.lang.String)" class="member-name-link">totemChoice</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> totem)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Sends a totem choice to the server for the specified player via RMI.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="host">
|
||||
<h3>host</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">host</span></div>
|
||||
<div class="block">Hostname or IP address of the RMI server.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="port">
|
||||
<h3>port</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">int</span> <span class="element-name">port</span></div>
|
||||
<div class="block">Port of the RMI registry.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="stub">
|
||||
<h3>stub</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="../Common/IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a></span> <span class="element-name">stub</span></div>
|
||||
<div class="block">Remote stub obtained from the RMI registry after a successful connection.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="controller">
|
||||
<h3>controller</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="../../../Controller/ClientController.html" title="class in it.polimi.ingsw.gc14.Controller">ClientController</a></span> <span class="element-name">controller</span></div>
|
||||
<div class="block">Client-side controller that receives and applies incoming game events.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="myIp">
|
||||
<h3>myIp</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">myIp</span></div>
|
||||
<div class="block">Local IP address advertised to the RMI runtime so callbacks are routed correctly.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="username">
|
||||
<h3>username</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">username</span></div>
|
||||
<div class="block">Username of the currently connected player; set during <a href="#connect(java.lang.String,int)"><code>connect(String, int)</code></a>.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="running">
|
||||
<h3>running</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private volatile</span> <span class="return-type">boolean</span> <span class="element-name">running</span></div>
|
||||
<div class="block"><code>true</code> while the heartbeat loop is active; set to <code>false</code> on disconnect.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="pingSender">
|
||||
<h3>pingSender</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ScheduledExecutorService.html" title="class or interface in java.util.concurrent" class="external-link">ScheduledExecutorService</a></span> <span class="element-name">pingSender</span></div>
|
||||
<div class="block">Scheduler that fires ping() every <a href="../../NetworkConfig.html#KEEPALIVE_INTERVAL_MS">3000L</a> ms.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="executor">
|
||||
<h3>executor</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ExecutorService.html" title="class or interface in java.util.concurrent" class="external-link">ExecutorService</a></span> <span class="element-name">executor</span></div>
|
||||
<div class="block">Future executor used for timer Running</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(it.polimi.ingsw.gc14.Controller.ClientController,java.lang.String,int,java.lang.String)">
|
||||
<h3>RMIClient</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">RMIClient</span><wbr><span class="parameters">(<a href="../../../Controller/ClientController.html" title="class in it.polimi.ingsw.gc14.Controller">ClientController</a> controller,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> host,
|
||||
int port,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> myIp)</span></div>
|
||||
<div class="block">Constructs an RMI client and initializes its connection parameters.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>controller</code> - the client controller associated with this RMI client.</dd>
|
||||
<dd><code>host</code> - the hostname or IP address of the RMI server.</dd>
|
||||
<dd><code>port</code> - the port used to connect to the RMI registry.</dd>
|
||||
<dd><code>myIp</code> - the IP address of the client.</dd>
|
||||
</dl>
|
||||
</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="connect(java.lang.String,int)">
|
||||
<h3>connect</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="../../../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a></span> <span class="element-name">connect</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int proposedNPlayers)</span></div>
|
||||
<div class="block">Connects to the RMI server and starts the heartbeat loop.
|
||||
|
||||
<p>Mirrors <code>TCPClient.connect()</code>: after a successful join the
|
||||
heartbeat channel is opened (here: a scheduler is started instead of
|
||||
opening a second socket).</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#connect(java.lang.String,int)">connect</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username chosen by the player.</dd>
|
||||
<dd><code>proposedNPlayers</code> - the desired number of players proposed by this client.</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd><code>true</code> if the connection is established successfully,
|
||||
<code>false</code> otherwise.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="startHeartbeat()">
|
||||
<h3>startHeartbeat</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type">void</span> <span class="element-name">startHeartbeat</span>()</div>
|
||||
<div class="block">Starts sending periodic pings to the server.
|
||||
|
||||
<p>Mirrors the <code>ScheduledExecutorService</code> in
|
||||
<code>TCPClient.heartbeatLoop()</code> that writes <code>PING</code> every 3 s.
|
||||
On <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link"><code>RemoteException</code></a> the server is considered gone and
|
||||
<a href="#disconnect()"><code>disconnect()</code></a> is called — mirrors the behavior on
|
||||
<code>SocketTimeoutException</code> / <code>IOException</code> in the TCP version.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="disconnect()">
|
||||
<h3>disconnect</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type">void</span> <span class="element-name">disconnect</span>()</div>
|
||||
<div class="block">Tears down the connection.
|
||||
Mirrors <code>TCPClient.disconnect()</code>: stops the heartbeat and notifies
|
||||
the view.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawUpperTribeCard(java.lang.String,int)">
|
||||
<h3>drawUpperTribeCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">drawUpperTribeCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a tribe card from the upper list.
|
||||
Creates a NetworkEvent and sends it through the network client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#drawUpperTribeCard(java.lang.String,int)">drawUpperTribeCard</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawLowerTribeCard(java.lang.String,int)">
|
||||
<h3>drawLowerTribeCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">drawLowerTribeCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a tribe card from the lower list.
|
||||
Creates a NetworkEvent and sends it through the network client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#drawLowerTribeCard(java.lang.String,int)">drawLowerTribeCard</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawUpperBuildingCard(java.lang.String,int)">
|
||||
<h3>drawUpperBuildingCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">drawUpperBuildingCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a building card from the upper list.
|
||||
Creates a NetworkEvent and sends it through the network client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#drawUpperBuildingCard(java.lang.String,int)">drawUpperBuildingCard</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawLowerBuildingCard(java.lang.String,int)">
|
||||
<h3>drawLowerBuildingCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">drawLowerBuildingCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a building card from the lower list.
|
||||
Creates a NetworkEvent and sends it through the network client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#drawLowerBuildingCard(java.lang.String,int)">drawLowerBuildingCard</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="skipTurn(java.lang.String)">
|
||||
<h3>skipTurn</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">skipTurn</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername)</span></div>
|
||||
<div class="block">Requests to skip the turn.
|
||||
This action is available only when the player cannot draw any tribe card, but still can buy some buildings.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#skipTurn(java.lang.String)">skipTurn</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="slotChoice(java.lang.String,int)">
|
||||
<h3>slotChoice</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">slotChoice</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Used to perform the slot choice action for the specified player at the specified position.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#slotChoice(java.lang.String,int)">slotChoice</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
<dd><code>pos</code> - the index of the selected slot</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="totemChoice(java.lang.String,java.lang.String)">
|
||||
<h3>totemChoice</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">totemChoice</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> totem)</span></div>
|
||||
<div class="block">Sends a totem choice to the server for the specified player via RMI.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#totemChoice(java.lang.String,java.lang.String)">totemChoice</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player choosing the totem.</dd>
|
||||
<dd><code>totem</code> - the name of the chosen totem.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="notifyDisconnection()">
|
||||
<h3>notifyDisconnection</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">notifyDisconnection</span>()</div>
|
||||
<div class="block">Notifies the server of a voluntary disconnection via RMI, then stops
|
||||
the keep-alive scheduler.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#notifyDisconnection()">notifyDisconnection</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+92
@@ -0,0 +1,92 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>it.polimi.ingsw.gc14.Network.RMI.Client</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.RMI.Client">
|
||||
<meta name="generator" content="javadoc/PackageWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="package-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Package</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#package">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html" class="current-selection">it.polimi.ingsw.gc14.Network.RMI.Client</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents</div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#class-summary" tabindex="0">Classes and Interfaces</a></li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 title="Package it.polimi.ingsw.gc14.Network.RMI.Client" class="title">Package it.polimi.ingsw.gc14.Network.RMI.Client</h1>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="package-signature">package <span class="element-name">it.polimi.ingsw.gc14.Network.RMI.Client</span></div>
|
||||
</div>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<li>
|
||||
<div id="class-summary">
|
||||
<div class="caption"><span>Classes</span></div>
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">Class</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ClientCallbackImpl.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Client">ClientCallbackImpl</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab2">
|
||||
<div class="block">RMI client callback implementation of <a href="../Common/IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common"><code>IClientCallback</code></a>.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RMIClient.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Client">RMIClient</a></div>
|
||||
<div class="col-last odd-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Client RMI.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>it.polimi.ingsw.gc14.Network.RMI.Client Class Hierarchy</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="2026-06-19">
|
||||
<meta name="description" content="tree: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.RMI.Client">
|
||||
<meta name="generator" content="javadoc/PackageTreeWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="package-tree-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li><a href="package-summary.html">Package</a></li>
|
||||
<li class="nav-bar-cell1-rev">Tree</li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#tree">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html" class="current-selection">it.polimi.ingsw.gc14.Network.RMI.Client</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 class="title">Hierarchy For Package it.polimi.ingsw.gc14.Network.RMI.Client</h1>
|
||||
</div>
|
||||
<span class="package-hierarchy-label">Package Hierarchies:</span>
|
||||
<ul class="horizontal contents-list">
|
||||
<li><a href="../../../../../../../../overview-tree.html">All Packages</a></li>
|
||||
</ul>
|
||||
<section class="hierarchy">
|
||||
<h2 title="Class Hierarchy">Class Hierarchy</h2>
|
||||
<ul>
|
||||
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
|
||||
<ul>
|
||||
<li class="circle">java.rmi.server.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html" class="type-name-link external-link" title="class or interface in java.rmi.server">RemoteObject</a> (implements java.rmi.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/Remote.html" title="class or interface in java.rmi" class="external-link">Remote</a>, java.io.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
|
||||
<ul>
|
||||
<li class="circle">java.rmi.server.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteServer.html" class="type-name-link external-link" title="class or interface in java.rmi.server">RemoteServer</a>
|
||||
<ul>
|
||||
<li class="circle">java.rmi.server.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html" class="type-name-link external-link" title="class or interface in java.rmi.server">UnicastRemoteObject</a>
|
||||
<ul>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.RMI.Client.<a href="ClientCallbackImpl.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.RMI.Client">ClientCallbackImpl</a> (implements it.polimi.ingsw.gc14.Network.RMI.Common.<a href="../Common/IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.RMI.Client.<a href="RMIClient.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.RMI.Client">RMIClient</a> (implements it.polimi.ingsw.gc14.Network.<a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+170
@@ -0,0 +1,170 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>IClientCallback</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.RMI.Common, interface: IClientCallback">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.RMI.Common</a></li>
|
||||
<li><a href="IClientCallback.html" class="current-selection">IClientCallback</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#onGameInit(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">onGameInit(MiniModel)</a></li>
|
||||
<li><a href="#onAction(it.polimi.ingsw.gc14.Network.NetworkEvent)" tabindex="0">onAction(NetworkEvent)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Interface IClientCallback" class="title">Interface IClientCallback</h1>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Superinterfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/Remote.html" title="class or interface in java.rmi" class="external-link">Remote</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
|
||||
</dl>
|
||||
<dl class="notes">
|
||||
<dt>All Known Implementing Classes:</dt>
|
||||
<dd><code><a href="../Client/ClientCallbackImpl.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Client">ClientCallbackImpl</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IClientCallback</span><span class="extends-implements">
|
||||
extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/Remote.html" title="class or interface in java.rmi" class="external-link">Remote</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></span></div>
|
||||
<div class="block">Callback interface used by the server to notify an RMI client about
|
||||
game updates and incoming network actions.
|
||||
|
||||
<p>Implementations of this interface are remotely accessible and
|
||||
serializable.</div>
|
||||
</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></div>
|
||||
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#onAction(it.polimi.ingsw.gc14.Network.NetworkEvent)" class="member-name-link">onAction</a><wbr>(<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> action)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Notifies the client about a network action to process.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#onGameInit(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">onGameInit</a><wbr>(<a href="../../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Notifies the client that the game model has been initialized or updated.</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="onGameInit(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>onGameInit</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">onGameInit</span><wbr><span class="parameters">(<a href="../../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> miniModel)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Notifies the client that the game model has been initialized or updated.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>miniModel</code> - the current mini model of the game.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if an RMI communication error occurs.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="onAction(it.polimi.ingsw.gc14.Network.NetworkEvent)">
|
||||
<h3>onAction</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">onAction</span><wbr><span class="parameters">(<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> action)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Notifies the client about a network action to process.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>action</code> - the network event received from the server.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if an RMI communication error occurs.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+376
@@ -0,0 +1,376 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>IGameServer</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.RMI.Common, interface: IGameServer">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.RMI.Common</a></li>
|
||||
<li><a href="IGameServer.html" class="current-selection">IGameServer</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#joinGame(java.lang.String,int,it.polimi.ingsw.gc14.Network.RMI.Common.IClientCallback)" tabindex="0">joinGame(String, int, IClientCallback)</a></li>
|
||||
<li><a href="#drawUpperTribeCard(java.lang.String,int)" tabindex="0">drawUpperTribeCard(String, int)</a></li>
|
||||
<li><a href="#drawLowerTribeCard(java.lang.String,int)" tabindex="0">drawLowerTribeCard(String, int)</a></li>
|
||||
<li><a href="#drawUpperBuildingCard(java.lang.String,int)" tabindex="0">drawUpperBuildingCard(String, int)</a></li>
|
||||
<li><a href="#drawLowerBuildingCard(java.lang.String,int)" tabindex="0">drawLowerBuildingCard(String, int)</a></li>
|
||||
<li><a href="#skipTurn(java.lang.String)" tabindex="0">skipTurn(String)</a></li>
|
||||
<li><a href="#slotChoice(java.lang.String,int)" tabindex="0">slotChoice(String, int)</a></li>
|
||||
<li><a href="#totemChoice(java.lang.String,java.lang.String)" tabindex="0">totemChoice(String, String)</a></li>
|
||||
<li><a href="#ping(java.lang.String)" tabindex="0">ping(String)</a></li>
|
||||
<li><a href="#disconnectPlayer(java.lang.String)" tabindex="0">disconnectPlayer(String)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Interface IGameServer" class="title">Interface IGameServer</h1>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Superinterfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/Remote.html" title="class or interface in java.rmi" class="external-link">Remote</a></code></dd>
|
||||
</dl>
|
||||
<dl class="notes">
|
||||
<dt>All Known Implementing Classes:</dt>
|
||||
<dd><code><a href="../Server/RMIServer.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Server">RMIServer</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IGameServer</span><span class="extends-implements">
|
||||
extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/Remote.html" title="class or interface in java.rmi" class="external-link">Remote</a></span></div>
|
||||
<div class="block">Remote interface used by RMI clients to interact with the game server.</div>
|
||||
</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></div>
|
||||
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#disconnectPlayer(java.lang.String)" class="member-name-link">disconnectPlayer</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Notifies the server of a voluntary disconnection for the specified player.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#drawLowerBuildingCard(java.lang.String,int)" class="member-name-link">drawLowerBuildingCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Requests to draw a building card from the lower building card list.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#drawLowerTribeCard(java.lang.String,int)" class="member-name-link">drawLowerTribeCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Requests to draw a tribe card from the lower tribe card list.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#drawUpperBuildingCard(java.lang.String,int)" class="member-name-link">drawUpperBuildingCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Requests to draw a building card from the upper building card list.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#drawUpperTribeCard(java.lang.String,int)" class="member-name-link">drawUpperTribeCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Requests to draw a tribe card from the upper tribe card list.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../../../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a></code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#joinGame(java.lang.String,int,it.polimi.ingsw.gc14.Network.RMI.Common.IClientCallback)" class="member-name-link">joinGame</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int preferredInt,
|
||||
<a href="IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a> callback)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Adds a player to the game and registers the callback used by the server
|
||||
to notify the corresponding RMI client.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#ping(java.lang.String)" class="member-name-link">ping</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Heartbeat method called periodically by the client to signal
|
||||
that it is still connected.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#skipTurn(java.lang.String)" class="member-name-link">skipTurn</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Requests to skip the current player's optional action.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#slotChoice(java.lang.String,int)" class="member-name-link">slotChoice</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Requests to assign the specified player to a slot.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#totemChoice(java.lang.String,java.lang.String)" class="member-name-link">totemChoice</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> totems)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
|
||||
<div class="block">Requests to assign the selected totem to the specified player.</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="joinGame(java.lang.String,int,it.polimi.ingsw.gc14.Network.RMI.Common.IClientCallback)">
|
||||
<h3>joinGame</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type"><a href="../../../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a></span> <span class="element-name">joinGame</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int preferredInt,
|
||||
<a href="IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a> callback)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Adds a player to the game and registers the callback used by the server
|
||||
to notify the corresponding RMI client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username chosen by the player.</dd>
|
||||
<dd><code>preferredInt</code> - the desired number of players proposed by this client.</dd>
|
||||
<dd><code>callback</code> - the remote callback associated with the client.</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd><code>null</code> if the player joins successfully;
|
||||
an <a href="../../../ErrorType.html" title="enum class in it.polimi.ingsw.gc14"><code>ErrorType</code></a> value describing the rejection otherwise.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if an RMI communication error occurs.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawUpperTribeCard(java.lang.String,int)">
|
||||
<h3>drawUpperTribeCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">drawUpperTribeCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Requests to draw a tribe card from the upper tribe card list.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player performing the action.</dd>
|
||||
<dd><code>pos</code> - the position of the selected card.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if an RMI communication error occurs.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawLowerTribeCard(java.lang.String,int)">
|
||||
<h3>drawLowerTribeCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">drawLowerTribeCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Requests to draw a tribe card from the lower tribe card list.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player performing the action.</dd>
|
||||
<dd><code>pos</code> - the position of the selected card.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if an RMI communication error occurs.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawUpperBuildingCard(java.lang.String,int)">
|
||||
<h3>drawUpperBuildingCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">drawUpperBuildingCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Requests to draw a building card from the upper building card list.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player performing the action.</dd>
|
||||
<dd><code>pos</code> - the position of the selected card.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if an RMI communication error occurs.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawLowerBuildingCard(java.lang.String,int)">
|
||||
<h3>drawLowerBuildingCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">drawLowerBuildingCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Requests to draw a building card from the lower building card list.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player performing the action.</dd>
|
||||
<dd><code>pos</code> - the position of the selected card.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if an RMI communication error occurs.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="skipTurn(java.lang.String)">
|
||||
<h3>skipTurn</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">skipTurn</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Requests to skip the current player's optional action.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player skipping the action.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if an RMI communication error occurs.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="slotChoice(java.lang.String,int)">
|
||||
<h3>slotChoice</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">slotChoice</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Requests to assign the specified player to a slot.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player making the slot choice.</dd>
|
||||
<dd><code>pos</code> - the position of the selected slot.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if an RMI communication error occurs.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="totemChoice(java.lang.String,java.lang.String)">
|
||||
<h3>totemChoice</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">totemChoice</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> totems)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Requests to assign the selected totem to the specified player.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player making the totem choice.</dd>
|
||||
<dd><code>totems</code> - the name of the selected totem.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if an RMI communication error occurs.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="ping(java.lang.String)">
|
||||
<h3>ping</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">ping</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Heartbeat method called periodically by the client to signal
|
||||
that it is still connected.
|
||||
|
||||
<p>This method mirrors the PING/PONG mechanism used in the TCP
|
||||
heartbeat channel.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username of the client sending the heartbeat ping.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if an RMI communication error occurs.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="disconnectPlayer(java.lang.String)">
|
||||
<h3>disconnectPlayer</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="return-type">void</span> <span class="element-name">disconnectPlayer</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Notifies the server of a voluntary disconnection for the specified player.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username of the player disconnecting.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if an RMI communication error occurs.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>it.polimi.ingsw.gc14.Network.RMI.Common</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.RMI.Common">
|
||||
<meta name="generator" content="javadoc/PackageWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="package-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Package</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#package">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html" class="current-selection">it.polimi.ingsw.gc14.Network.RMI.Common</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents</div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#class-summary" tabindex="0">Classes and Interfaces</a></li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 title="Package it.polimi.ingsw.gc14.Network.RMI.Common" class="title">Package it.polimi.ingsw.gc14.Network.RMI.Common</h1>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="package-signature">package <span class="element-name">it.polimi.ingsw.gc14.Network.RMI.Common</span></div>
|
||||
</div>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<li>
|
||||
<div id="class-summary">
|
||||
<div class="caption"><span>Interfaces</span></div>
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">Class</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab1">
|
||||
<div class="block">Callback interface used by the server to notify an RMI client about
|
||||
game updates and incoming network actions.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a></div>
|
||||
<div class="col-last odd-row-color class-summary class-summary-tab1">
|
||||
<div class="block">Remote interface used by RMI clients to interact with the game server.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>it.polimi.ingsw.gc14.Network.RMI.Common Class Hierarchy</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="2026-06-19">
|
||||
<meta name="description" content="tree: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.RMI.Common">
|
||||
<meta name="generator" content="javadoc/PackageTreeWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="package-tree-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li><a href="package-summary.html">Package</a></li>
|
||||
<li class="nav-bar-cell1-rev">Tree</li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#tree">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html" class="current-selection">it.polimi.ingsw.gc14.Network.RMI.Common</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 class="title">Hierarchy For Package it.polimi.ingsw.gc14.Network.RMI.Common</h1>
|
||||
</div>
|
||||
<span class="package-hierarchy-label">Package Hierarchies:</span>
|
||||
<ul class="horizontal contents-list">
|
||||
<li><a href="../../../../../../../../overview-tree.html">All Packages</a></li>
|
||||
</ul>
|
||||
<section class="hierarchy">
|
||||
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
|
||||
<ul>
|
||||
<li class="circle">java.rmi.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/Remote.html" class="type-name-link external-link" title="class or interface in java.rmi">Remote</a>
|
||||
<ul>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.RMI.Common.<a href="IClientCallback.html" class="type-name-link" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a> (also extends java.io.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)</li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.RMI.Common.<a href="IGameServer.html" class="type-name-link" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="circle">java.io.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" class="type-name-link external-link" title="class or interface in java.io">Serializable</a>
|
||||
<ul>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.RMI.Common.<a href="IClientCallback.html" class="type-name-link" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a> (also extends java.rmi.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/Remote.html" title="class or interface in java.rmi" class="external-link">Remote</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+365
@@ -0,0 +1,365 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>RMIHeartbeat</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.RMI.Server, class: RMIHeartbeat">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.RMI.Server</a></li>
|
||||
<li><a href="RMIHeartbeat.html" class="current-selection">RMIHeartbeat</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#username" tabindex="0">username</a></li>
|
||||
<li><a href="#playerList" tabindex="0">playerList</a></li>
|
||||
<li><a href="#clients" tabindex="0">clients</a></li>
|
||||
<li><a href="#actionQueue" tabindex="0">actionQueue</a></li>
|
||||
<li><a href="#lastPingTime" tabindex="0">lastPingTime</a></li>
|
||||
<li><a href="#running" tabindex="0">running</a></li>
|
||||
<li><a href="#watchdog" tabindex="0">watchdog</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.lang.String,it.polimi.ingsw.gc14.LimitedMap,java.util.Map,java.util.concurrent.BlockingQueue)" tabindex="0">RMIHeartbeat(String, LimitedMap, Map, BlockingQueue)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#start()" tabindex="0">start()</a></li>
|
||||
<li><a href="#receivePing()" tabindex="0">receivePing()</a></li>
|
||||
<li><a href="#disconnect()" tabindex="0">disconnect()</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class RMIHeartbeat" class="title">Class RMIHeartbeat</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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">it.polimi.ingsw.gc14.Network.RMI.Server.RMIHeartbeat</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">RMIHeartbeat</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
|
||||
<div class="block">Server-side heartbeat watchdog for a single RMI client.
|
||||
|
||||
<p>Mirrors <code>HeartbeatHandler</code> used in the TCP stack, but adapted for RMI:
|
||||
instead of reading raw bytes from a dedicated socket, it relies on <a href="#receivePing()"><code>receivePing()</code></a>
|
||||
being called by <a href="RMIServer.html#ping(java.lang.String)"><code>RMIServer.ping(String)</code></a> every time the client sends a ping.
|
||||
|
||||
<p>If no ping is received within <a href="../../NetworkConfig.html#SILENCE_THRESHOLD_MS">5000L</a> ms, the player is
|
||||
considered disconnected and <a href="#disconnect()"><code>disconnect()</code></a> is invoked, which:
|
||||
<ul>
|
||||
<li>stops the watchdog;</li>
|
||||
<li>marks the player as offline in <code>playerList</code>;</li>
|
||||
<li>removes the callback from <code>clients</code>;</li>
|
||||
<li>adds a <a href="../../NetworkEvents/DisconnectedPlayer.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents"><code>DisconnectedPlayer</code></a> event to the action queue.</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><wbr><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#actionQueue" class="member-name-link">actionQueue</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Shared event queue; a <a href="../../NetworkEvents/DisconnectedPlayer.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents"><code>DisconnectedPlayer</code></a> event is posted here on timeout.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><wbr><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>, <a href="../Common/IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a>></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#clients" class="member-name-link">clients</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Registry of active RMI callbacks; the entry for this player is removed on disconnect.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private long</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#lastPingTime" class="member-name-link">lastPingTime</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Last time a ping was received from this client.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><wbr><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/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 odd-row-color"><code><a href="#playerList" class="member-name-link">playerList</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Shared map used to mark the player as offline on timeout.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private boolean</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#running" class="member-name-link">running</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block"><code>true</code> while the watchdog is running; set to <code>false</code> on first disconnect.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/25/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"><code><a href="#username" class="member-name-link">username</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Username of the client monitored by this watchdog.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ScheduledExecutorService.html" title="class or interface in java.util.concurrent" class="external-link">ScheduledExecutorService</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#watchdog" class="member-name-link">watchdog</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Single-thread executor that periodically checks whether the silence threshold has been exceeded.</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(java.lang.String,it.polimi.ingsw.gc14.LimitedMap,java.util.Map,java.util.concurrent.BlockingQueue)" class="member-name-link">RMIHeartbeat</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
<a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>> playerList,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>, <a href="../Common/IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a>> clients,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>> actionQueue)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Constructs an RMI heartbeat handler for the specified client.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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="#disconnect()" class="member-name-link">disconnect</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Disconnects the monitored RMI client.</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="#receivePing()" class="member-name-link">receivePing</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Called by <a href="RMIServer.html#ping(java.lang.String)"><code>RMIServer.ping(String)</code></a> each time the client pings.</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="#start()" class="member-name-link">start</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Called by <a href="RMIServer.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Server"><code>RMIServer</code></a> whenever it starts tracking this player.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="username">
|
||||
<h3>username</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">username</span></div>
|
||||
<div class="block">Username of the client monitored by this watchdog.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="playerList">
|
||||
<h3>playerList</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>></span> <span class="element-name">playerList</span></div>
|
||||
<div class="block">Shared map used to mark the player as offline on timeout.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="clients">
|
||||
<h3>clients</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>, <a href="../Common/IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a>></span> <span class="element-name">clients</span></div>
|
||||
<div class="block">Registry of active RMI callbacks; the entry for this player is removed on disconnect.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="actionQueue">
|
||||
<h3>actionQueue</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>></span> <span class="element-name">actionQueue</span></div>
|
||||
<div class="block">Shared event queue; a <a href="../../NetworkEvents/DisconnectedPlayer.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents"><code>DisconnectedPlayer</code></a> event is posted here on timeout.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="lastPingTime">
|
||||
<h3>lastPingTime</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private volatile</span> <span class="return-type">long</span> <span class="element-name">lastPingTime</span></div>
|
||||
<div class="block">Last time a ping was received from this client.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="running">
|
||||
<h3>running</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private volatile</span> <span class="return-type">boolean</span> <span class="element-name">running</span></div>
|
||||
<div class="block"><code>true</code> while the watchdog is running; set to <code>false</code> on first disconnect.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="watchdog">
|
||||
<h3>watchdog</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ScheduledExecutorService.html" title="class or interface in java.util.concurrent" class="external-link">ScheduledExecutorService</a></span> <span class="element-name">watchdog</span></div>
|
||||
<div class="block">Single-thread executor that periodically checks whether the silence threshold has been exceeded.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(java.lang.String,it.polimi.ingsw.gc14.LimitedMap,java.util.Map,java.util.concurrent.BlockingQueue)">
|
||||
<h3>RMIHeartbeat</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">RMIHeartbeat</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
<a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>> playerList,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>, <a href="../Common/IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a>> clients,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>> actionQueue)</span></div>
|
||||
<div class="block">Constructs an RMI heartbeat handler for the specified client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username of the client monitored by the heartbeat.</dd>
|
||||
<dd><code>playerList</code> - the map storing the connection status of the players.</dd>
|
||||
<dd><code>clients</code> - the collection of currently registered RMI clients.</dd>
|
||||
<dd><code>actionQueue</code> - the queue containing network events to be processed.</dd>
|
||||
</dl>
|
||||
</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="start()">
|
||||
<h3>start</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">start</span>()</div>
|
||||
<div class="block">Called by <a href="RMIServer.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Server"><code>RMIServer</code></a> whenever it starts tracking this player.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="receivePing()">
|
||||
<h3>receivePing</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">receivePing</span>()</div>
|
||||
<div class="block">Called by <a href="RMIServer.html#ping(java.lang.String)"><code>RMIServer.ping(String)</code></a> each time the client pings.
|
||||
Resets the silence timer — mirrors writing <code>lastReceivedTime</code> in
|
||||
<code>HeartbeatHandler</code>.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="disconnect()">
|
||||
<h3>disconnect</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">disconnect</span>()</div>
|
||||
<div class="block">Disconnects the monitored RMI client.
|
||||
|
||||
<p>The heartbeat handler is stopped, the player is marked as offline,
|
||||
the associated RMI callback is removed, and a disconnection event is
|
||||
added to the action queue for server-side processing.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+704
@@ -0,0 +1,704 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>RMIServer</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.RMI.Server, class: RMIServer">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.RMI.Server</a></li>
|
||||
<li><a href="RMIServer.html" class="current-selection">RMIServer</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#host" tabindex="0">host</a></li>
|
||||
<li><a href="#controller" tabindex="0">controller</a></li>
|
||||
<li><a href="#nPort" tabindex="0">nPort</a></li>
|
||||
<li><a href="#clients" tabindex="0">clients</a></li>
|
||||
<li><a href="#watchdogs" tabindex="0">watchdogs</a></li>
|
||||
<li><a href="#actionQueue" tabindex="0">actionQueue</a></li>
|
||||
<li><a href="#playerList" tabindex="0">playerList</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(it.polimi.ingsw.gc14.Controller.GameController,int,java.util.concurrent.BlockingQueue,it.polimi.ingsw.gc14.LimitedMap,java.lang.String)" tabindex="0">RMIServer(GameController, int, BlockingQueue, LimitedMap, String)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#joinGame(java.lang.String,int,it.polimi.ingsw.gc14.Network.RMI.Common.IClientCallback)" tabindex="0">joinGame(String, int, IClientCallback)</a></li>
|
||||
<li><a href="#ping(java.lang.String)" tabindex="0">ping(String)</a></li>
|
||||
<li><a href="#notifyAll(it.polimi.ingsw.gc14.Network.NetworkEvent)" tabindex="0">notifyAll(NetworkEvent)</a></li>
|
||||
<li><a href="#notifyAll(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">notifyAll(MiniModel)</a></li>
|
||||
<li><a href="#drawUpperTribeCard(java.lang.String,int)" tabindex="0">drawUpperTribeCard(String, int)</a></li>
|
||||
<li><a href="#drawLowerTribeCard(java.lang.String,int)" tabindex="0">drawLowerTribeCard(String, int)</a></li>
|
||||
<li><a href="#drawUpperBuildingCard(java.lang.String,int)" tabindex="0">drawUpperBuildingCard(String, int)</a></li>
|
||||
<li><a href="#drawLowerBuildingCard(java.lang.String,int)" tabindex="0">drawLowerBuildingCard(String, int)</a></li>
|
||||
<li><a href="#skipTurn(java.lang.String)" tabindex="0">skipTurn(String)</a></li>
|
||||
<li><a href="#slotChoice(java.lang.String,int)" tabindex="0">slotChoice(String, int)</a></li>
|
||||
<li><a href="#totemChoice(java.lang.String,java.lang.String)" tabindex="0">totemChoice(String, String)</a></li>
|
||||
<li><a href="#start()" tabindex="0">start()</a></li>
|
||||
<li><a href="#startWatchdog(java.lang.String)" tabindex="0">startWatchdog(String)</a></li>
|
||||
<li><a href="#disconnectPlayer(java.lang.String)" tabindex="0">disconnectPlayer(String)</a></li>
|
||||
<li><a href="#disconnectedUsernames(it.polimi.ingsw.gc14.Model.Game)" tabindex="0">disconnectedUsernames(Game)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class RMIServer" class="title">Class RMIServer</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html" title="class or interface in java.rmi.server" class="external-link">java.rmi.server.RemoteObject</a>
|
||||
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteServer.html" title="class or interface in java.rmi.server" class="external-link">java.rmi.server.RemoteServer</a>
|
||||
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html" title="class or interface in java.rmi.server" class="external-link">java.rmi.server.UnicastRemoteObject</a>
|
||||
<div class="inheritance">it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="../Common/IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/Remote.html" title="class or interface in java.rmi" class="external-link">Remote</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">RMIServer</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html" title="class or interface in java.rmi.server" class="external-link">UnicastRemoteObject</a>
|
||||
implements <a href="../Common/IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a></span></div>
|
||||
<div class="block">RMI server responsible for handling remote client connections,
|
||||
receiving player actions, and propagating game updates.
|
||||
|
||||
<p>The server manages player registration, reconnection handling,
|
||||
heartbeat monitoring, and the forwarding of client requests to the
|
||||
shared network event queue.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../../serialized-form.html#it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer">Serialized Form</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><wbr><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#actionQueue" class="member-name-link">actionQueue</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Shared queue to which player actions are added for sequential processing.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><wbr><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>, <a href="../Common/IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a>></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#clients" class="member-name-link">clients</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">username → callback</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="../../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#controller" class="member-name-link">controller</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Server-side game controller; all model access is synchronized on this object.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/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"><code><a href="#host" class="member-name-link">host</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Hostname or IP address exposed by the RMI runtime (<code>java.rmi.server.hostname</code>).</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private final int</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#nPort" class="member-name-link">nPort</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Port on which the RMI registry is bound.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><wbr><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/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 odd-row-color"><code><a href="#playerList" class="member-name-link">playerList</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Shared map tracking each player's connection status (<code>true</code> = online).</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><wbr><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>, <a href="RMIHeartbeat.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Server">RMIHeartbeat</a>></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#watchdogs" class="member-name-link">watchdogs</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">username → watchdog.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="fields-inherited-from-class-java.rmi.server.RemoteObject">Fields inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#field-summary" title="class or interface in java.rmi.server" class="external-link">RemoteObject</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#ref" title="class or interface in java.rmi.server" class="external-link">ref</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(it.polimi.ingsw.gc14.Controller.GameController,int,java.util.concurrent.BlockingQueue,it.polimi.ingsw.gc14.LimitedMap,java.lang.String)" class="member-name-link">RMIServer</a><wbr>(<a href="../../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> controller,
|
||||
int nPort,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>> actionQueue,
|
||||
<a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>> playerList,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> host)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Constructs an RMI server with the required game and network components.</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-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static 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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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-tab1 method-summary-table-tab4"><code>private static <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><wbr><<a href="https://docs.oracle.com/en/java/javase/25/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-tab1 method-summary-table-tab4"><code><a href="#disconnectedUsernames(it.polimi.ingsw.gc14.Model.Game)" class="member-name-link">disconnectedUsernames</a><wbr>(<a href="../../../Model/Game.html" title="class in it.polimi.ingsw.gc14.Model">Game</a> game)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
|
||||
<div class="block">Returns usernames of players currently marked as disconnected in the given game.</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="#disconnectPlayer(java.lang.String)" class="member-name-link">disconnectPlayer</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Triggers a voluntary disconnection for the specified player
|
||||
by stopping their heartbeat watchdog.</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="#drawLowerBuildingCard(java.lang.String,int)" class="member-name-link">drawLowerBuildingCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Requests to draw a building card from the lower list.</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="#drawLowerTribeCard(java.lang.String,int)" class="member-name-link">drawLowerTribeCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Requests to draw a tribe card from the lower list.</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="#drawUpperBuildingCard(java.lang.String,int)" class="member-name-link">drawUpperBuildingCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Requests to draw a building card from the upper list.</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="#drawUpperTribeCard(java.lang.String,int)" class="member-name-link">drawUpperTribeCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Requests to draw a tribe card from the upper list.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a></code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#joinGame(java.lang.String,int,it.polimi.ingsw.gc14.Network.RMI.Common.IClientCallback)" class="member-name-link">joinGame</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int preferredInt,
|
||||
<a href="../Common/IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a> callback)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Adds a player to the game and registers the callback used by the server
|
||||
to notify the corresponding RMI client.</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="#notifyAll(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">notifyAll</a><wbr>(<a href="../../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> model)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Notifies all connected RMI clients of a new game model.</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="#notifyAll(it.polimi.ingsw.gc14.Network.NetworkEvent)" class="member-name-link">notifyAll</a><wbr>(<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> action)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Notifies connected RMI clients of a new network event.</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="#ping(java.lang.String)" class="member-name-link">ping</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Receives a heartbeat ping from the client.</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="#skipTurn(java.lang.String)" class="member-name-link">skipTurn</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Requests to skip the turn.</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="#slotChoice(java.lang.String,int)" class="member-name-link">slotChoice</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Used to perform the slot choice action for the specified player at the specified position.</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="#start()" class="member-name-link">start</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Starts the RMI server and binds it to the configured registry.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#startWatchdog(java.lang.String)" class="member-name-link">startWatchdog</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Creates and starts an <a href="RMIHeartbeat.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Server"><code>RMIHeartbeat</code></a> for the specified player.</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="#totemChoice(java.lang.String,java.lang.String)" class="member-name-link">totemChoice</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> totems)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Enqueues a totem choice event for the specified player.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.rmi.server.UnicastRemoteObject">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#method-summary" title="class or interface in java.rmi.server" class="external-link">UnicastRemoteObject</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#clone()" title="class or interface in java.rmi.server" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#exportObject(java.rmi.Remote)" title="class or interface in java.rmi.server" class="external-link">exportObject</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#exportObject(java.rmi.Remote,int)" title="class or interface in java.rmi.server" class="external-link">exportObject</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#exportObject(java.rmi.Remote,int,java.io.ObjectInputFilter)" title="class or interface in java.rmi.server" class="external-link">exportObject</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#exportObject(java.rmi.Remote,int,java.rmi.server.RMIClientSocketFactory,java.rmi.server.RMIServerSocketFactory)" title="class or interface in java.rmi.server" class="external-link">exportObject</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#exportObject(java.rmi.Remote,int,java.rmi.server.RMIClientSocketFactory,java.rmi.server.RMIServerSocketFactory,java.io.ObjectInputFilter)" title="class or interface in java.rmi.server" class="external-link">exportObject</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html#unexportObject(java.rmi.Remote,boolean)" title="class or interface in java.rmi.server" class="external-link">unexportObject</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.rmi.server.RemoteServer">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteServer.html#method-summary" title="class or interface in java.rmi.server" class="external-link">RemoteServer</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteServer.html#getClientHost()" title="class or interface in java.rmi.server" class="external-link">getClientHost</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteServer.html#getLog()" title="class or interface in java.rmi.server" class="external-link">getLog</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteServer.html#setLog(java.io.OutputStream)" title="class or interface in java.rmi.server" class="external-link">setLog</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.rmi.server.RemoteObject">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#method-summary" title="class or interface in java.rmi.server" class="external-link">RemoteObject</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#equals(java.lang.Object)" title="class or interface in java.rmi.server" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#getRef()" title="class or interface in java.rmi.server" class="external-link">getRef</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#hashCode()" title="class or interface in java.rmi.server" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#toString()" title="class or interface in java.rmi.server" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html#toStub(java.rmi.Remote)" title="class or interface in java.rmi.server" class="external-link">toStub</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="host">
|
||||
<h3>host</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">host</span></div>
|
||||
<div class="block">Hostname or IP address exposed by the RMI runtime (<code>java.rmi.server.hostname</code>).</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="controller">
|
||||
<h3>controller</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="../../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a></span> <span class="element-name">controller</span></div>
|
||||
<div class="block">Server-side game controller; all model access is synchronized on this object.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="nPort">
|
||||
<h3>nPort</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">int</span> <span class="element-name">nPort</span></div>
|
||||
<div class="block">Port on which the RMI registry is bound.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="clients">
|
||||
<h3>clients</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>, <a href="../Common/IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a>></span> <span class="element-name">clients</span></div>
|
||||
<div class="block">username → callback</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="watchdogs">
|
||||
<h3>watchdogs</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>, <a href="RMIHeartbeat.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Server">RMIHeartbeat</a>></span> <span class="element-name">watchdogs</span></div>
|
||||
<div class="block">username → watchdog.
|
||||
One watchdog per connected player, mirrors <code>pendingHeartbeat</code> / per-socket
|
||||
HeartbeatHandler in the TCP stack.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="actionQueue">
|
||||
<h3>actionQueue</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>></span> <span class="element-name">actionQueue</span></div>
|
||||
<div class="block">Shared queue to which player actions are added for sequential processing.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="playerList">
|
||||
<h3>playerList</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>></span> <span class="element-name">playerList</span></div>
|
||||
<div class="block">Shared map tracking each player's connection status (<code>true</code> = online).</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(it.polimi.ingsw.gc14.Controller.GameController,int,java.util.concurrent.BlockingQueue,it.polimi.ingsw.gc14.LimitedMap,java.lang.String)">
|
||||
<h3>RMIServer</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">RMIServer</span><wbr><span class="parameters">(<a href="../../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> controller,
|
||||
int nPort,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>> actionQueue,
|
||||
<a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>> playerList,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> host)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Constructs an RMI server with the required game and network components.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>controller</code> - the game controller used to manage the game logic.</dd>
|
||||
<dd><code>nPort</code> - the port used by the RMI registry.</dd>
|
||||
<dd><code>actionQueue</code> - the queue containing incoming network events.</dd>
|
||||
<dd><code>playerList</code> - the map storing the connection status of the players.</dd>
|
||||
<dd><code>host</code> - the hostname or IP address exposed by the RMI server.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if the remote object cannot be exported.</dd>
|
||||
</dl>
|
||||
</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="joinGame(java.lang.String,int,it.polimi.ingsw.gc14.Network.RMI.Common.IClientCallback)">
|
||||
<h3>joinGame</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="../../../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a></span> <span class="element-name">joinGame</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
int preferredInt,
|
||||
<a href="../Common/IClientCallback.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IClientCallback</a> callback)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Adds a player to the game and registers the callback used by the server
|
||||
to notify the corresponding RMI client.
|
||||
|
||||
<p>After a successful join an <a href="RMIHeartbeat.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Server"><code>RMIHeartbeat</code></a> watchdog is created and
|
||||
started for the new player — mirrors creating a <code>HeartbeatHandler</code> in
|
||||
<code>TCPServer.acceptHeartbeat()</code>.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../Common/IGameServer.html#joinGame(java.lang.String,int,it.polimi.ingsw.gc14.Network.RMI.Common.IClientCallback)">joinGame</a></code> in interface <code><a href="../Common/IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username chosen by the player.</dd>
|
||||
<dd><code>preferredInt</code> - the desired number of players proposed by this client.</dd>
|
||||
<dd><code>callback</code> - the remote callback associated with the client.</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd><code>null</code> on success; an <a href="../../../ErrorType.html" title="enum class in it.polimi.ingsw.gc14"><code>ErrorType</code></a> value on rejection.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if an RMI communication error occurs.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="ping(java.lang.String)">
|
||||
<h3>ping</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">ping</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Receives a heartbeat ping from the client.
|
||||
Mirrors the server reading <code>PING</code> and replying <code>PONG</code> in
|
||||
<code>HeartbeatHandler.run()</code>.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../Common/IGameServer.html#ping(java.lang.String)">ping</a></code> in interface <code><a href="../Common/IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username of the pinging client.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if an RMI communication error occurs.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="notifyAll(it.polimi.ingsw.gc14.Network.NetworkEvent)">
|
||||
<h3>notifyAll</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">notifyAll</span><wbr><span class="parameters">(<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> action)</span></div>
|
||||
<div class="block">Notifies connected RMI clients of a new network event.
|
||||
|
||||
<p>If the event does not represent an error, it is sent to all registered clients.
|
||||
If it represents an error, it is sent only to the client that requested the action.
|
||||
Communication errors are logged without interrupting the notification process.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>action</code> - the network event to send to the clients.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="notifyAll(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>notifyAll</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">notifyAll</span><wbr><span class="parameters">(<a href="../../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> model)</span></div>
|
||||
<div class="block">Notifies all connected RMI clients of a new game model.
|
||||
|
||||
<p>The updated mini model is sent to each registered client callback.
|
||||
If a communication error occurs for a client, the exception is logged
|
||||
without interrupting the notification of the remaining clients.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>model</code> - the updated mini model to send to the connected clients.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawUpperTribeCard(java.lang.String,int)">
|
||||
<h3>drawUpperTribeCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">drawUpperTribeCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a tribe card from the upper list.
|
||||
Creates a NetworkEvent and sends it through the network client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../Common/IGameServer.html#drawUpperTribeCard(java.lang.String,int)">drawUpperTribeCard</a></code> in interface <code><a href="../Common/IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawLowerTribeCard(java.lang.String,int)">
|
||||
<h3>drawLowerTribeCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">drawLowerTribeCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a tribe card from the lower list.
|
||||
Creates a NetworkEvent and sends it through the network client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../Common/IGameServer.html#drawLowerTribeCard(java.lang.String,int)">drawLowerTribeCard</a></code> in interface <code><a href="../Common/IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawUpperBuildingCard(java.lang.String,int)">
|
||||
<h3>drawUpperBuildingCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">drawUpperBuildingCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a building card from the upper list.
|
||||
Creates a NetworkEvent and sends it through the network client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../Common/IGameServer.html#drawUpperBuildingCard(java.lang.String,int)">drawUpperBuildingCard</a></code> in interface <code><a href="../Common/IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawLowerBuildingCard(java.lang.String,int)">
|
||||
<h3>drawLowerBuildingCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">drawLowerBuildingCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a building card from the lower list.
|
||||
Creates a NetworkEvent and sends it through the network client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../Common/IGameServer.html#drawLowerBuildingCard(java.lang.String,int)">drawLowerBuildingCard</a></code> in interface <code><a href="../Common/IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="skipTurn(java.lang.String)">
|
||||
<h3>skipTurn</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">skipTurn</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername)</span></div>
|
||||
<div class="block">Requests to skip the turn.
|
||||
This action is available only when the player cannot draw any tribe card, but still can buy some buildings.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../Common/IGameServer.html#skipTurn(java.lang.String)">skipTurn</a></code> in interface <code><a href="../Common/IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="slotChoice(java.lang.String,int)">
|
||||
<h3>slotChoice</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">slotChoice</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Used to perform the slot choice action for the specified player at the specified position.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../Common/IGameServer.html#slotChoice(java.lang.String,int)">slotChoice</a></code> in interface <code><a href="../Common/IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
<dd><code>pos</code> - the index of the selected slot</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="totemChoice(java.lang.String,java.lang.String)">
|
||||
<h3>totemChoice</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">totemChoice</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> totems)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></span></div>
|
||||
<div class="block">Enqueues a totem choice event for the specified player.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../Common/IGameServer.html#totemChoice(java.lang.String,java.lang.String)">totemChoice</a></code> in interface <code><a href="../Common/IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player choosing the totem.</dd>
|
||||
<dd><code>totems</code> - the name of the chosen totem.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/RemoteException.html" title="class or interface in java.rmi" class="external-link">RemoteException</a></code> - if the RMI call fails.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="start()">
|
||||
<h3>start</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">start</span>()</div>
|
||||
<div class="block">Starts the RMI server and binds it to the configured registry.
|
||||
|
||||
<p>The method configures the server hostname, creates the RMI registry
|
||||
on the specified port, and registers this server instance under the
|
||||
<code>RMIGameServer</code> name.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="startWatchdog(java.lang.String)">
|
||||
<h3>startWatchdog</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type">void</span> <span class="element-name">startWatchdog</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</span></div>
|
||||
<div class="block">Creates and starts an <a href="RMIHeartbeat.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Server"><code>RMIHeartbeat</code></a> for the specified player.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username of the player monitored by the heartbeat watchdog.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="disconnectPlayer(java.lang.String)">
|
||||
<h3>disconnectPlayer</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">disconnectPlayer</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username)</span></div>
|
||||
<div class="block">Triggers a voluntary disconnection for the specified player
|
||||
by stopping their heartbeat watchdog.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../Common/IGameServer.html#disconnectPlayer(java.lang.String)">disconnectPlayer</a></code> in interface <code><a href="../Common/IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username of the player to disconnect.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="disconnectedUsernames(it.polimi.ingsw.gc14.Model.Game)">
|
||||
<h3>disconnectedUsernames</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></span> <span class="element-name">disconnectedUsernames</span><wbr><span class="parameters">(<a href="../../../Model/Game.html" title="class in it.polimi.ingsw.gc14.Model">Game</a> game)</span></div>
|
||||
<div class="block">Returns usernames of players currently marked as disconnected in the given game.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>it.polimi.ingsw.gc14.Network.RMI.Server</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.RMI.Server">
|
||||
<meta name="generator" content="javadoc/PackageWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="package-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Package</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#package">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html" class="current-selection">it.polimi.ingsw.gc14.Network.RMI.Server</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents</div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#class-summary" tabindex="0">Classes and Interfaces</a></li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 title="Package it.polimi.ingsw.gc14.Network.RMI.Server" class="title">Package it.polimi.ingsw.gc14.Network.RMI.Server</h1>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="package-signature">package <span class="element-name">it.polimi.ingsw.gc14.Network.RMI.Server</span></div>
|
||||
</div>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<li>
|
||||
<div id="class-summary">
|
||||
<div class="caption"><span>Classes</span></div>
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">Class</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RMIHeartbeat.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Server">RMIHeartbeat</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Server-side heartbeat watchdog for a single RMI client.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RMIServer.html" title="class in it.polimi.ingsw.gc14.Network.RMI.Server">RMIServer</a></div>
|
||||
<div class="col-last odd-row-color class-summary class-summary-tab2">
|
||||
<div class="block">RMI server responsible for handling remote client connections,
|
||||
receiving player actions, and propagating game updates.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>it.polimi.ingsw.gc14.Network.RMI.Server Class Hierarchy</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="2026-06-19">
|
||||
<meta name="description" content="tree: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.RMI.Server">
|
||||
<meta name="generator" content="javadoc/PackageTreeWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="package-tree-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li><a href="package-summary.html">Package</a></li>
|
||||
<li class="nav-bar-cell1-rev">Tree</li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#tree">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html" class="current-selection">it.polimi.ingsw.gc14.Network.RMI.Server</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 class="title">Hierarchy For Package it.polimi.ingsw.gc14.Network.RMI.Server</h1>
|
||||
</div>
|
||||
<span class="package-hierarchy-label">Package Hierarchies:</span>
|
||||
<ul class="horizontal contents-list">
|
||||
<li><a href="../../../../../../../../overview-tree.html">All Packages</a></li>
|
||||
</ul>
|
||||
<section class="hierarchy">
|
||||
<h2 title="Class Hierarchy">Class Hierarchy</h2>
|
||||
<ul>
|
||||
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
|
||||
<ul>
|
||||
<li class="circle">java.rmi.server.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteObject.html" class="type-name-link external-link" title="class or interface in java.rmi.server">RemoteObject</a> (implements java.rmi.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/Remote.html" title="class or interface in java.rmi" class="external-link">Remote</a>, java.io.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
|
||||
<ul>
|
||||
<li class="circle">java.rmi.server.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteServer.html" class="type-name-link external-link" title="class or interface in java.rmi.server">RemoteServer</a>
|
||||
<ul>
|
||||
<li class="circle">java.rmi.server.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/UnicastRemoteObject.html" class="type-name-link external-link" title="class or interface in java.rmi.server">UnicastRemoteObject</a>
|
||||
<ul>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.RMI.Server.<a href="RMIServer.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.RMI.Server">RMIServer</a> (implements it.polimi.ingsw.gc14.Network.RMI.Common.<a href="../Common/IGameServer.html" title="interface in it.polimi.ingsw.gc14.Network.RMI.Common">IGameServer</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.RMI.Server.<a href="RMIHeartbeat.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.RMI.Server">RMIHeartbeat</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+700
@@ -0,0 +1,700 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>TCPClient</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.TCP.Client, class: TCPClient">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.TCP.Client</a></li>
|
||||
<li><a href="TCPClient.html" class="current-selection">TCPClient</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#PING" tabindex="0">PING</a></li>
|
||||
<li><a href="#PONG" tabindex="0">PONG</a></li>
|
||||
<li><a href="#communicationSocket" tabindex="0">communicationSocket</a></li>
|
||||
<li><a href="#socketReceive" tabindex="0">socketReceive</a></li>
|
||||
<li><a href="#socketSend" tabindex="0">socketSend</a></li>
|
||||
<li><a href="#controller" tabindex="0">controller</a></li>
|
||||
<li><a href="#hostname" tabindex="0">hostname</a></li>
|
||||
<li><a href="#running" tabindex="0">running</a></li>
|
||||
<li><a href="#mainPort" tabindex="0">mainPort</a></li>
|
||||
<li><a href="#heartbeatPort" tabindex="0">heartbeatPort</a></li>
|
||||
<li><a href="#heartbeatSocket" tabindex="0">heartbeatSocket</a></li>
|
||||
<li><a href="#heartbeatOut" tabindex="0">heartbeatOut</a></li>
|
||||
<li><a href="#heartbeatIn" tabindex="0">heartbeatIn</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(it.polimi.ingsw.gc14.Controller.ClientController,java.lang.String,int,int)" tabindex="0">TCPClient(ClientController, String, int, int)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#connect(java.lang.String,int)" tabindex="0">connect(String, int)</a></li>
|
||||
<li><a href="#heartbeatLoop()" tabindex="0">heartbeatLoop()</a></li>
|
||||
<li><a href="#disconnect()" tabindex="0">disconnect()</a></li>
|
||||
<li><a href="#receiveMessage()" tabindex="0">receiveMessage()</a></li>
|
||||
<li><a href="#drawUpperTribeCard(java.lang.String,int)" tabindex="0">drawUpperTribeCard(String, int)</a></li>
|
||||
<li><a href="#drawLowerTribeCard(java.lang.String,int)" tabindex="0">drawLowerTribeCard(String, int)</a></li>
|
||||
<li><a href="#drawUpperBuildingCard(java.lang.String,int)" tabindex="0">drawUpperBuildingCard(String, int)</a></li>
|
||||
<li><a href="#drawLowerBuildingCard(java.lang.String,int)" tabindex="0">drawLowerBuildingCard(String, int)</a></li>
|
||||
<li><a href="#skipTurn(java.lang.String)" tabindex="0">skipTurn(String)</a></li>
|
||||
<li><a href="#slotChoice(java.lang.String,int)" tabindex="0">slotChoice(String, int)</a></li>
|
||||
<li><a href="#doEvent(it.polimi.ingsw.gc14.Network.NetworkEvent)" tabindex="0">doEvent(NetworkEvent)</a></li>
|
||||
<li><a href="#totemChoice(java.lang.String,java.lang.String)" tabindex="0">totemChoice(String, String)</a></li>
|
||||
<li><a href="#notifyDisconnection()" tabindex="0">notifyDisconnection()</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class TCPClient" class="title">Class TCPClient</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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">it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">TCPClient</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
|
||||
implements <a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></span></div>
|
||||
<div class="block">Client TCP. Sends and receives messages with the TCP server.</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/Socket.html" title="class or interface in java.net" class="external-link">Socket</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#communicationSocket" class="member-name-link">communicationSocket</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Socket TCP</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="../../../Controller/ClientController.html" title="class in it.polimi.ingsw.gc14.Controller">ClientController</a></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#controller" class="member-name-link">controller</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Client game's controller</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io" class="external-link">InputStream</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#heartbeatIn" class="member-name-link">heartbeatIn</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Input stream of <a href="#heartbeatSocket"><code>heartbeatSocket</code></a>, used to read <a href="#PONG"><code>PONG</code></a> bytes.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io" class="external-link">OutputStream</a></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#heartbeatOut" class="member-name-link">heartbeatOut</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Output stream of <a href="#heartbeatSocket"><code>heartbeatSocket</code></a>, used to write <a href="#PING"><code>PING</code></a> bytes.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private final int</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#heartbeatPort" class="member-name-link">heartbeatPort</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">TCP port dedicated to heartbeat communication.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/Socket.html" title="class or interface in java.net" class="external-link">Socket</a></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#heartbeatSocket" class="member-name-link">heartbeatSocket</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Socket used exclusively for heartbeat ping/pong exchange.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/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"><code><a href="#hostname" class="member-name-link">hostname</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">IP address of the server to connect to</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final int</code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#mainPort" class="member-name-link">mainPort</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">TCP port</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private static final int</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#PING" class="member-name-link">PING</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Byte value sent by the client to signal it is still alive.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private static final int</code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#PONG" class="member-name-link">PONG</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Byte value expected from the server in response to a <a href="#PING"><code>PING</code></a>.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private boolean</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#running" class="member-name-link">running</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block"><code>true</code> while the connection is active; set to <code>false</code> on disconnect.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectInputStream.html" title="class or interface in java.io" class="external-link">ObjectInputStream</a></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#socketReceive" class="member-name-link">socketReceive</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Input stream used receive objects from the server</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectOutputStream.html" title="class or interface in java.io" class="external-link">ObjectOutputStream</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#socketSend" class="member-name-link">socketSend</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Output stream used to send objects to the server</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(it.polimi.ingsw.gc14.Controller.ClientController,java.lang.String,int,int)" class="member-name-link">TCPClient</a><wbr>(<a href="../../../Controller/ClientController.html" title="class in it.polimi.ingsw.gc14.Controller">ClientController</a> controller,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> hostname,
|
||||
int mainPort,
|
||||
int heartbeatPort)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Constructs a TCP client and initializes its connection parameters.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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><a href="../../../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a></code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#connect(java.lang.String,int)" class="member-name-link">connect</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> user,
|
||||
int proposedNPlayers)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Starts the TCP connection with the server.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#disconnect()" class="member-name-link">disconnect</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Disconnects the player and cleans model and controller</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#doEvent(it.polimi.ingsw.gc14.Network.NetworkEvent)" class="member-name-link">doEvent</a><wbr>(<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> event)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Sends a <a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network"><code>NetworkEvent</code></a> to the server.</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="#drawLowerBuildingCard(java.lang.String,int)" class="member-name-link">drawLowerBuildingCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Requests to draw a building card from the lower list.</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="#drawLowerTribeCard(java.lang.String,int)" class="member-name-link">drawLowerTribeCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Requests to draw a tribe card from the lower list.</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="#drawUpperBuildingCard(java.lang.String,int)" class="member-name-link">drawUpperBuildingCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Requests to draw a building card from the upper list.</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="#drawUpperTribeCard(java.lang.String,int)" class="member-name-link">drawUpperTribeCard</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Requests to draw a tribe card from the upper list.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#heartbeatLoop()" class="member-name-link">heartbeatLoop</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Sends a <a href="#PING"><code>PING</code></a> byte to the server every 3 seconds and waits for a <a href="#PONG"><code>PONG</code></a> reply.</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="#notifyDisconnection()" class="member-name-link">notifyDisconnection</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Notifies the server of a voluntary disconnection by sending a sentinel value
|
||||
on the heartbeat channel, then closes the connection.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#receiveMessage()" class="member-name-link">receiveMessage</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Listens continuously for incoming objects from the server</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="#skipTurn(java.lang.String)" class="member-name-link">skipTurn</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Requests to skip drawing turn.</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="#slotChoice(java.lang.String,int)" class="member-name-link">slotChoice</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Used to perform the slot choice action for the specified player at the specified position.</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="#totemChoice(java.lang.String,java.lang.String)" class="member-name-link">totemChoice</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> totems)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Sends a totem choice event to the server for the specified player.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="PING">
|
||||
<h3>PING</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private static final</span> <span class="return-type">int</span> <span class="element-name">PING</span></div>
|
||||
<div class="block">Byte value sent by the client to signal it is still alive.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../../constant-values.html#it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient.PING">Constant Field Values</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="PONG">
|
||||
<h3>PONG</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private static final</span> <span class="return-type">int</span> <span class="element-name">PONG</span></div>
|
||||
<div class="block">Byte value expected from the server in response to a <a href="#PING"><code>PING</code></a>.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../../constant-values.html#it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient.PONG">Constant Field Values</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="communicationSocket">
|
||||
<h3>communicationSocket</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/Socket.html" title="class or interface in java.net" class="external-link">Socket</a></span> <span class="element-name">communicationSocket</span></div>
|
||||
<div class="block">Socket TCP</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="socketReceive">
|
||||
<h3>socketReceive</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectInputStream.html" title="class or interface in java.io" class="external-link">ObjectInputStream</a></span> <span class="element-name">socketReceive</span></div>
|
||||
<div class="block">Input stream used receive objects from the server</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="socketSend">
|
||||
<h3>socketSend</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectOutputStream.html" title="class or interface in java.io" class="external-link">ObjectOutputStream</a></span> <span class="element-name">socketSend</span></div>
|
||||
<div class="block">Output stream used to send objects to the server</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="controller">
|
||||
<h3>controller</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="../../../Controller/ClientController.html" title="class in it.polimi.ingsw.gc14.Controller">ClientController</a></span> <span class="element-name">controller</span></div>
|
||||
<div class="block">Client game's controller</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="hostname">
|
||||
<h3>hostname</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">hostname</span></div>
|
||||
<div class="block">IP address of the server to connect to</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="running">
|
||||
<h3>running</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type">boolean</span> <span class="element-name">running</span></div>
|
||||
<div class="block"><code>true</code> while the connection is active; set to <code>false</code> on disconnect.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="mainPort">
|
||||
<h3>mainPort</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">int</span> <span class="element-name">mainPort</span></div>
|
||||
<div class="block">TCP port</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="heartbeatPort">
|
||||
<h3>heartbeatPort</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">int</span> <span class="element-name">heartbeatPort</span></div>
|
||||
<div class="block">TCP port dedicated to heartbeat communication.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="heartbeatSocket">
|
||||
<h3>heartbeatSocket</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/Socket.html" title="class or interface in java.net" class="external-link">Socket</a></span> <span class="element-name">heartbeatSocket</span></div>
|
||||
<div class="block">Socket used exclusively for heartbeat ping/pong exchange.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="heartbeatOut">
|
||||
<h3>heartbeatOut</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io" class="external-link">OutputStream</a></span> <span class="element-name">heartbeatOut</span></div>
|
||||
<div class="block">Output stream of <a href="#heartbeatSocket"><code>heartbeatSocket</code></a>, used to write <a href="#PING"><code>PING</code></a> bytes.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="heartbeatIn">
|
||||
<h3>heartbeatIn</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io" class="external-link">InputStream</a></span> <span class="element-name">heartbeatIn</span></div>
|
||||
<div class="block">Input stream of <a href="#heartbeatSocket"><code>heartbeatSocket</code></a>, used to read <a href="#PONG"><code>PONG</code></a> bytes.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(it.polimi.ingsw.gc14.Controller.ClientController,java.lang.String,int,int)">
|
||||
<h3>TCPClient</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">TCPClient</span><wbr><span class="parameters">(<a href="../../../Controller/ClientController.html" title="class in it.polimi.ingsw.gc14.Controller">ClientController</a> controller,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> hostname,
|
||||
int mainPort,
|
||||
int heartbeatPort)</span></div>
|
||||
<div class="block">Constructs a TCP client and initializes its connection parameters.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>controller</code> - the client controller.</dd>
|
||||
<dd><code>hostname</code> - the IP address or hostname of the server.</dd>
|
||||
<dd><code>mainPort</code> - the main TCP port of the server.</dd>
|
||||
<dd><code>heartbeatPort</code> - the TCP port used for heartbeat communication.</dd>
|
||||
</dl>
|
||||
</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="connect(java.lang.String,int)">
|
||||
<h3>connect</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="../../../ErrorType.html" title="enum class in it.polimi.ingsw.gc14">ErrorType</a></span> <span class="element-name">connect</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> user,
|
||||
int proposedNPlayers)</span></div>
|
||||
<div class="block">Starts the TCP connection with the server.
|
||||
Sends an <a href="../../NetworkEvents/AddPlayer.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents"><code>AddPlayer</code></a> event, if the server responds with <code>-1</code>, the connection is refused and the method returns <code>false</code>.
|
||||
Otherwise, a listener thread is started.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#connect(java.lang.String,int)">connect</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>user</code> - The username of the player</dd>
|
||||
<dd><code>proposedNPlayers</code> - The desired number of players for the game</dd>
|
||||
<dt>Returns:</dt>
|
||||
<dd>null if the connection is successful, GENERIC_ERROR otherwise.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="heartbeatLoop()">
|
||||
<h3>heartbeatLoop</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type">void</span> <span class="element-name">heartbeatLoop</span>()</div>
|
||||
<div class="block">Sends a <a href="#PING"><code>PING</code></a> byte to the server every 3 seconds and waits for a <a href="#PONG"><code>PONG</code></a> reply.
|
||||
If no reply arrives within <a href="../../NetworkConfig.html#SILENCE_THRESHOLD_MS">5000L</a> ms, the server is
|
||||
considered unreachable and <a href="#disconnect()"><code>disconnect()</code></a> is called.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="disconnect()">
|
||||
<h3>disconnect</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type">void</span> <span class="element-name">disconnect</span>()</div>
|
||||
<div class="block">Disconnects the player and cleans model and controller</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="receiveMessage()">
|
||||
<h3>receiveMessage</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type">void</span> <span class="element-name">receiveMessage</span>()</div>
|
||||
<div class="block">Listens continuously for incoming objects from the server.
|
||||
- If the received object is a <a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network"><code>NetworkEvent</code></a> flagged as an error, it is printed.
|
||||
- If the received object is a valid <a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network"><code>NetworkEvent</code></a>, it is applied to the game controller.
|
||||
- If the received object is a <a href="../../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model"><code>MiniModel</code></a>, the controller's model is set.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawUpperTribeCard(java.lang.String,int)">
|
||||
<h3>drawUpperTribeCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">drawUpperTribeCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a tribe card from the upper list.
|
||||
Creates a NetworkEvent and sends it through the network client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#drawUpperTribeCard(java.lang.String,int)">drawUpperTribeCard</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawLowerTribeCard(java.lang.String,int)">
|
||||
<h3>drawLowerTribeCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">drawLowerTribeCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a tribe card from the lower list.
|
||||
Creates a NetworkEvent and sends it through the network client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#drawLowerTribeCard(java.lang.String,int)">drawLowerTribeCard</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawUpperBuildingCard(java.lang.String,int)">
|
||||
<h3>drawUpperBuildingCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">drawUpperBuildingCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a building card from the upper list.
|
||||
Creates a NetworkEvent and sends it through the network client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#drawUpperBuildingCard(java.lang.String,int)">drawUpperBuildingCard</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="drawLowerBuildingCard(java.lang.String,int)">
|
||||
<h3>drawLowerBuildingCard</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">drawLowerBuildingCard</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Requests to draw a building card from the lower list.
|
||||
Creates a NetworkEvent and sends it through the network client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#drawLowerBuildingCard(java.lang.String,int)">drawLowerBuildingCard</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
<dd><code>pos</code> - the index of the card to draw</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="skipTurn(java.lang.String)">
|
||||
<h3>skipTurn</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">skipTurn</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername)</span></div>
|
||||
<div class="block">Requests to skip drawing turn.
|
||||
This action is available only when the player cannot draw any tribe card, but still can buy some buildings.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#skipTurn(java.lang.String)">skipTurn</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="slotChoice(java.lang.String,int)">
|
||||
<h3>slotChoice</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">slotChoice</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
int pos)</span></div>
|
||||
<div class="block">Used to perform the slot choice action for the specified player at the specified position.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#slotChoice(java.lang.String,int)">slotChoice</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the name of the player performing the action</dd>
|
||||
<dd><code>pos</code> - the index of the selected slot</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="doEvent(it.polimi.ingsw.gc14.Network.NetworkEvent)">
|
||||
<h3>doEvent</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type">void</span> <span class="element-name">doEvent</span><wbr><span class="parameters">(<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> event)</span></div>
|
||||
<div class="block">Sends a <a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network"><code>NetworkEvent</code></a> to the server.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>event</code> - The NetworkEvent to send.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="totemChoice(java.lang.String,java.lang.String)">
|
||||
<h3>totemChoice</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">totemChoice</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> playerUsername,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> totems)</span></div>
|
||||
<div class="block">Sends a totem choice event to the server for the specified player.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#totemChoice(java.lang.String,java.lang.String)">totemChoice</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>playerUsername</code> - the username of the player choosing the totem.</dd>
|
||||
<dd><code>totems</code> - the name of the chosen totem.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="notifyDisconnection()">
|
||||
<h3>notifyDisconnection</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">notifyDisconnection</span>()</div>
|
||||
<div class="block">Notifies the server of a voluntary disconnection by sending a sentinel value
|
||||
on the heartbeat channel, then closes the connection.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="../../IClient.html#notifyDisconnection()">notifyDisconnection</a></code> in interface <code><a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></code></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>it.polimi.ingsw.gc14.Network.TCP.Client</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.TCP.Client">
|
||||
<meta name="generator" content="javadoc/PackageWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="package-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Package</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#package">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html" class="current-selection">it.polimi.ingsw.gc14.Network.TCP.Client</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents</div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#class-summary" tabindex="0">Classes and Interfaces</a></li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 title="Package it.polimi.ingsw.gc14.Network.TCP.Client" class="title">Package it.polimi.ingsw.gc14.Network.TCP.Client</h1>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="package-signature">package <span class="element-name">it.polimi.ingsw.gc14.Network.TCP.Client</span></div>
|
||||
</div>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<li>
|
||||
<div id="class-summary">
|
||||
<div class="caption"><span>Classes</span></div>
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">Class</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="TCPClient.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Client">TCPClient</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Client TCP.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>it.polimi.ingsw.gc14.Network.TCP.Client Class Hierarchy</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="2026-06-19">
|
||||
<meta name="description" content="tree: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.TCP.Client">
|
||||
<meta name="generator" content="javadoc/PackageTreeWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="package-tree-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li><a href="package-summary.html">Package</a></li>
|
||||
<li class="nav-bar-cell1-rev">Tree</li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#tree">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html" class="current-selection">it.polimi.ingsw.gc14.Network.TCP.Client</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 class="title">Hierarchy For Package it.polimi.ingsw.gc14.Network.TCP.Client</h1>
|
||||
</div>
|
||||
<span class="package-hierarchy-label">Package Hierarchies:</span>
|
||||
<ul class="horizontal contents-list">
|
||||
<li><a href="../../../../../../../../overview-tree.html">All Packages</a></li>
|
||||
</ul>
|
||||
<section class="hierarchy">
|
||||
<h2 title="Class Hierarchy">Class Hierarchy</h2>
|
||||
<ul>
|
||||
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
|
||||
<ul>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.TCP.Client.<a href="TCPClient.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.TCP.Client">TCPClient</a> (implements it.polimi.ingsw.gc14.Network.<a href="../../IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+430
@@ -0,0 +1,430 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>ClientHandler</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.TCP.Server, class: ClientHandler">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.TCP.Server</a></li>
|
||||
<li><a href="ClientHandler.html" class="current-selection">ClientHandler</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#username" tabindex="0">username</a></li>
|
||||
<li><a href="#running" tabindex="0">running</a></li>
|
||||
<li><a href="#clientSocket" tabindex="0">clientSocket</a></li>
|
||||
<li><a href="#in" tabindex="0">in</a></li>
|
||||
<li><a href="#out" tabindex="0">out</a></li>
|
||||
<li><a href="#clientHandlers" tabindex="0">clientHandlers</a></li>
|
||||
<li><a href="#limitedMap" tabindex="0">limitedMap</a></li>
|
||||
<li><a href="#actionQueue" tabindex="0">actionQueue</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.lang.String,java.net.Socket,java.io.ObjectOutputStream,java.io.ObjectInputStream,java.util.List,it.polimi.ingsw.gc14.LimitedMap,java.util.concurrent.BlockingQueue)" tabindex="0">ClientHandler(String, Socket, ObjectOutputStream, ObjectInputStream, List, LimitedMap, BlockingQueue)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#getUsername()" tabindex="0">getUsername()</a></li>
|
||||
<li><a href="#run()" tabindex="0">run()</a></li>
|
||||
<li><a href="#notifyEvent(it.polimi.ingsw.gc14.Network.NetworkEvent)" tabindex="0">notifyEvent(NetworkEvent)</a></li>
|
||||
<li><a href="#notifyMiniModel(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">notifyMiniModel(MiniModel)</a></li>
|
||||
<li><a href="#disconnect()" tabindex="0">disconnect()</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class ClientHandler" class="title">Class ClientHandler</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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">it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Runnable.html" title="class or interface in java.lang" class="external-link">Runnable</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ClientHandler</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
|
||||
implements <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Runnable.html" title="class or interface in java.lang" class="external-link">Runnable</a></span></div>
|
||||
<div class="block">Handles the TCP connection with a single client.
|
||||
Each instance runs on a dedicated thread and is responsible for receiving <a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network"><code>NetworkEvent</code></a> from its client and adding them
|
||||
to the <a href="#actionQueue"><code>actionQueue</code></a>.
|
||||
It is also responsible to send events and game model updates back to the client.</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><wbr><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#actionQueue" class="member-name-link">actionQueue</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Queue containing the events to be applied to the game model</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><wbr><<a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a>></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#clientHandlers" class="member-name-link">clientHandlers</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Shared list of all client handlers.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/Socket.html" title="class or interface in java.net" class="external-link">Socket</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#clientSocket" class="member-name-link">clientSocket</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">The TCP socket</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectInputStream.html" title="class or interface in java.io" class="external-link">ObjectInputStream</a></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#in" class="member-name-link">in</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Input stream used to receive objects from the client</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><wbr><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/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"><code><a href="#limitedMap" class="member-name-link">limitedMap</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Maps each connected player's username to their connection state (true = connected).</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectOutputStream.html" title="class or interface in java.io" class="external-link">ObjectOutputStream</a></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#out" class="member-name-link">out</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Output stream used to send objects to the client</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private boolean</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#running" class="member-name-link">running</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block"><code>true</code> while the handler is actively reading from the socket; set to <code>false</code> on disconnect.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/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"><code><a href="#username" class="member-name-link">username</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">The username of the connected client on this handler</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(java.lang.String,java.net.Socket,java.io.ObjectOutputStream,java.io.ObjectInputStream,java.util.List,it.polimi.ingsw.gc14.LimitedMap,java.util.concurrent.BlockingQueue)" class="member-name-link">ClientHandler</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/Socket.html" title="class or interface in java.net" class="external-link">Socket</a> clientSocket,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectOutputStream.html" title="class or interface in java.io" class="external-link">ObjectOutputStream</a> out,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectInputStream.html" title="class or interface in java.io" class="external-link">ObjectInputStream</a> in,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a>> clientHandlers,
|
||||
<a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>> playersMap,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>> actionQueue)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Class constructor that initializes the attributes.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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="#disconnect()" class="member-name-link">disconnect</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Disconnects the client from the server.</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/25/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-tab4"><code><a href="#getUsername()" class="member-name-link">getUsername</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Returns the username associated with this client.</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="#notifyEvent(it.polimi.ingsw.gc14.Network.NetworkEvent)" class="member-name-link">notifyEvent</a><wbr>(<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> event)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Sends a <a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network"><code>NetworkEvent</code></a> to the client.</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="#notifyMiniModel(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">notifyMiniModel</a><wbr>(<a href="../../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> game)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Sends the current game model to this client.</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="#run()" class="member-name-link">run</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Listens for incoming <a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network"><code>NetworkEvent</code></a>s from the client and adds them to the <a href="#actionQueue"><code>actionQueue</code></a>.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="username">
|
||||
<h3>username</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">username</span></div>
|
||||
<div class="block">The username of the connected client on this handler</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="running">
|
||||
<h3>running</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private volatile</span> <span class="return-type">boolean</span> <span class="element-name">running</span></div>
|
||||
<div class="block"><code>true</code> while the handler is actively reading from the socket; set to <code>false</code> on disconnect.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="clientSocket">
|
||||
<h3>clientSocket</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/Socket.html" title="class or interface in java.net" class="external-link">Socket</a></span> <span class="element-name">clientSocket</span></div>
|
||||
<div class="block">The TCP socket</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="in">
|
||||
<h3>in</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectInputStream.html" title="class or interface in java.io" class="external-link">ObjectInputStream</a></span> <span class="element-name">in</span></div>
|
||||
<div class="block">Input stream used to receive objects from the client</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="out">
|
||||
<h3>out</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectOutputStream.html" title="class or interface in java.io" class="external-link">ObjectOutputStream</a></span> <span class="element-name">out</span></div>
|
||||
<div class="block">Output stream used to send objects to the client</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="clientHandlers">
|
||||
<h3>clientHandlers</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a>></span> <span class="element-name">clientHandlers</span></div>
|
||||
<div class="block">Shared list of all client handlers.
|
||||
This handler removes itself from the list when disconnected.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="limitedMap">
|
||||
<h3>limitedMap</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>></span> <span class="element-name">limitedMap</span></div>
|
||||
<div class="block">Maps each connected player's username to their connection state (true = connected).</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="actionQueue">
|
||||
<h3>actionQueue</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>></span> <span class="element-name">actionQueue</span></div>
|
||||
<div class="block">Queue containing the events to be applied to the game model</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(java.lang.String,java.net.Socket,java.io.ObjectOutputStream,java.io.ObjectInputStream,java.util.List,it.polimi.ingsw.gc14.LimitedMap,java.util.concurrent.BlockingQueue)">
|
||||
<h3>ClientHandler</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">ClientHandler</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/Socket.html" title="class or interface in java.net" class="external-link">Socket</a> clientSocket,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectOutputStream.html" title="class or interface in java.io" class="external-link">ObjectOutputStream</a> out,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectInputStream.html" title="class or interface in java.io" class="external-link">ObjectInputStream</a> in,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a>> clientHandlers,
|
||||
<a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>> playersMap,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>> actionQueue)</span></div>
|
||||
<div class="block">Class constructor that initializes the attributes.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username associated with the client.</dd>
|
||||
<dd><code>clientSocket</code> - the socket representing the client's TCP connection.</dd>
|
||||
<dd><code>out</code> - the output stream used to send data to the client.</dd>
|
||||
<dd><code>in</code> - the input stream used to receive data from the client.</dd>
|
||||
<dd><code>clientHandlers</code> - the shared list of all active client handlers.</dd>
|
||||
<dd><code>playersMap</code> - the shared map containing the connected players.</dd>
|
||||
<dd><code>actionQueue</code> - the queue containing incoming events.</dd>
|
||||
</dl>
|
||||
</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="getUsername()">
|
||||
<h3>getUsername</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">getUsername</span>()</div>
|
||||
<div class="block">Returns the username associated with this client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Returns:</dt>
|
||||
<dd>the username associated with this client.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="run()">
|
||||
<h3>run</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">run</span>()</div>
|
||||
<div class="block">Listens for incoming <a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network"><code>NetworkEvent</code></a>s from the client and adds them to the <a href="#actionQueue"><code>actionQueue</code></a>.
|
||||
Upon disconnection, this handler removes itself from <a href="#clientHandlers"><code>clientHandlers</code></a>.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Runnable.html#run()" title="class or interface in java.lang" class="external-link">run</a></code> in interface <code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Runnable.html" title="class or interface in java.lang" class="external-link">Runnable</a></code></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="notifyEvent(it.polimi.ingsw.gc14.Network.NetworkEvent)">
|
||||
<h3>notifyEvent</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">notifyEvent</span><wbr><span class="parameters">(<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> event)</span></div>
|
||||
<div class="block">Sends a <a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network"><code>NetworkEvent</code></a> to the client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>event</code> - The network event to send to the client.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="notifyMiniModel(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>notifyMiniModel</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">notifyMiniModel</span><wbr><span class="parameters">(<a href="../../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> game)</span></div>
|
||||
<div class="block">Sends the current game model to this client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>game</code> - The current state of the game to send to the client.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="disconnect()">
|
||||
<h3>disconnect</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">disconnect</span>()</div>
|
||||
<div class="block">Disconnects the client from the server.
|
||||
|
||||
<p>The client handler is stopped and removed from the list of active handlers.
|
||||
The player is marked as disconnected, a <a href="../../NetworkEvents/DisconnectedPlayer.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents"><code>DisconnectedPlayer</code></a> event is
|
||||
added to the action queue, and the associated socket is closed.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+432
@@ -0,0 +1,432 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>HeartbeatHandler</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.TCP.Server, class: HeartbeatHandler">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.TCP.Server</a></li>
|
||||
<li><a href="HeartbeatHandler.html" class="current-selection">HeartbeatHandler</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#username" tabindex="0">username</a></li>
|
||||
<li><a href="#socket" tabindex="0">socket</a></li>
|
||||
<li><a href="#in" tabindex="0">in</a></li>
|
||||
<li><a href="#out" tabindex="0">out</a></li>
|
||||
<li><a href="#PING" tabindex="0">PING</a></li>
|
||||
<li><a href="#PONG" tabindex="0">PONG</a></li>
|
||||
<li><a href="#mainHandler" tabindex="0">mainHandler</a></li>
|
||||
<li><a href="#lastReceivedTime" tabindex="0">lastReceivedTime</a></li>
|
||||
<li><a href="#running" tabindex="0">running</a></li>
|
||||
<li><a href="#watchdog" tabindex="0">watchdog</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(java.lang.String,java.net.Socket,it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler)" tabindex="0">HeartbeatHandler(String, Socket, ClientHandler)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#run()" tabindex="0">run()</a></li>
|
||||
<li><a href="#startWatchdog()" tabindex="0">startWatchdog()</a></li>
|
||||
<li><a href="#disconnect()" tabindex="0">disconnect()</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class HeartbeatHandler" class="title">Class HeartbeatHandler</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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">it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>All Implemented Interfaces:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Runnable.html" title="class or interface in java.lang" class="external-link">Runnable</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">HeartbeatHandler</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
|
||||
implements <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Runnable.html" title="class or interface in java.lang" class="external-link">Runnable</a></span></div>
|
||||
<div class="block">Handles the heartbeat communication associated with a TCP client.
|
||||
|
||||
<p>This component listens for heartbeat <code>PING</code> messages from the client,
|
||||
replies with <code>PONG</code> messages, and periodically checks whether the client
|
||||
has remained silent for too long. If a timeout or communication error occurs,
|
||||
both the heartbeat connection and the main client connection are disconnected.</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io" class="external-link">InputStream</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#in" class="member-name-link">in</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Input stream of <a href="#socket"><code>socket</code></a> used to receive <code>PING</code> bytes from the client.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private long</code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#lastReceivedTime" class="member-name-link">lastReceivedTime</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Timestamp of the last received heartbeat message.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#mainHandler" class="member-name-link">mainHandler</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Main client handler associated with this heartbeat connection.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io" class="external-link">OutputStream</a></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#out" class="member-name-link">out</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Output stream of <a href="#socket"><code>socket</code></a> used to send <code>PONG</code> bytes back to the client.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private static final int</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#PING" class="member-name-link">PING</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Byte value representing a heartbeat ping message.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private static final int</code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#PONG" class="member-name-link">PONG</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Byte value representing a heartbeat pong response.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private boolean</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#running" class="member-name-link">running</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Indicates whether the heartbeat handler is still active.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/Socket.html" title="class or interface in java.net" class="external-link">Socket</a></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#socket" class="member-name-link">socket</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Dedicated socket used solely for heartbeat ping/pong exchange.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/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"><code><a href="#username" class="member-name-link">username</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Username of the client associated with this heartbeat connection.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ScheduledExecutorService.html" title="class or interface in java.util.concurrent" class="external-link">ScheduledExecutorService</a></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#watchdog" class="member-name-link">watchdog</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Executor used to periodically check heartbeat timeouts.</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(java.lang.String,java.net.Socket,it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler)" class="member-name-link">HeartbeatHandler</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/Socket.html" title="class or interface in java.net" class="external-link">Socket</a> socket,
|
||||
<a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a> mainHandler)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Constructs a heartbeat handler for the specified client.</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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>private void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#disconnect()" class="member-name-link">disconnect</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Disconnects the heartbeat channel and the associated main client connection.</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="#run()" class="member-name-link">run</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Starts the heartbeat listening loop.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#startWatchdog()" class="member-name-link">startWatchdog</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Starts the periodic watchdog task that detects heartbeat timeouts.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="username">
|
||||
<h3>username</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">username</span></div>
|
||||
<div class="block">Username of the client associated with this heartbeat connection.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="socket">
|
||||
<h3>socket</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/Socket.html" title="class or interface in java.net" class="external-link">Socket</a></span> <span class="element-name">socket</span></div>
|
||||
<div class="block">Dedicated socket used solely for heartbeat ping/pong exchange.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="in">
|
||||
<h3>in</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io" class="external-link">InputStream</a></span> <span class="element-name">in</span></div>
|
||||
<div class="block">Input stream of <a href="#socket"><code>socket</code></a> used to receive <code>PING</code> bytes from the client.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="out">
|
||||
<h3>out</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io" class="external-link">OutputStream</a></span> <span class="element-name">out</span></div>
|
||||
<div class="block">Output stream of <a href="#socket"><code>socket</code></a> used to send <code>PONG</code> bytes back to the client.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="PING">
|
||||
<h3>PING</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private static final</span> <span class="return-type">int</span> <span class="element-name">PING</span></div>
|
||||
<div class="block">Byte value representing a heartbeat ping message.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../../constant-values.html#it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler.PING">Constant Field Values</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="PONG">
|
||||
<h3>PONG</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private static final</span> <span class="return-type">int</span> <span class="element-name">PONG</span></div>
|
||||
<div class="block">Byte value representing a heartbeat pong response.</div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
<ul class="tag-list">
|
||||
<li><a href="../../../../../../../../constant-values.html#it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler.PONG">Constant Field Values</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="mainHandler">
|
||||
<h3>mainHandler</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a></span> <span class="element-name">mainHandler</span></div>
|
||||
<div class="block">Main client handler associated with this heartbeat connection.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="lastReceivedTime">
|
||||
<h3>lastReceivedTime</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private volatile</span> <span class="return-type">long</span> <span class="element-name">lastReceivedTime</span></div>
|
||||
<div class="block">Timestamp of the last received heartbeat message.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="running">
|
||||
<h3>running</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private volatile</span> <span class="return-type">boolean</span> <span class="element-name">running</span></div>
|
||||
<div class="block">Indicates whether the heartbeat handler is still active.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="watchdog">
|
||||
<h3>watchdog</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ScheduledExecutorService.html" title="class or interface in java.util.concurrent" class="external-link">ScheduledExecutorService</a></span> <span class="element-name">watchdog</span></div>
|
||||
<div class="block">Executor used to periodically check heartbeat timeouts.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(java.lang.String,java.net.Socket,it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler)">
|
||||
<h3>HeartbeatHandler</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">HeartbeatHandler</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/Socket.html" title="class or interface in java.net" class="external-link">Socket</a> socket,
|
||||
<a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a> mainHandler)</span>
|
||||
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
|
||||
<div class="block">Constructs a heartbeat handler for the specified client.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>username</code> - the username of the connected client.</dd>
|
||||
<dd><code>socket</code> - the socket dedicated to heartbeat communication.</dd>
|
||||
<dd><code>mainHandler</code> - the main client handler associated with the same player.</dd>
|
||||
<dt>Throws:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - if the input or output stream cannot be obtained from the socket.</dd>
|
||||
</dl>
|
||||
</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="run()">
|
||||
<h3>run</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">run</span>()</div>
|
||||
<div class="block">Starts the heartbeat listening loop.
|
||||
|
||||
<p>The method activates the watchdog task, then waits for incoming heartbeat
|
||||
messages. When a <code>PING</code> is received, the last-received timestamp is
|
||||
updated and a <code>PONG</code> response is sent back to the client.
|
||||
If the stream is closed or an I/O error occurs, the client is disconnected.</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Runnable.html#run()" title="class or interface in java.lang" class="external-link">run</a></code> in interface <code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Runnable.html" title="class or interface in java.lang" class="external-link">Runnable</a></code></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="startWatchdog()">
|
||||
<h3>startWatchdog</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type">void</span> <span class="element-name">startWatchdog</span>()</div>
|
||||
<div class="block">Starts the periodic watchdog task that detects heartbeat timeouts.
|
||||
|
||||
<p>If no heartbeat message is received within the configured silence threshold,
|
||||
the associated client is disconnected.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="disconnect()">
|
||||
<h3>disconnect</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type">void</span> <span class="element-name">disconnect</span>()</div>
|
||||
<div class="block">Disconnects the heartbeat channel and the associated main client connection.
|
||||
|
||||
<p>The handler is stopped, the watchdog task is terminated, the main
|
||||
<a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server"><code>ClientHandler</code></a> is disconnected, and the heartbeat socket is closed.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+467
@@ -0,0 +1,467 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>TCPServer</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.TCP.Server, class: TCPServer">
|
||||
<meta name="generator" content="javadoc/ClassWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#class">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html">it.polimi.ingsw.gc14.Network.TCP.Server</a></li>
|
||||
<li><a href="TCPServer.html" class="current-selection">TCPServer</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents <input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
|
||||
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
|
||||
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
|
||||
<li><a href="#field-detail" tabindex="0">Field Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#port" tabindex="0">port</a></li>
|
||||
<li><a href="#heartbeatPort" tabindex="0">heartbeatPort</a></li>
|
||||
<li><a href="#socketTCP" tabindex="0">socketTCP</a></li>
|
||||
<li><a href="#heartbeatSocketTCP" tabindex="0">heartbeatSocketTCP</a></li>
|
||||
<li><a href="#controller" tabindex="0">controller</a></li>
|
||||
<li><a href="#actionQueue" tabindex="0">actionQueue</a></li>
|
||||
<li><a href="#playerList" tabindex="0">playerList</a></li>
|
||||
<li><a href="#clientHandlers" tabindex="0">clientHandlers</a></li>
|
||||
<li><a href="#pendingHeartbeat" tabindex="0">pendingHeartbeat</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#%3Cinit%3E(it.polimi.ingsw.gc14.Controller.GameController,int,int,java.util.concurrent.BlockingQueue,it.polimi.ingsw.gc14.LimitedMap)" tabindex="0">TCPServer(GameController, int, int, BlockingQueue, LimitedMap)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#method-detail" tabindex="0">Method Details</a>
|
||||
<ol class="toc-list">
|
||||
<li><a href="#start()" tabindex="0">start()</a></li>
|
||||
<li><a href="#acceptHeartbeat()" tabindex="0">acceptHeartbeat()</a></li>
|
||||
<li><a href="#notifyAll(it.polimi.ingsw.gc14.Network.NetworkEvent)" tabindex="0">notifyAll(NetworkEvent)</a></li>
|
||||
<li><a href="#notifyAll(it.polimi.ingsw.gc14.Model.MiniModel)" tabindex="0">notifyAll(MiniModel)</a></li>
|
||||
<li><a href="#createAndRegisterHandler(java.lang.String,java.net.Socket,java.io.ObjectOutputStream,java.io.ObjectInputStream)" tabindex="0">createAndRegisterHandler(String, Socket, ObjectOutputStream, ObjectInputStream)</a></li>
|
||||
<li><a href="#disconnectedUsernames(it.polimi.ingsw.gc14.Model.Game)" tabindex="0">disconnectedUsernames(Game)</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<h1 title="Class TCPServer" class="title">Class TCPServer</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/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">it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">TCPServer</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
|
||||
<div class="block">TCP server responsible for accepting client connections,
|
||||
handling player registration and reconnection, and sending
|
||||
game updates to connected clients.
|
||||
|
||||
<p>The server also manages a dedicated heartbeat channel used
|
||||
to detect disconnected clients and associate each heartbeat
|
||||
connection with the corresponding <a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server"><code>ClientHandler</code></a>.</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="field-summary" id="field-summary">
|
||||
<h2>Field Summary</h2>
|
||||
<div class="caption"><span>Fields</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">Modifier and Type</div>
|
||||
<div class="table-header col-second">Field</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><wbr><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#actionQueue" class="member-name-link">actionQueue</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Queue containing network events received from clients.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/CopyOnWriteArrayList.html" title="class or interface in java.util.concurrent" class="external-link">CopyOnWriteArrayList</a><wbr><<a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a>></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#clientHandlers" class="member-name-link">clientHandlers</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">List of active TCP client handlers.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="../../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#controller" class="member-name-link">controller</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Game controller used to manage the server-side game logic.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final int</code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#heartbeatPort" class="member-name-link">heartbeatPort</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">TCP port dedicated to heartbeat communication.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/ServerSocket.html" title="class or interface in java.net" class="external-link">ServerSocket</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#heartbeatSocketTCP" class="member-name-link">heartbeatSocketTCP</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Server socket used to accept heartbeat connections.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><wbr><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>, <a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a>></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#pendingHeartbeat" class="member-name-link">pendingHeartbeat</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Temporary map associating each username with the corresponding
|
||||
<a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server"><code>ClientHandler</code></a> waiting for its heartbeat connection.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private final <a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><wbr><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/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"><code><a href="#playerList" class="member-name-link">playerList</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Map storing the online/offline status of connected players.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color"><code>private final int</code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#port" class="member-name-link">port</a></code></div>
|
||||
<div class="col-last odd-row-color">
|
||||
<div class="block">Main TCP port used for standard client-server communication.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/ServerSocket.html" title="class or interface in java.net" class="external-link">ServerSocket</a></code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#socketTCP" class="member-name-link">socketTCP</a></code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Main server socket used to accept client connections.</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== 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(it.polimi.ingsw.gc14.Controller.GameController,int,int,java.util.concurrent.BlockingQueue,it.polimi.ingsw.gc14.LimitedMap)" class="member-name-link">TCPServer</a><wbr>(<a href="../../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> controller,
|
||||
int port,
|
||||
int heartbeatPort,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>> actionQueue,
|
||||
<a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>> playerList)</code></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="block">Constructs a TCP server with the required game and network components.</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-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static 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" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<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>private void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#acceptHeartbeat()" class="member-name-link">acceptHeartbeat</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Accepts heartbeat connections and associates them with the correct client handler.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private <a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a></code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createAndRegisterHandler(java.lang.String,java.net.Socket,java.io.ObjectOutputStream,java.io.ObjectInputStream)" class="member-name-link">createAndRegisterHandler</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/Socket.html" title="class or interface in java.net" class="external-link">Socket</a> socket,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectOutputStream.html" title="class or interface in java.io" class="external-link">ObjectOutputStream</a> out,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectInputStream.html" title="class or interface in java.io" class="external-link">ObjectInputStream</a> in)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Creates a <a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server"><code>ClientHandler</code></a>, registers it in <code>pendingHeartbeat</code>
|
||||
and <code>clientHandlers</code>, but does NOT start its thread — callers start
|
||||
the thread after any extra setup (e.g. sending a model snapshot).</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>private static <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><wbr><<a href="https://docs.oracle.com/en/java/javase/25/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-tab1 method-summary-table-tab4"><code><a href="#disconnectedUsernames(it.polimi.ingsw.gc14.Model.Game)" class="member-name-link">disconnectedUsernames</a><wbr>(<a href="../../../Model/Game.html" title="class in it.polimi.ingsw.gc14.Model">Game</a> game)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
|
||||
<div class="block">Returns usernames of players currently marked as disconnected in the given game.</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="#notifyAll(it.polimi.ingsw.gc14.Model.MiniModel)" class="member-name-link">notifyAll</a><wbr>(<a href="../../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> model)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Notifies all connected TCP clients of a new game model.</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="#notifyAll(it.polimi.ingsw.gc14.Network.NetworkEvent)" class="member-name-link">notifyAll</a><wbr>(<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> event)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Notifies connected TCP clients of a new network event.</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="#start()" class="member-name-link">start</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Starts the TCP server and begins accepting client connections.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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/25/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">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<li>
|
||||
<section class="field-details" id="field-detail">
|
||||
<h2>Field Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="port">
|
||||
<h3>port</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">int</span> <span class="element-name">port</span></div>
|
||||
<div class="block">Main TCP port used for standard client-server communication.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="heartbeatPort">
|
||||
<h3>heartbeatPort</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">int</span> <span class="element-name">heartbeatPort</span></div>
|
||||
<div class="block">TCP port dedicated to heartbeat communication.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="socketTCP">
|
||||
<h3>socketTCP</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/ServerSocket.html" title="class or interface in java.net" class="external-link">ServerSocket</a></span> <span class="element-name">socketTCP</span></div>
|
||||
<div class="block">Main server socket used to accept client connections.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="heartbeatSocketTCP">
|
||||
<h3>heartbeatSocketTCP</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/ServerSocket.html" title="class or interface in java.net" class="external-link">ServerSocket</a></span> <span class="element-name">heartbeatSocketTCP</span></div>
|
||||
<div class="block">Server socket used to accept heartbeat connections.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="controller">
|
||||
<h3>controller</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="../../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a></span> <span class="element-name">controller</span></div>
|
||||
<div class="block">Game controller used to manage the server-side game logic.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="actionQueue">
|
||||
<h3>actionQueue</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>></span> <span class="element-name">actionQueue</span></div>
|
||||
<div class="block">Queue containing network events received from clients.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="playerList">
|
||||
<h3>playerList</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>></span> <span class="element-name">playerList</span></div>
|
||||
<div class="block">Map storing the online/offline status of connected players.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="clientHandlers">
|
||||
<h3>clientHandlers</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/CopyOnWriteArrayList.html" title="class or interface in java.util.concurrent" class="external-link">CopyOnWriteArrayList</a><<a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a>></span> <span class="element-name">clientHandlers</span></div>
|
||||
<div class="block">List of active TCP client handlers.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="pendingHeartbeat">
|
||||
<h3>pendingHeartbeat</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>, <a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a>></span> <span class="element-name">pendingHeartbeat</span></div>
|
||||
<div class="block">Temporary map associating each username with the corresponding
|
||||
<a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server"><code>ClientHandler</code></a> waiting for its heartbeat connection.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>Constructor Details</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(it.polimi.ingsw.gc14.Controller.GameController,int,int,java.util.concurrent.BlockingQueue,it.polimi.ingsw.gc14.LimitedMap)">
|
||||
<h3>TCPServer</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">TCPServer</span><wbr><span class="parameters">(<a href="../../../Controller/GameController.html" title="class in it.polimi.ingsw.gc14.Controller">GameController</a> controller,
|
||||
int port,
|
||||
int heartbeatPort,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a>> actionQueue,
|
||||
<a href="../../../LimitedMap.html" title="class in it.polimi.ingsw.gc14">LimitedMap</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>> playerList)</span></div>
|
||||
<div class="block">Constructs a TCP server with the required game and network components.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>controller</code> - the game controller used to manage the game logic.</dd>
|
||||
<dd><code>port</code> - the main TCP port used for client communication.</dd>
|
||||
<dd><code>heartbeatPort</code> - the TCP port dedicated to heartbeat connections.</dd>
|
||||
<dd><code>actionQueue</code> - the queue containing incoming network events.</dd>
|
||||
<dd><code>playerList</code> - the map storing the connection status of the players.</dd>
|
||||
</dl>
|
||||
</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="start()">
|
||||
<h3>start</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">start</span>()</div>
|
||||
<div class="block">Starts the TCP server and begins accepting client connections.
|
||||
|
||||
<p>The method opens both the main TCP server socket and the dedicated
|
||||
heartbeat server socket. It then starts a separate thread for heartbeat
|
||||
connections and continuously waits for new players or reconnecting clients.
|
||||
|
||||
<p>When a new connection is received, the first event must be an
|
||||
<a href="../../NetworkEvents/AddPlayer.html" title="class in it.polimi.ingsw.gc14.Network.NetworkEvents"><code>AddPlayer</code></a> request. Depending on the current server state,
|
||||
the connection is handled either as a new player joining the game
|
||||
or as a reconnection attempt.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="acceptHeartbeat()">
|
||||
<h3>acceptHeartbeat</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type">void</span> <span class="element-name">acceptHeartbeat</span>()</div>
|
||||
<div class="block">Accepts heartbeat connections and associates them with the correct client handler.
|
||||
|
||||
<p>Each client immediately sends its username on the heartbeat channel.
|
||||
The method uses that username to retrieve the pending <a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server"><code>ClientHandler</code></a>
|
||||
and starts a dedicated <a href="HeartbeatHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server"><code>HeartbeatHandler</code></a>. If no pending handler is found,
|
||||
the heartbeat socket is closed.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="notifyAll(it.polimi.ingsw.gc14.Network.NetworkEvent)">
|
||||
<h3>notifyAll</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">notifyAll</span><wbr><span class="parameters">(<a href="../../NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> event)</span></div>
|
||||
<div class="block">Notifies connected TCP clients of a new network event.
|
||||
|
||||
<p>If the event does not represent an error, it is sent to all connected clients.
|
||||
If it represents an error, it is sent only to the client that requested the action.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>event</code> - the network event to send to the clients.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="notifyAll(it.polimi.ingsw.gc14.Model.MiniModel)">
|
||||
<h3>notifyAll</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">notifyAll</span><wbr><span class="parameters">(<a href="../../../Model/MiniModel.html" title="class in it.polimi.ingsw.gc14.Model">MiniModel</a> model)</span></div>
|
||||
<div class="block">Notifies all connected TCP clients of a new game model.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
<dd><code>model</code> - the updated mini model to send to the clients.</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="createAndRegisterHandler(java.lang.String,java.net.Socket,java.io.ObjectOutputStream,java.io.ObjectInputStream)">
|
||||
<h3>createAndRegisterHandler</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a></span> <span class="element-name">createAndRegisterHandler</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> username,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/Socket.html" title="class or interface in java.net" class="external-link">Socket</a> socket,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectOutputStream.html" title="class or interface in java.io" class="external-link">ObjectOutputStream</a> out,
|
||||
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectInputStream.html" title="class or interface in java.io" class="external-link">ObjectInputStream</a> in)</span></div>
|
||||
<div class="block">Creates a <a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server"><code>ClientHandler</code></a>, registers it in <code>pendingHeartbeat</code>
|
||||
and <code>clientHandlers</code>, but does NOT start its thread — callers start
|
||||
the thread after any extra setup (e.g. sending a model snapshot).</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="disconnectedUsernames(it.polimi.ingsw.gc14.Model.Game)">
|
||||
<h3>disconnectedUsernames</h3>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="member-signature"><span class="modifiers">private static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a><<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></span> <span class="element-name">disconnectedUsernames</span><wbr><span class="parameters">(<a href="../../../Model/Game.html" title="class in it.polimi.ingsw.gc14.Model">Game</a> game)</span></div>
|
||||
<div class="block">Returns usernames of players currently marked as disconnected in the given game.</div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+98
@@ -0,0 +1,98 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>it.polimi.ingsw.gc14.Network.TCP.Server</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.TCP.Server">
|
||||
<meta name="generator" content="javadoc/PackageWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="package-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Package</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#package">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html" class="current-selection">it.polimi.ingsw.gc14.Network.TCP.Server</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents</div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#class-summary" tabindex="0">Classes and Interfaces</a></li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 title="Package it.polimi.ingsw.gc14.Network.TCP.Server" class="title">Package it.polimi.ingsw.gc14.Network.TCP.Server</h1>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="package-signature">package <span class="element-name">it.polimi.ingsw.gc14.Network.TCP.Server</span></div>
|
||||
</div>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<li>
|
||||
<div id="class-summary">
|
||||
<div class="caption"><span>Classes</span></div>
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">Class</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ClientHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Handles the TCP connection with a single client.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="HeartbeatHandler.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">HeartbeatHandler</a></div>
|
||||
<div class="col-last odd-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Handles the heartbeat communication associated with a TCP client.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="TCPServer.html" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">TCPServer</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab2">
|
||||
<div class="block">TCP server responsible for accepting client connections,
|
||||
handling player registration and reconnection, and sending
|
||||
game updates to connected clients.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>it.polimi.ingsw.gc14.Network.TCP.Server Class Hierarchy</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="2026-06-19">
|
||||
<meta name="description" content="tree: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network.TCP.Server">
|
||||
<meta name="generator" content="javadoc/PackageTreeWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="package-tree-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../../../module-summary.html">Module</a></li>
|
||||
<li><a href="package-summary.html">Package</a></li>
|
||||
<li class="nav-bar-cell1-rev">Tree</li>
|
||||
<li><a href="../../../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../../../help-doc.html#tree">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html" class="current-selection">it.polimi.ingsw.gc14.Network.TCP.Server</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 class="title">Hierarchy For Package it.polimi.ingsw.gc14.Network.TCP.Server</h1>
|
||||
</div>
|
||||
<span class="package-hierarchy-label">Package Hierarchies:</span>
|
||||
<ul class="horizontal contents-list">
|
||||
<li><a href="../../../../../../../../overview-tree.html">All Packages</a></li>
|
||||
</ul>
|
||||
<section class="hierarchy">
|
||||
<h2 title="Class Hierarchy">Class Hierarchy</h2>
|
||||
<ul>
|
||||
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
|
||||
<ul>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.TCP.Server.<a href="ClientHandler.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">ClientHandler</a> (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Runnable.html" title="class or interface in java.lang" class="external-link">Runnable</a>)</li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.TCP.Server.<a href="HeartbeatHandler.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">HeartbeatHandler</a> (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Runnable.html" title="class or interface in java.lang" class="external-link">Runnable</a>)</li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.TCP.Server.<a href="TCPServer.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network.TCP.Server">TCPServer</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+131
@@ -0,0 +1,131 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>it.polimi.ingsw.gc14.Network</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="2026-06-19">
|
||||
<meta name="description" content="declaration: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network">
|
||||
<meta name="generator" content="javadoc/PackageWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="package-declaration-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../module-summary.html">Module</a></li>
|
||||
<li class="nav-bar-cell1-rev">Package</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../help-doc.html#package">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html" class="current-selection">it.polimi.ingsw.gc14.Network</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<nav role="navigation" class="toc" aria-label="Table of contents">
|
||||
<div class="toc-header">Contents</div>
|
||||
<ol class="toc-list" tabindex="-1">
|
||||
<li><a href="#" tabindex="0">Description</a></li>
|
||||
<li><a href="#related-package-summary" tabindex="0">Related Packages</a></li>
|
||||
<li><a href="#class-summary" tabindex="0">Classes and Interfaces</a></li>
|
||||
</ol>
|
||||
<button class="hide-sidebar"><span>Hide sidebar </span><img src="../../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../../resource-files/right.svg" alt="Show sidebar"><span> Show sidebar</span></button></nav>
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 title="Package it.polimi.ingsw.gc14.Network" class="title">Package it.polimi.ingsw.gc14.Network</h1>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="horizontal-scroll">
|
||||
<div class="package-signature">package <span class="element-name">it.polimi.ingsw.gc14.Network</span></div>
|
||||
</div>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<li>
|
||||
<div id="related-package-summary">
|
||||
<div class="caption"><span>Related Packages</span></div>
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">Package</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><a href="../package-summary.html">it.polimi.ingsw.gc14</a></div>
|
||||
<div class="col-last even-row-color"> </div>
|
||||
<div class="col-first odd-row-color"><a href="NetworkEvents/package-summary.html">it.polimi.ingsw.gc14.Network.NetworkEvents</a></div>
|
||||
<div class="col-last odd-row-color"> </div>
|
||||
<div class="col-first even-row-color"><a href="../Controller/package-summary.html">it.polimi.ingsw.gc14.Controller</a></div>
|
||||
<div class="col-last even-row-color"> </div>
|
||||
<div class="col-first odd-row-color"><a href="../Model/package-summary.html">it.polimi.ingsw.gc14.Model</a></div>
|
||||
<div class="col-last odd-row-color"> </div>
|
||||
<div class="col-first even-row-color"><a href="../View/package-summary.html">it.polimi.ingsw.gc14.View</a></div>
|
||||
<div class="col-last even-row-color"> </div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div id="class-summary">
|
||||
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button><button id="class-summary-tab3" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab3', 2)" class="table-tab">Enum Classes</button></div>
|
||||
<div id="class-summary.tabpanel" role="tabpanel" aria-labelledby="class-summary-tab0">
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">Class</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="CompositeClientBroadcaster.html" title="class in it.polimi.ingsw.gc14.Network">CompositeClientBroadcaster</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Forwards every notification to both the RMI and the TCP transport layers.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color class-summary class-summary-tab3"><a href="EventType.html" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></div>
|
||||
<div class="col-last odd-row-color class-summary class-summary-tab3">
|
||||
<div class="block">Represents the different types of network events that can be sent between
|
||||
client and server.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="IClient.html" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab1">
|
||||
<div class="block">Defines the operations that a client can request during the game.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="InterfaceResolver.html" title="class in it.polimi.ingsw.gc14.Network">InterfaceResolver</a></div>
|
||||
<div class="col-last odd-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Utility class for resolving the local network interface to use when connecting to a server.</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="NetworkConfig.html" title="class in it.polimi.ingsw.gc14.Network">NetworkConfig</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Shared network constants used by both server and client components.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="NetworkEvent.html" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a></div>
|
||||
<div class="col-last odd-row-color class-summary class-summary-tab2">
|
||||
<div class="block">Represents an event sent over the network.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<!-- Generated by javadoc (25) on Fri Jun 19 23:05:23 CEST 2026 -->
|
||||
<title>it.polimi.ingsw.gc14.Network Class Hierarchy</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="2026-06-19">
|
||||
<meta name="description" content="tree: module: it.polimi.ingsw.gc14, package: it.polimi.ingsw.gc14.Network">
|
||||
<meta name="generator" content="javadoc/PackageTreeWriter">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../../../resource-files/stylesheet.css">
|
||||
<script type="text/javascript" src="../../../../../../script-files/script.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../../../script-files/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="package-tree-page">
|
||||
<script type="text/javascript">const pathtoroot = "../../../../../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top">
|
||||
<div class="nav-content">
|
||||
<div class="nav-menu-button"><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>
|
||||
<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="../../../../../module-summary.html">Module</a></li>
|
||||
<li><a href="package-summary.html">Package</a></li>
|
||||
<li class="nav-bar-cell1-rev">Tree</li>
|
||||
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
|
||||
<li><a href="../../../../../../search.html">Search</a></li>
|
||||
<li><a href="../../../../../../help-doc.html#tree">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div class="nav-content">
|
||||
<ol class="sub-nav-list">
|
||||
<li><a href="../../../../../module-summary.html">it.polimi.ingsw.gc14</a></li>
|
||||
<li><a href="package-summary.html" class="current-selection">it.polimi.ingsw.gc14.Network</a></li>
|
||||
</ol>
|
||||
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="main-grid">
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 class="title">Hierarchy For Package it.polimi.ingsw.gc14.Network</h1>
|
||||
</div>
|
||||
<span class="package-hierarchy-label">Package Hierarchies:</span>
|
||||
<ul class="horizontal contents-list">
|
||||
<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
|
||||
</ul>
|
||||
<section class="hierarchy">
|
||||
<h2 title="Class Hierarchy">Class Hierarchy</h2>
|
||||
<ul>
|
||||
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
|
||||
<ul>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.<a href="CompositeClientBroadcaster.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network">CompositeClientBroadcaster</a></li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.<a href="InterfaceResolver.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network">InterfaceResolver</a></li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.<a href="NetworkConfig.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network">NetworkConfig</a></li>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.<a href="NetworkEvent.html" class="type-name-link" title="class in it.polimi.ingsw.gc14.Network">NetworkEvent</a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="hierarchy">
|
||||
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
|
||||
<ul>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.<a href="IClient.html" class="type-name-link" title="interface in it.polimi.ingsw.gc14.Network">IClient</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="hierarchy">
|
||||
<h2 title="Enum Class Hierarchy">Enum Class Hierarchy</h2>
|
||||
<ul>
|
||||
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
|
||||
<ul>
|
||||
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" class="type-name-link external-link" title="class or interface in java.lang">Enum</a><E> (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a><T>, java.lang.constant.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a>, java.io.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
|
||||
<ul>
|
||||
<li class="circle">it.polimi.ingsw.gc14.Network.<a href="EventType.html" class="type-name-link" title="enum class in it.polimi.ingsw.gc14.Network">EventType</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user