diff --git a/.gitignore b/.gitignore index 4b2fd6a2..52277397 100644 --- a/.gitignore +++ b/.gitignore @@ -98,6 +98,8 @@ local.properties # Package Files # *.jar +!deliverables/JARs/IS24-AM32-0.1-CLIENT.jar +!deliverables/JARs/IS24-AM32-0.1-SERVER.jar *.war *.nar *.ear diff --git a/README.md b/README.md index 685d2168..fe230425 100644 --- a/README.md +++ b/README.md @@ -20,17 +20,15 @@ The group members are: ## Project Status -| Satisfied Requirements | Maximum Grade | Status | -|-----------------------------------------------------------------------------------------------------|---------------|--------| -| Simplified Rules + TUI + RMI or Socket | 18 | ☑️ | -| Complete Rules + TUI + RMI or Socket | 20 | ☑️ | -| Complete Rules + TUI + RMI or Socket + 1 FA (Chat) | 22 | ☑️ | -| Complete Rules + TUI + GUI + RMI or Socket + 1 FA (Chat) | 24 | ☑️ | -| Complete Rules + TUI + GUI + RMI + Socket + 1 FA (Chat) | 27 | ☑️ | -| Complete Rules + TUI + GUI + RMI + Socket + 2 FA (Chat & Multiple match) | 30 | ☑️ | -| Complete Rules + TUI + GUI + RMI + Socket + 3 FA (Chat & Multiple match & Disconnection resilience) | 30L | ☑️ | - -### Currently Known Issues +| Satisfied Requirements | Status | +|-----------------------------------------------------------------------------------------------------|--------| +| Simplified Rules + TUI + RMI or Socket | ☑️ | +| Complete Rules + TUI + RMI or Socket | ☑️ | +| Complete Rules + TUI + RMI or Socket + 1 FA (Chat) | ☑️ | +| Complete Rules + TUI + GUI + RMI or Socket + 1 FA (Chat) | ☑️ | +| Complete Rules + TUI + GUI + RMI + Socket + 1 FA (Chat) | ☑️ | +| Complete Rules + TUI + GUI + RMI + Socket + 2 FA (Chat & Multiple match) | ☑️ | +| Complete Rules + TUI + GUI + RMI + Socket + 3 FA (Chat & Multiple match & Disconnection resilience) | ☑️ | ## Code Coverage diff --git a/deliverables/FinalUML/NetworkFinalUML.png b/deliverables/FinalUML/NetworkFinalUML.png new file mode 100644 index 00000000..2699822a Binary files /dev/null and b/deliverables/FinalUML/NetworkFinalUML.png differ diff --git a/deliverables/InitialUML/ControllerNetworkInitialUML.png b/deliverables/InitialUML/ControllerNetworkInitialUML.png new file mode 100644 index 00000000..f1c9061b Binary files /dev/null and b/deliverables/InitialUML/ControllerNetworkInitialUML.png differ diff --git a/deliverables/JARs/Config.json b/deliverables/JARs/Config.json new file mode 100644 index 00000000..2ed522cd --- /dev/null +++ b/deliverables/JARs/Config.json @@ -0,0 +1,9 @@ +{ + "socketPort": 30000, + "rmiPort": 30001, + "pingTimePeriod": 5000, + "socketReadTimeout": 100, + "maxPingCount": 3, + "serverIp": "192.168.178.20", + "endGameDueToDisconnectionTimeout": 120000 +} diff --git a/deliverables/JARs/IS24-AM32-0.1-CLIENT.jar b/deliverables/JARs/IS24-AM32-0.1-CLIENT.jar new file mode 100644 index 00000000..419ef386 Binary files /dev/null and b/deliverables/JARs/IS24-AM32-0.1-CLIENT.jar differ diff --git a/deliverables/JARs/IS24-AM32-0.1-SERVER.jar b/deliverables/JARs/IS24-AM32-0.1-SERVER.jar new file mode 100644 index 00000000..4009d3e0 Binary files /dev/null and b/deliverables/JARs/IS24-AM32-0.1-SERVER.jar differ diff --git a/deliverables/JARs/README.md b/deliverables/JARs/README.md new file mode 100644 index 00000000..ecdf1e87 --- /dev/null +++ b/deliverables/JARs/README.md @@ -0,0 +1,31 @@ +# Deployment + +## Server + +It is required to put the correct server IPv4 address in the Config.json file in order to let RMI work properly. + +Here is an example of the Config.json file: + +```json +{ + "socketPort": 30000, + "rmiPort": 30001, + "pingTimePeriod": 5000, + "socketReadTimeout": 100, + "maxPingCount": 3, + "serverIp": "192.168.178.20", + "endGameDueToDisconnectionTimeout": 120000 +} +``` + +## Client + +If the client is running on a Windows machine it is required to enable UTF-8 encoding in the terminal to let the client display the special characters correctly for TUI. + +To enable UTF-8 encoding in the terminal, run the following command: + +```powershell +PS C:\> $OutputEncoding = [System.Console]::OutputEncoding = [System.Console]::InputEncoding = [System.Text.Encoding]::UTF8 +PS C:\> $PSDefaultParameterValues['*:Encoding'] = 'utf8' +PS C:\> java -jar .\IS24-AM32-0.1-CLIENT.jar +``` diff --git a/deliverables/JavaDoc/allclasses-index.html b/deliverables/JavaDoc/allclasses-index.html new file mode 100644 index 00000000..ddea5858 --- /dev/null +++ b/deliverables/JavaDoc/allclasses-index.html @@ -0,0 +1,723 @@ + + + + +All Classes and Interfaces + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes and Interfaces

+
+
+
+
+
+
Class
+
Description
+ +
+
This class is used to manage the message sent by the server to the client to confirm the access to the game.
+
+ +
+
This class is used to manage the message sent by the client when he wants to join a game.
+
+ +
+
Used for the point calculation of the only objective card which counts the number + of triplets of special type resources.
+
+ +
+
This class represents a custom exception that is thrown when points have already been computed.
+
+ +
+
Used for cards whose points are calculated on the basis of how many corners the card covers.
+
+ +
+
Used to manage the messages that are sent to the server.
+
+ +
+
Interface for the AskListener class: used to manage the messages that clients want to send to the server.
+
+ +
+
This class is used to manage the message sent by the server to the client to assign the secret objective cards which + should be chosen by the player, the common objective cards and the cards to the player's hand.
+
+ +
+
This class is a message sent to the player to notify them of their assigned starter card after the preparation phase is over.
+
+ +
+
This class is used to store the components of the board that are used to display the board in the terminal.
+
+ +
+
The card class includes objective cards, resource cards, starting cards and gold cards.
+
+ +
+
Contains a collection of Cards implemented as a stack.
+
+ +
+
This class is responsible for building a deck of Cards.
+
+ +
+
Used to store information about a currently placed card.
+
+ +
+
It's a client-side cardPlaced class.
+
+ +
+
This class represents a chat system.
+
+ +
+
This class represents the chat area in the GUI.
+
+ +
+
This class represents a chat message in the system.
+
+ +
+
This class represents a chat message in the system.
+
+ +
+
The main class on the client side of the application.
+
+ +
+
This ClientNodeInterface interface is used to identify all ClientNodes through which communication with the + server can happen.
+
+ +
+
The ClientPingTask class contains the pointer to a ClientNode, given when the object is instantiated.
+
+ +
+
This enum represents the different colours a player can have in the game.
+
+ +
+
This class is responsible for managing and storing server configuration parameters.
+
+ +
+
This class is used to manage the message sent by the server to the client to confirm the selected secret objective + card.
+
+ +
+
This class is used to manage the message sent by the server to the client to confirm the selection of the starter + card side.
+
+ +
+
A simple Exception that extends Throwable and add nothing else.
+
+ +
+
Stores all the possible card corner object types.
+
+ +
+
CountResource is one of the classes that implement the PointStrategy interface used to calculate the + objective cards and the gold cards, which count identical resources or objects visible in the play area (field) + of the player.
+
+ +
+
This exception is thrown when a critical failure occurs.
+
+ +
+
This interface represents a message from the client to the server in the lobby phase.
+
+ +
+
This interface represents a message from the client to the server.
+
+ +
+
This exception is thrown when a player tries to join a lobby with a nickname that is already in use.
+
+ +
+
This exception is thrown when a player tries to join a lobby with a nickname that is already in use.
+
+ +
+
This class is used to manage the message sent by the server to the client to update the deck after one player + draws a card.
+
+ +
+
This enum represents the types of decks available in the game.
+
+ +
+
Diagonals is one of the classes that implement the PointStrategy interface used to calculate the + objective cards, which count 3 cards of the same kingdom on the diagonal line y=x or y=-x.
+
+ +
+
This class is used to manage the message sent by the server to the client to confirm the draw card action.
+
+ +
+
This class is used to manage the message sent by the server to the client when his draw card action fails.
+
+ +
+
This class is used to manage the message sent by the client when he wants to draw a card.
+
+ +
+
This class represents a custom exception that is thrown when a draw operation fails.
+
+ +
+
This class represents a custom exception that is thrown when a duplicate player is encountered.
+
+ +
+
Empty is one of the classes that implement the PointStrategy interface used to calculate the + card whose placement returns always 1: all cards with a constant value regardless of other conditions.
+
+ +
+
This class is a timer task that is used to end a match due to disconnection.
+
+ +
+
This class is used to manage the message sent by the server to the client when client's request to access the game, + to create a new game or to reconnect to a game is not successful.
+
+ +
+
Enumerates the error message codes.
+
+ +
+
Enumeration of the possible events that can occur during the game.
+
+ +
+
Used to store information about the field of the player.
+
+ +
+
This exception is thrown when a player tries to join a full lobby.
+
+ +
+
This exception is thrown when a game is already ended and a player tries to join it.
+
+ +
+
This exception is thrown when a game is already started and a player tries to join it.
+
+ +
+
Represents a controller for a single game.
+
+ +
+
The GameControllerStatus enum represents the different states a game controller can be in.
+
+ +
+
This class represents an exception that is thrown when no game is found.
+
+ +
+
This exception is thrown when a player tries to connect to a game that has not yet started.
+
+ +
+
This class represents a manager for all the games that are currently being played.
+
+ +
+
This class is used to manage the message sent by the server to the client to notify the player that the game is + started, entering the preparation phase.
+
+ +
+
The class GraphicalUI is the class that manages the graphical user interface of the game and interacts with the + GUIApplication class.
+
+ +
+
The GraphicalUIApplication class extends the Application class from JavaFX.
+
+ +
+
This class is used to manage the message sent by the client when he wants to send a chat message.
+
+ +
+
This class represents a custom exception that is thrown when an invalid hand size is encountered.
+
+ +
+
This class is used to manage the message sent from the server to the player notifying them of an invalid chat message.
+
+ +
+
This exception is thrown when the number of players in a game is invalid.
+
+ +
+
This class represents a custom exception that is thrown when an invalid position is encountered.
+
+ +
+
This class is used to manage the message sent to the client when the selected secret objective card is invalid.
+
+ +
+
This class represents a custom exception that is thrown when an invalid selection is made.
+
+ +
+
This class is used to manage the message sent to the client notifying them that the side of the starter card they have selected is invalid.
+
+ +
+
This class is used to find all IPv4 addresses of the current machine.
+
+ +
+
This class provides methods to check if an IP address and a port number are valid.
+
+ +
+
Used for the point calculation of the only objective card which counts the number of right facing Ls made from 2 + stacked vertical blue cards and 1 red card to the top right in the player's field.
+
+ +
+
Comparator used to sort CardPlaced objects according the position of the cards contained in them + Used in stream sorted() method
+
+ +
+
LConfigurationOne is one of the classes that implement the PointStrategy interface used to calculate the + objective cards, which in the bottom right has a Plant card and in the top left corner has a Fungi card + and then above that card has another Fungi card.
+
+ +
+
LConfigurationThree is one of the classes that implement the PointStrategy interface used to calculate the + objective cards, which in the top left has an Animal card and in the bottom right corner has an Insect card + and then under that card has another Insect card.
+
+ +
+
Used for the point calculation of the only objective card which counts the number of left facing Ls made from 2 + stacked vertical green cards and 1 purple card to the bottom left in the player's field.
+
+ +
+
Comparator used to sort CardPlaced objects according the position of the cards contained in them + Used in stream sorted() method
+
+ +
+
The LobbyMessageException class represents an exception that can be thrown during + the elaboration of a generic Lobby-Message.
+
+ +
+
The LobbyMessageExceptionEnumeration enum represents the different exceptions that can be thrown during + the elaboration of a generic Lobby-Message.
+
+ +
+
This class is used to manage the message send to the players to notify them of the updated list of players in the lobby.
+
+ +
+
This class is a wrapper for configuring Log4J2.
+
+ +
+
This class represents a custom exception that is thrown when a chat message is malformed.
+
+ +
+
This class represents a custom exception that is thrown when a chat message is malformed.
+
+ +
+
Primary class used to represent a single instance of a game.
+
+ +
+
The MatchStatus enum represents the different states a match can be in.
+
+ +
+
This class is used to manage the message send to the players notifying them of the game status.
+
+ +
+
This class is used to manage the message send by the server to the players notifying them the winners of the match.
+
+ +
+
This class represents a custom exception that is thrown when a required JSON file is missing.
+
+ +
+
This class represents a custom exception that is thrown when a required JSON file is missing.
+
+ +
+
This class represents a custom exception that is thrown when the required elements for a certain operation are missing.
+
+ +
 
+ +
+
This class is used to manage the message sent to the player who requested the field of another player to notify him that the field could not be fetched (used for testing only).
+
+ +
+
This class is used to manage the message sent by the server to the client to confirm the creation of a new game.
+
+ +
+
This class represents a message that is sent from the client to the server when a new game is created.
+
+ +
+
A simple Exception that extends Throwable and add nothing else.
+
+ +
+
This class represents a custom exception that is thrown when a non-empty hand is encountered.
+
+ +
+
This class represents a custom exception that is thrown when a non-null color is encountered.
+
+ +
+
This class represents a custom exception that is thrown when a non-null field is encountered where a null field was expected.
+
+ +
+
Use this class to create a Non-Objective card (Resource, Gold or Starting card) using the card data stored in the + JSON file, in the side of the client.
+
+ +
+
Creates objects used to represent Gold, Resource, and Start cards.
+
+ +
+
Contains a collection of NonObjectiveCards implemented as a stack.
+
+ +
+
This class is responsible for building a deck of NonObjectiveCards.
+
+ +
+
This class represents a custom exception that is thrown when a player's color is not set.
+
+ +
+
This class represents a custom exception that is thrown when a null field is encountered.
+
+ +
+
This class represents a custom exception that is thrown when a null hand is encountered.
+
+ +
+
This class represents an exception that is thrown when a null message is encountered.
+
+ +
+
This class represents a custom exception that is thrown when a null point strategy is encountered.
+
+ +
+
This class is used to create the Non-Objective Cards from the JSON file, in the side of the client.
+
+ +
+
This class contains methods to convert strings to enum values and to build PointStrategy objects from strings.
+
+ +
+
Stores all the possible resource object types.
+
+ +
+
This class is used to manage the message sent from the server to the players notifying them of a new chat message.
+
+ +
+
This class is used to manage the message sent by the client when he wants to ping the server.
+
+ +
+
This class is used to manage the message sent from the server to the players notifying them that a player has placed a card.
+
+ +
+
This class is used to manage the message sent a player notifying them that a card placement has failed.
+
+ +
+
This class is used to manage the message sent by the client when he wants to place a card.
+
+ +
+
This class is used to manage the message sent to all the players, notifying them that a player has placed a card and disconnected.
+
+ +
+
This class is responsible for managing the player's actions and status.
+
+ +
+
This exception is thrown when a player is already connected but tries to connect again somehow.
+
+ +
+
This class is used to manage the message sent to notify players that a new player has joined the game during the lobby phase.
+
+ +
+
This class is used to manage the message sent to notify players when another player disconnects from the game during any stage.
+
+ +
+
This class is used to manage the message sent to notify the player of the game status
+
+ +
+
This class represents a custom exception that is thrown when a player is not found.
+
+ +
+
Use this class to store the player's public information that is shared with other players, which means that in this + class contains all the information that the player can request to know about the other players.
+
+ +
+
This class is used to store the components of javafx that are used to display the player's information in the + game.
+
+ +
+
This class represents a player in the game.
+
+ +
+
This class is used to manage the message sent to notify players that a player has reconnected to the game.
+
+ +
+
This class is used to manage the message sent to notify players of whose turn it is
+
+ +
+
Following strategy pattern to describe different strategies used by cards to calculate points + and for each type count how many times it is realized in the indicated field.
+
+ +
+
This class is used to manage the message sent to notify the client that a ping has been received.
+
+ +
+
This class is used to manage the message sent by the server to the client to confirm the reconnection to the game.
+
+ +
+
This class is used to manage the message sent by the client when he wants to reconnect to a game.
+
+ +
+
This class is used to manage the message sent by the client when he wants to know the status of the game.
+
+ +
+
This class is used to manage the message sent by the client when he wants to see the field of another player.
+
+ +
+
This class is used to manage the message sent to the player who requested the field of another player (used for testing only).
+
+ +
+
The class RMIClientAcceptor is the implementation of the RMI methods that the interface + RMIClientAcceptorInt expose to the clients.
+
+ +
+
The interface RMIClientAcceptorInt exposes the RMI methods that a + RMIClientNode instance can invoke on the server when the client hasn't + joined yet a game.
+
+ +
+
RMIClientNode is the class that manage the connection with the server.
+
+ +
+
The interface RMIClientNodeInt exposes the RMI methods that a + RMIServerNode or RMIClientAcceptor + instance can invoke on the client.
+
+ +
+
Each instance of class RMIServerNode handle une RMI connection with a client.
+ If, at some point, the connection were to go down, this instance while begin automatically a termination process
+
+ +
+
The interface RMIServerNodeInt exposes the RMI methods that a + RMIClientNode instance can invoke on the server.
+
+ +
+
This class represents a custom exception named RollbackException.
+
+ +
+
This class represents a custom exception that is thrown when a secret objective card related error is encountered.
+
+ +
+
This class is used to manage the message sent by the client when he wants to notify the server of his selection of a secret objective card.
+
+ +
+
This class is used to manage the message sent by the client when he wants to notify the server of his selection of the side of the starter card.
+
+ +
+
The game server is started through the method Server.main(java.lang.String[]) included in this class.
+
+ +
+
This ServerNodeInterface interface is used to identify all ServerNodes through which communication, with + clients, can happen.
+
+ +
+
The ServerPingTask class contains the pointer to a ServerNode, given when the object is instantiated.
+
+ +
+
The class SKClientAcceptor manages the new requests of connection to the server by the clients using socket + as network protocol.
+
+ +
+
SKClientNode is the class that manage the connection with the server.
+
+ +
+
Each instance of class SKServerNode handles a socket connection with a client.
+
+ +
+
This interface represents a message from the server to the client.
+
+ +
+
Class TextUI is a one of the two User Interface of the game that allows the player to interact with the game, which + is a text-based interface.
+
+ +
+
A simple Exception that extends Throwable and add nothing else.
+
+ +
+
A simple Exception that extends Throwable and add nothing else.
+
+ +
+
The View class is an abstract class that serves as a template for the views of the client.
+
+ +
+
Used to manage the messages that are sent to the client.
+
+ +
 
+ +
+
Represents an exception that is thrown when a listener is not found
+
+ +
+
This class represents a custom exception that is thrown when an incorrect deck type is used.
+
+
+
+
+
+ + diff --git a/deliverables/JavaDoc/allpackages-index.html b/deliverables/JavaDoc/allpackages-index.html new file mode 100644 index 00000000..c6d5ca44 --- /dev/null +++ b/deliverables/JavaDoc/allpackages-index.html @@ -0,0 +1,112 @@ + + + + +All Packages + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
Package Summary
+
+
Package
+
Description
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+
+
+ + diff --git a/deliverables/JavaDoc/constant-values.html b/deliverables/JavaDoc/constant-values.html new file mode 100644 index 00000000..09262e3f --- /dev/null +++ b/deliverables/JavaDoc/constant-values.html @@ -0,0 +1,219 @@ + + + + +Constant Field Values + + + + + + + + + + + + + + +
+ +
+
+
+

Constant Field Values

+
+
+

Contents

+ +
+
+

it.polimi.*

+ + + + + +
+
+ + diff --git a/deliverables/JavaDoc/element-list b/deliverables/JavaDoc/element-list new file mode 100644 index 00000000..7cf35972 --- /dev/null +++ b/deliverables/JavaDoc/element-list @@ -0,0 +1,28 @@ +module:it.polimi.ingsw.am32 +it.polimi.ingsw.am32 +it.polimi.ingsw.am32.chat +it.polimi.ingsw.am32.chat.exceptions +it.polimi.ingsw.am32.client +it.polimi.ingsw.am32.client.exceptions +it.polimi.ingsw.am32.client.listener +it.polimi.ingsw.am32.client.view.gui +it.polimi.ingsw.am32.client.view.tui +it.polimi.ingsw.am32.controller +it.polimi.ingsw.am32.controller.exceptions +it.polimi.ingsw.am32.controller.exceptions.abstraction +it.polimi.ingsw.am32.message.ClientToServer +it.polimi.ingsw.am32.message.ServerToClient +it.polimi.ingsw.am32.model +it.polimi.ingsw.am32.model.card +it.polimi.ingsw.am32.model.card.pointstrategy +it.polimi.ingsw.am32.model.deck +it.polimi.ingsw.am32.model.deck.utils +it.polimi.ingsw.am32.model.exceptions +it.polimi.ingsw.am32.model.field +it.polimi.ingsw.am32.model.match +it.polimi.ingsw.am32.model.player +it.polimi.ingsw.am32.network.ClientAcceptor +it.polimi.ingsw.am32.network.ClientNode +it.polimi.ingsw.am32.network.exceptions +it.polimi.ingsw.am32.network.ServerNode +it.polimi.ingsw.am32.utilities diff --git a/deliverables/JavaDoc/help-doc.html b/deliverables/JavaDoc/help-doc.html new file mode 100644 index 00000000..d5972791 --- /dev/null +++ b/deliverables/JavaDoc/help-doc.html @@ -0,0 +1,194 @@ + + + + +API Help + + + + + + + + + + + + + + +
+ +
+
+

JavaDoc Help

+ +
+
+

Navigation

+Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces + +
+
+
+

Kinds of Pages

+The following sections describe the different kinds of pages in this collection. +
+

Module

+

Each module has a page that contains a list of its packages, dependencies on other modules, and services, with a summary for each. These pages may contain the following categories:

+
    +
  • Packages
  • +
  • Modules
  • +
  • Services
  • +
+
+
+

Package

+

Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:

+
    +
  • Interfaces
  • +
  • Classes
  • +
  • Enum Classes
  • +
  • Exception Classes
  • +
  • Annotation Interfaces
  • +
+
+
+

Class or Interface

+

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.

+
    +
  • Class Inheritance Diagram
  • +
  • Direct Subclasses
  • +
  • All Known Subinterfaces
  • +
  • All Known Implementing Classes
  • +
  • Class or Interface Declaration
  • +
  • Class or Interface Description
  • +
+
+
    +
  • Nested Class Summary
  • +
  • Enum Constant Summary
  • +
  • Field Summary
  • +
  • Property Summary
  • +
  • Constructor Summary
  • +
  • Method Summary
  • +
  • Required Element Summary
  • +
  • Optional Element Summary
  • +
+
+
    +
  • Enum Constant Details
  • +
  • Field Details
  • +
  • Property Details
  • +
  • Constructor Details
  • +
  • Method Details
  • +
  • Element Details
  • +
+

Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.

+

The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

+
+
+

Other Files

+

Packages and modules may contain pages with additional information related to the declarations nearby.

+
+
+

Tree (Class Hierarchy)

+

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

+
    +
  • When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
  • +
  • When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.
  • +
+
+
+

Constant Field Values

+

The Constant Field Values page lists the static final fields and their values.

+
+
+

Serialized Form

+

Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.

+
+
+

All Packages

+

The All Packages page contains an alphabetic index of all packages contained in the documentation.

+
+
+

All Classes and Interfaces

+

The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.

+
+
+

Index

+

The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.

+
+
+
+This help file applies to API documentation generated by the standard doclet.
+ + diff --git a/deliverables/JavaDoc/index-files/index-1.html b/deliverables/JavaDoc/index-files/index-1.html new file mode 100644 index 00000000..6b8b45b2 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-1.html @@ -0,0 +1,386 @@ + + + + +A-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

A

+
+
accessGame(String, int, ServerNodeInterface) - Method in class it.polimi.ingsw.am32.controller.GamesManager
+
+
Adds the player with the given nickname to the game with the given code
+
+
AccessGameConfirmMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent by the server to the client to confirm the access to the game.
+
+
AccessGameConfirmMessage(String) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.AccessGameConfirmMessage
+
+
The constructor of the class: it creates a new AccessGameConfirmMessage with the nickname of the recipient who + requested to access the game before.
+
+
AccessGameMessage - Class in it.polimi.ingsw.am32.message.ClientToServer
+
+
This class is used to manage the message sent by the client when he wants to join a game.
+
+
AccessGameMessage(int, String) - Constructor for class it.polimi.ingsw.am32.message.ClientToServer.AccessGameMessage
+
+
Constructor: a message containing the id of the game and the nickname of the player who wants to join the game
+
+
activeRes - Variable in class it.polimi.ingsw.am32.model.field.Field
+
+
The resources currently owned by the player
+
+
addCard(Card) - Method in class it.polimi.ingsw.am32.model.deck.CardDeck
+
+
Adds a card to the top of the deck.
+
+
addCard(NonObjectiveCard) - Method in class it.polimi.ingsw.am32.model.deck.NonObjectiveCardDeck
+
+
Adds a card to the top of the deck.
+
+
addIncomingMessageToChat(String, String) - Method in class it.polimi.ingsw.am32.client.view.gui.ChatArea
+
+
Adds an incoming message to the chat area send from another player.
+
+
addMessage(ChatMessage) - Method in class it.polimi.ingsw.am32.chat.Chat
+
+
Adds a new message to the chat history.
+
+
addMessage(CtoSLobbyMessage) - Method in class it.polimi.ingsw.am32.client.listener.AskListener
+
+
Adds a lobbyMessage to the queue of lobbyMessage to be sent to the server.
+
+
addMessage(CtoSLobbyMessage) - Method in interface it.polimi.ingsw.am32.client.listener.AskListenerInterface
+
+
Adds a CtoSLobbyMessage to the queue of messages to be sent to the server.
+
+
addMessage(CtoSMessage) - Method in class it.polimi.ingsw.am32.client.listener.AskListener
+
+
Adds a message to the queue of messages to be sent to the server.
+
+
addMessage(CtoSMessage) - Method in interface it.polimi.ingsw.am32.client.listener.AskListenerInterface
+
+
Adds a CtoSMessage to the queue to be sent to the server.
+
+
addMessage(StoCMessage) - Method in class it.polimi.ingsw.am32.controller.VirtualView
+
+
Adds a message to the queue of messages to be sent to the client.
+
+
addMessage(StoCMessage) - Method in interface it.polimi.ingsw.am32.controller.VirtualViewInterface
+
 
+
addObjectivePoints() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Control if the process of adding objective cards points to the total scores is successful.
+
+
addObjectivePoints() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
addPlayer(String) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Adds a new player to the game.
+
+
addPlayer(String) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
addPlayer(String, ServerNodeInterface) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Adds a player to the game.
+
+
addTimerTask(ServerPingTask) - Method in class it.polimi.ingsw.am32.utilities.Configuration
+
+
Schedule the ServerPingTask to be executed repeatedly until cancellation
+
+
addToField(CardPlacedView) - Method in class it.polimi.ingsw.am32.client.PlayerPub
+
+
Add the card placed on the field to the field of the player.
+
+
aliveLock - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
aliveLock - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
 
+
aliveLock - Variable in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
 
+
aliveLock - Variable in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
 
+
AllSpecial - Class in it.polimi.ingsw.am32.model.card.pointstrategy
+
+
Used for the point calculation of the only objective card which counts the number + of triplets of special type resources.
+
+
AllSpecial() - Constructor for class it.polimi.ingsw.am32.model.card.pointstrategy.AllSpecial
+
 
+
AlreadyComputedPointsException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when points have already been computed.
+
+
AlreadyComputedPointsException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.AlreadyComputedPointsException
+
+
Constructs a new AlreadyComputedPointsException with the specified detail message.
+
+
alreadyEnteredTerminatingPhase - Variable in class it.polimi.ingsw.am32.controller.GameController
+
+
alreadyEnteredTerminatingPhase: A flag that indicates whether the terminating phase has already been entered; used to notify players when terminating phase is entered
+
+
AnglesCovered - Class in it.polimi.ingsw.am32.model.card.pointstrategy
+
+
Used for cards whose points are calculated on the basis of how many corners the card covers.
+
+
AnglesCovered() - Constructor for class it.polimi.ingsw.am32.model.card.pointstrategy.AnglesCovered
+
 
+
ANIMAL - Enum constant in enum class it.polimi.ingsw.am32.model.card.CornerType
+
+
Animal corner type indicates that the corner of the card has an animal resource.
+
+
ANIMAL - Enum constant in enum class it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType
+
+
Animal object type indicates that the object is an animal resource.
+
+
ANIMAL - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Unicode characters used to represent the icon ANIMAL
+
+
ANIMALCARD - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Unicode integer used to represent the icon of the animal kingdom's color
+
+
ANSI_BLACK - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
ANSI escape codes used to set BLACK color
+
+
ANSI_BLUE - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
ANSI escape codes used to set BLUE color
+
+
ANSI_GREEN - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
ANSI escape codes used to set GREEN color
+
+
ANSI_PURPLE - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
ANSI escape codes used to set PURPLE color
+
+
ANSI_RED - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
ANSI escape codes used to set RED color
+
+
ANSI_RESET - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
ANSI escape codes used to set RESET
+
+
ANSI_YELLOW - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
ANSI escape codes used to set YELLOW color
+
+
app - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The reference of the GUIApplication class which is used to connect the GUI with the GUIApplication class in able + to update the scene based on the changes made in the GUI.
+
+
areWeTerminating() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Checks if game is in terminating phase
+
+
areWeTerminating() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
askCreateGame() - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to ask the player to insert data to create a new game.
+
+
askCreateGame() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Set the page which asks the player to insert the nickname and the players number to create a new game.
+
+
askCreateGame() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method that asks the player to insert the number of players and the nickname desired to create a new game.
+
+
askForLocalIPAddress() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method used to ask the player the correct IP address associated with the current machine.
+
+
askIfWantToReconnect() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method to use to return the TUI in a state where the user can attempt to reconnect to the match.
+
+
askJoinGame() - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to ask the player to insert data to join a game.
+
+
askJoinGame() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Set the page which asks the player to insert the nickname and the game ID to reconnect to a game.
+
+
askJoinGame() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method that asks the player to insert the nickname they want to use in the game and the Access ID of the game + they want to join.
+
+
askListener - Variable in class it.polimi.ingsw.am32.client.View
+
+
The AskListener object that listens for messages from the client to the server.
+
+
AskListener - Class in it.polimi.ingsw.am32.client.listener
+
+
Used to manage the messages that are sent to the server.
+
+
AskListener(ClientNodeInterface) - Constructor for class it.polimi.ingsw.am32.client.listener.AskListener
+
+
Constructor for the AskListener class.
+
+
AskListenerInterface - Interface in it.polimi.ingsw.am32.client.listener
+
+
Interface for the AskListener class: used to manage the messages that clients want to send to the server.
+
+
askNickname() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method that asks the player to insert the nickname they want to use in the game.
+
+
askReconnectGame() - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to ask the player to insert data to reconnect to a game.
+
+
askReconnectGame() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Set the page which asks the player to insert the nickname and the game ID to reconnect to a game.
+
+
askReconnectGame() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Use this method to ask the player if they want to reconnect to the game.
+
+
askSelectGameMode() - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to ask the player to select the game mode.
+
+
askSelectGameMode() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Set the page where the player can select the game mode.
+
+
askSelectGameMode() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
The method prints the menu of the game mode and asks the player to select the action to perform.
+
+
AssignedSecretObjectiveCardMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent by the server to the client to assign the secret objective cards which + should be chosen by the player, the common objective cards and the cards to the player's hand.
+
+
AssignedSecretObjectiveCardMessage(String, ArrayList<Integer>, ArrayList<Integer>, ArrayList<Integer>) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.AssignedSecretObjectiveCardMessage
+
+
The constructor of the class: it creates a new AssignedSecretObjectiveCardMessage with the nickname of the + recipient who will receive the assignment of the cards.
+
+
assignedSecretObjectiveCards - Variable in class it.polimi.ingsw.am32.message.ServerToClient.AssignedSecretObjectiveCardMessage
+
+
The list of the secret objective cards assigned to the player so that he can choose one of them.
+
+
AssignedStarterCardMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is a message sent to the player to notify them of their assigned starter card after the preparation phase is over.
+
+
AssignedStarterCardMessage(String, int) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.AssignedStarterCardMessage
+
+
The constructor of the class: it creates a new AssignedStarterCardMessage with the nickname of the recipient who + will receive the assignment of the starter card and the id of the card assigned to the player.
+
+
assignRandomColoursToPlayers() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Assigns a random colour to each player in the game.
+
+
assignRandomColoursToPlayers() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
assignRandomStartingGoldCardsToPlayers() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Assigns the two initial gold cards to each player at the beginning of the game
+
+
assignRandomStartingGoldCardsToPlayers() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
assignRandomStartingInitialCardsToPlayers() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Assigns a random starting initial card to each player in the game
+
+
assignRandomStartingInitialCardsToPlayers() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
assignRandomStartingResourceCardsToPlayers() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Assigns the two initial resource cards to each player at the beginning of the game
+
+
assignRandomStartingResourceCardsToPlayers() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
assignRandomStartingSecretObjectivesToPlayers() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Assigns to each player a secret objective card
+
+
assignRandomStartingSecretObjectivesToPlayers() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
assignStartingCard(NonObjectiveCard) - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Initializes the player hand and places the initial card in the player's hand
+
+
attemptingReconnection - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Flag used to state if the node is attempting to reconnect to the server.
+
+
availableSpace(int, int) - Method in class it.polimi.ingsw.am32.model.field.Field
+
+
Verify whether a card can be freely placed at the given coordinates
+
+
availableSpaces - Variable in class it.polimi.ingsw.am32.client.View
+
+
The ArrayList that stores the available spaces on the field.
+
+
availableSpaces - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ConfirmStarterCardSideSelectionMessage
+
+
The available spaces after the placement of the starter card.
+
+
availableSpacesPlayer() - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Calculates and returns a list of all available spaces in the player's field upon which a card can be freely played
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-10.html b/deliverables/JavaDoc/index-files/index-10.html new file mode 100644 index 00000000..8fe0c102 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-10.html @@ -0,0 +1,75 @@ + + + + +J-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

J

+
+
jejuHallasanFont - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The font used in the GUI to set the style of the text.
+
+
JOIN_GAME - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player selected to join an existing game.
+
+
JOIN_GAME_FAILURE - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player failed to join the game.
+
+
JSON_CONFIG_FILE_NAME - Static variable in class it.polimi.ingsw.am32.utilities.Configuration
+
 
+
JSONPath - Variable in enum class it.polimi.ingsw.am32.model.deck.utils.DeckType
+
+
The path to the JSON file that contains the card data for the deck.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-11.html b/deliverables/JavaDoc/index-files/index-11.html new file mode 100644 index 00000000..600558c2 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-11.html @@ -0,0 +1,63 @@ + + + + +K-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

K

+
+
kingdom - Variable in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Kingdom (colour) the card belongs to.
+
+
Kingdom - Variable in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-12.html b/deliverables/JavaDoc/index-files/index-12.html new file mode 100644 index 00000000..42c31248 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-12.html @@ -0,0 +1,253 @@ + + + + +L-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

L

+
+
LAST_TURN - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Identifiers for the last turn phase: in which phase each player has one last turn to place a card on the field + without drawing a new card.
+
+
LAST_TURN - Enum constant in enum class it.polimi.ingsw.am32.model.match.MatchStatus
+
+
The match is in the last turn state, the last turn of the game is in progress.
+
+
lastOnlinePlayer - Variable in class it.polimi.ingsw.am32.controller.GameController
+
+
lastOnlinePlayer: The nickname of the last player that was online
+
+
launch() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Used to launch the GUIApplication class.
+
+
launch() - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to launch the view.
+
+
launch() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method that launches the TextUI and manages the flow of the game.
+
+
LConfigurationFour - Class in it.polimi.ingsw.am32.model.card.pointstrategy
+
+
Used for the point calculation of the only objective card which counts the number of right facing Ls made from 2 + stacked vertical blue cards and 1 red card to the top right in the player's field.
+
+
LConfigurationFour() - Constructor for class it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationFour
+
 
+
LConfigurationFourComparator - Class in it.polimi.ingsw.am32.model.card.pointstrategy
+
+
Comparator used to sort CardPlaced objects according the position of the cards contained in them + Used in stream sorted() method
+
+
LConfigurationFourComparator() - Constructor for class it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationFourComparator
+
 
+
LConfigurationOne - Class in it.polimi.ingsw.am32.model.card.pointstrategy
+
+
LConfigurationOne is one of the classes that implement the PointStrategy interface used to calculate the + objective cards, which in the bottom right has a Plant card and in the top left corner has a Fungi card + and then above that card has another Fungi card.
+
+
LConfigurationOne() - Constructor for class it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationOne
+
 
+
LConfigurationThree - Class in it.polimi.ingsw.am32.model.card.pointstrategy
+
+
LConfigurationThree is one of the classes that implement the PointStrategy interface used to calculate the + objective cards, which in the top left has an Animal card and in the bottom right corner has an Insect card + and then under that card has another Insect card.
+
+
LConfigurationThree() - Constructor for class it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationThree
+
 
+
LConfigurationTwo - Class in it.polimi.ingsw.am32.model.card.pointstrategy
+
+
Used for the point calculation of the only objective card which counts the number of left facing Ls made from 2 + stacked vertical green cards and 1 purple card to the bottom left in the player's field.
+
+
LConfigurationTwo() - Constructor for class it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationTwo
+
 
+
LConfigurationTwoComparator - Class in it.polimi.ingsw.am32.model.card.pointstrategy
+
+
Comparator used to sort CardPlaced objects according the position of the cards contained in them + Used in stream sorted() method
+
+
LConfigurationTwoComparator() - Constructor for class it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationTwoComparator
+
 
+
leftToRight - Variable in class it.polimi.ingsw.am32.model.card.pointstrategy.Diagonals
+
+
leftToRight: the type of the diagonal line which returns true for diagonal type y=x and returns false for diagonal type y=-x.
+
+
limits - Variable in class it.polimi.ingsw.am32.client.view.tui.BoardView
+
+
The array of integers that stores the limits of the board which are used to set the dimensions of the board + that is printed on the terminal.
+
+
listenForIncomingMessages() - Method in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Listen for incoming messages using a ObjectInputStream.
+
+
listenForIncomingMessages() - Method in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
+
Method that listens for incoming messages from the client.
+
+
loadCardsFromDisk(DeckType) - Method in class it.polimi.ingsw.am32.model.deck.CardDeckBuilder
+
+
Loads the cards from the disk.
+
+
loadCardsFromDisk(DeckType) - Method in class it.polimi.ingsw.am32.model.deck.NonObjectiveCardDeckBuilder
+
+
Loads the cards from the disk.
+
+
LOBBY - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Identifiers for the Lobby phase: the phase in which the players are waiting for the game to start.
+
+
LOBBY - Enum constant in enum class it.polimi.ingsw.am32.controller.GameControllerStatus
+
+
The game controller is in the lobby state, waiting for players to join.
+
+
LOBBY - Enum constant in enum class it.polimi.ingsw.am32.model.match.MatchStatus
+
+
The match is in the lobby state, waiting for players to join.
+
+
LobbyMessageException - Exception Class in it.polimi.ingsw.am32.controller.exceptions.abstraction
+
+
The LobbyMessageException class represents an exception that can be thrown during + the elaboration of a generic Lobby-Message.
+
+
LobbyMessageException(LobbyMessageExceptionEnumeration, String) - Constructor for exception class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageException
+
+
Constructor for the LobbyMessageException class.
+
+
LobbyMessageExceptionEnumeration - Enum Class in it.polimi.ingsw.am32.controller.exceptions.abstraction
+
+
The LobbyMessageExceptionEnumeration enum represents the different exceptions that can be thrown during + the elaboration of a generic Lobby-Message.
+
+
LobbyMessageExceptionEnumeration(int) - Constructor for enum class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration
+
+
Constructor for the MatchStatus enum.
+
+
lobbyMessageQueue - Variable in class it.polimi.ingsw.am32.client.listener.AskListener
+
+
The queue of messages that are to be sent to the server.
+
+
LobbyPlayerListMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message send to the players to notify them of the updated list of players in the lobby.
+
+
LobbyPlayerListMessage(String, ArrayList<String>) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.LobbyPlayerListMessage
+
+
The constructor of the class.
+
+
lock - Variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Lock object used to synchronize the readInputThread
+
+
lockInput - Variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
An object used as a lock for the shared getInput() method
+
+
Log4J2ConfiguratorWrapper - Class in it.polimi.ingsw.am32.utilities
+
+
This class is a wrapper for configuring Log4J2.
+
+
Log4J2ConfiguratorWrapper() - Constructor for class it.polimi.ingsw.am32.utilities.Log4J2ConfiguratorWrapper
+
 
+
logger - Static variable in class it.polimi.ingsw.am32.client.listener.AskListener
+
+
The Logger of the AskListener class.
+
+
logger - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
The Logger of the class TextUI
+
+
logger - Static variable in class it.polimi.ingsw.am32.controller.EndMatchDueToDisconnectionTimerTask
+
+
Class logger.
+
+
logger - Static variable in class it.polimi.ingsw.am32.controller.GamesManager
+
+
Logger object of the class
+
+
logger - Static variable in class it.polimi.ingsw.am32.controller.VirtualView
+
+
The Logger of the VirtualView class.
+
+
logger - Static variable in class it.polimi.ingsw.am32.network.ClientAcceptor.RMIClientAcceptor
+
+
Variables used for service purposes
+
+
logger - Static variable in class it.polimi.ingsw.am32.network.ClientAcceptor.SKClientAcceptor
+
+
Variables used for service purposes
+
+
logger - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
logger - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Variables used for service purposes
+
+
logger - Static variable in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
+
Variables used for service purposes
+
+
logger - Variable in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
+
Variables used for service purposes
+
+
logger - Static variable in class it.polimi.ingsw.am32.Server
+
 
+
logger - Static variable in class it.polimi.ingsw.am32.utilities.Configuration
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-13.html b/deliverables/JavaDoc/index-files/index-13.html new file mode 100644 index 00000000..955c7693 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-13.html @@ -0,0 +1,234 @@ + + + + +M-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

M

+
+
main(String[]) - Static method in class it.polimi.ingsw.am32.Client
+
+
The main method displays a welcome message and calls the chooseUI method to prompt the user to choose a UI type.
+
+
main(String[]) - Static method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUIApplication
+
+
Launches the application with the given arguments
+
+
main(String[]) - Static method in class it.polimi.ingsw.am32.Server
+
+
When the program is started a new Server object is crated and started.
+
+
MalformedMessageException - Exception Class in it.polimi.ingsw.am32.chat.exceptions
+
+
This class represents a custom exception that is thrown when a chat message is malformed.
+
+
MalformedMessageException - Exception Class in it.polimi.ingsw.am32.client.exceptions
+
+
This class represents a custom exception that is thrown when a chat message is malformed.
+
+
MalformedMessageException(String) - Constructor for exception class it.polimi.ingsw.am32.chat.exceptions.MalformedMessageException
+
+
Constructs a new MalformedMessageException with the specified detail message.
+
+
MalformedMessageException(String) - Constructor for exception class it.polimi.ingsw.am32.client.exceptions.MalformedMessageException
+
+
Constructs a new MalformedMessageException with the specified detail message.
+
+
manageReconnectionRequests() - Method in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Check if the reset and reconnection process has already been requested.
+
+
MANUSCRIPT - Enum constant in enum class it.polimi.ingsw.am32.model.card.CornerType
+
+
Manuscript corner type indicates that the corner of the card has a manuscript object.
+
+
MANUSCRIPT - Enum constant in enum class it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType
+
+
Manuscript object type indicates that the object is a manuscript object.
+
+
MANUSCRIPT - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Unicode characters used to represent the icon MANUSCRIPT
+
+
masterPane - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The base pane of the GUI which contains the components of the game view from the preparation phase to the end of + the game.
+
+
Match - Class in it.polimi.ingsw.am32.model.match
+
+
Primary class used to represent a single instance of a game.
+
+
Match() - Constructor for class it.polimi.ingsw.am32.model.match.Match
+
+
Constructor: Initialize a new Match instance.
+
+
matchId - Variable in class it.polimi.ingsw.am32.message.ClientToServer.AccessGameMessage
+
+
The id of the game the player wants to join
+
+
matchId - Variable in class it.polimi.ingsw.am32.message.ClientToServer.ReconnectGameMessage
+
+
The id of the game the player left before and wants to reconnect to
+
+
matchId - Variable in class it.polimi.ingsw.am32.message.ServerToClient.NewGameConfirmationMessage
+
+
The id of the match created.
+
+
matchStatus - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The Label object that shows the status of the game after the login phase.
+
+
matchStatus - Variable in class it.polimi.ingsw.am32.message.ServerToClient.MatchStatusMessage
+
+
The status of the match.
+
+
matchStatus - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
Integer that represents the status of the match
+
+
matchStatus - Variable in class it.polimi.ingsw.am32.model.match.Match
+
+
Flag indicating the current status of the match.
+
+
MatchStatus - Enum Class in it.polimi.ingsw.am32.model.match
+
+
The MatchStatus enum represents the different states a match can be in.
+
+
MatchStatus(int) - Constructor for enum class it.polimi.ingsw.am32.model.match.MatchStatus
+
+
Constructor for the MatchStatus enum.
+
+
MatchStatusMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message send to the players notifying them of the game status.
+
+
MatchStatusMessage(String, int) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.MatchStatusMessage
+
+
The constructor of the class.
+
+
MatchWinnersMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message send by the server to the players notifying them the winners of the match.
+
+
MatchWinnersMessage(String, ArrayList<String>, ArrayList<Integer>, ArrayList<Integer>, ArrayList<Integer>, ArrayList<String>) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.MatchWinnersMessage
+
+
The constructor of the class.
+
+
maxPingCount - Variable in class it.polimi.ingsw.am32.utilities.Configuration
+
 
+
message - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ErrorMessage
+
+
The message that the server sends to the client to notify the failure reason of the request.
+
+
MESSAGE_TYPE_NOT_RECOGNIZED - Enum constant in enum class it.polimi.ingsw.am32.network.exceptions.ErrorMessageCode
+
+
Message type not recognized.
+
+
messageContent - Variable in class it.polimi.ingsw.am32.chat.ChatMessage
+
 
+
messageContent - Variable in class it.polimi.ingsw.am32.client.ChatMessage
+
 
+
messageDisplayArea - Variable in class it.polimi.ingsw.am32.client.view.gui.ChatArea
+
+
An object representing the area where messages are displayed.
+
+
messageQueue - Variable in class it.polimi.ingsw.am32.client.listener.AskListener
+
+
The queue of messages that are to be sent to the server.
+
+
messageQueue - Variable in class it.polimi.ingsw.am32.controller.VirtualView
+
+
The queue of messages that are to be sent to the client.
+
+
messageScrollPane - Variable in class it.polimi.ingsw.am32.client.view.gui.ChatArea
+
+
An object representing the scroll pane that contains the message display area
+
+
MissingJSONException - Exception Class in it.polimi.ingsw.am32.client.exceptions
+
+
This class represents a custom exception that is thrown when a required JSON file is missing.
+
+
MissingJSONException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when a required JSON file is missing.
+
+
MissingJSONException(String) - Constructor for exception class it.polimi.ingsw.am32.client.exceptions.MissingJSONException
+
+
Constructs a new MissingJSONException with the specified detail message.
+
+
MissingJSONException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.MissingJSONException
+
+
Constructs a new MissingJSONException with the specified detail message.
+
+
MissingRequirementsException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when the required elements for a certain operation are missing.
+
+
MissingRequirementsException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.MissingRequirementsException
+
+
Constructs a new MissingRequirementsException with the specified detail message.
+
+
model - Variable in class it.polimi.ingsw.am32.controller.GameController
+
+
model: The model of the game
+
+
ModelInterface - Interface in it.polimi.ingsw.am32.model
+
 
+
multicastFlag - Variable in class it.polimi.ingsw.am32.chat.ChatMessage
+
 
+
multicastFlag - Variable in class it.polimi.ingsw.am32.client.ChatMessage
+
 
+
multicastFlag - Variable in class it.polimi.ingsw.am32.message.ClientToServer.InboundChatMessage
+
+
The flag that indicates if the message is for all the players in the game
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-14.html b/deliverables/JavaDoc/index-files/index-14.html new file mode 100644 index 00000000..58d0db16 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-14.html @@ -0,0 +1,291 @@ + + + + +N-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

N

+
+
NegativeResponsePlayerFieldMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent to the player who requested the field of another player to notify him that the field could not be fetched (used for testing only).
+
+
NegativeResponsePlayerFieldMessage(String, String) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.NegativeResponsePlayerFieldMessage
+
+
The constructor of the class.
+
+
networkIsDown - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
DialogPane displayed when the network is down.
+
+
NEW_PLAYER_JOIN - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that a new player has joined the game.
+
+
newAvailableFieldSpaces - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardConfirmationMessage
+
+
The new available field spaces.
+
+
newAvailableFieldSpaces - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
List of arrays of integers that represent the available field spaces for the player to place a card
+
+
NewGameConfirmationMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent by the server to the client to confirm the creation of a new game.
+
+
NewGameConfirmationMessage(String, int) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.NewGameConfirmationMessage
+
+
The constructor of the class: it creates a new NewGameConfirmationMessage with the nickname of the recipient who + requested to create a new game and the id of the match returned by the server.
+
+
NewGameMessage - Class in it.polimi.ingsw.am32.message.ClientToServer
+
+
This class represents a message that is sent from the client to the server when a new game is created.
+
+
NewGameMessage(String, int) - Constructor for class it.polimi.ingsw.am32.message.ClientToServer.NewGameMessage
+
+
Creates a new NewGameMessage with the given sender nickname and player count
+
+
nextTurn() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Used to progress the game to the next turn.
+
+
nextTurn() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
nickname - Variable in class it.polimi.ingsw.am32.client.view.gui.PlayerPubView
+
+
The Label that displays the player's nickname
+
+
nickname - Variable in class it.polimi.ingsw.am32.controller.PlayerQuadruple
+
 
+
nickname - Variable in class it.polimi.ingsw.am32.model.player.Player
+
+
The nickname of the player
+
+
nickname - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
nickname - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
 
+
nickname - Variable in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
 
+
nickname - Variable in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
 
+
node - Variable in class it.polimi.ingsw.am32.controller.PlayerQuadruple
+
 
+
node - Variable in class it.polimi.ingsw.am32.network.ClientNode.ClientPingTask
+
 
+
node - Variable in class it.polimi.ingsw.am32.network.ServerNode.ServerPingTask
+
 
+
NodeClosedException - Exception Class in it.polimi.ingsw.am32.network.exceptions
+
+
A simple Exception that extends Throwable and add nothing else.
+
+
NodeClosedException() - Constructor for exception class it.polimi.ingsw.am32.network.exceptions.NodeClosedException
+
 
+
nodeDisconnected() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method called when the node disconnects from the game.
+
+
nodeDisconnected() - Method in class it.polimi.ingsw.am32.client.View
+
+
Method called when the node disconnects from the game.
+
+
nodeDisconnected() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method called by the Network to notify that the Client has lost connection with the Server.
+
+
nodeList - Variable in class it.polimi.ingsw.am32.controller.GameController
+
+
nodeList: A list of all the nodes that are currently connected to the game (RMI or Socket)
+
+
nodePreState - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
nodeReconnected() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method called when the node reconnects to the game.
+
+
nodeReconnected() - Method in class it.polimi.ingsw.am32.client.View
+
+
Method called when the node reconnects to the game.
+
+
nodeReconnected() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method called by the Network to notify that the Client has reconnected with the Server.
+
+
NON_COVERABLE - Enum constant in enum class it.polimi.ingsw.am32.model.card.CornerType
+
+
Non-coverable corner type indicates that the corner of the card is not coverable.
+
+
NON_COVERABLE - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Unicode characters used to represent the icon “X”;
+
+
NonEmptyHandException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when a non-empty hand is encountered.
+
+
NonEmptyHandException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.NonEmptyHandException
+
+
Constructs a new NonEmptyHandException with the specified detail message.
+
+
NonNullColourException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when a non-null color is encountered.
+
+
NonNullColourException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.NonNullColourException
+
+
Constructs a new NonNullColourException with the specified detail message.
+
+
NonNullFieldException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when a non-null field is encountered where a null field was expected.
+
+
NonNullFieldException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.NonNullFieldException
+
+
Constructor for the NonNullFieldException class.
+
+
NonObjCardFactory - Class in it.polimi.ingsw.am32.client
+
+
Use this class to create a Non-Objective card (Resource, Gold or Starting card) using the card data stored in the + JSON file, in the side of the client.
+
+
NonObjCardFactory(String, int, int, String, String, int, String, String[], String[], int[], int[]) - Constructor for class it.polimi.ingsw.am32.client.NonObjCardFactory
+
+
Constructor
+
+
nonObjCards - Static variable in class it.polimi.ingsw.am32.client.View
+
+
The ArrayList that stores the non-objective cards descriptions.
+
+
NonObjectiveCard - Class in it.polimi.ingsw.am32.model.card
+
+
Creates objects used to represent Gold, Resource, and Start cards.
+
+
NonObjectiveCard(int, int, PointStrategy, CornerType, CornerType, CornerType, CornerType, CornerType, CornerType, CornerType, CornerType, int[], int[], ObjectType) - Constructor for class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Constructor of NonObjectiveCard object
+
+
NonObjectiveCardDeck - Class in it.polimi.ingsw.am32.model.deck
+
+
Contains a collection of NonObjectiveCards implemented as a stack.
+
+
NonObjectiveCardDeck(ArrayList<NonObjectiveCard>, DeckType) - Constructor for class it.polimi.ingsw.am32.model.deck.NonObjectiveCardDeck
+
 
+
NonObjectiveCardDeckBuilder - Class in it.polimi.ingsw.am32.model.deck
+
+
This class is responsible for building a deck of NonObjectiveCards.
+
+
NonObjectiveCardDeckBuilder() - Constructor for class it.polimi.ingsw.am32.model.deck.NonObjectiveCardDeckBuilder
+
 
+
notice - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
A VBox object containing the list of the notice messages shown to the player during the game.
+
+
noticeEventPanel - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The Group object used to show the important events of the game.
+
+
notifyAskListener(CtoSLobbyMessage) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to notify the ask listener of a new CtoSLobby message.
+
+
notifyAskListener(CtoSMessage) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to notify the ask listener of a new CtoS message.
+
+
notLinkedPingTask - Variable in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
+
Variables used to verify and maintain active the connection with the client
+
+
notLinkedSocketTimer - Variable in class it.polimi.ingsw.am32.utilities.Configuration
+
 
+
NullColourException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when a player's color is not set.
+
+
NullColourException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.NullColourException
+
+
Constructs a new NullColourException with the specified detail message.
+
+
NullFieldException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when a null field is encountered.
+
+
NullFieldException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.NullFieldException
+
+
Constructs a new NullFieldException with the specified detail message.
+
+
NullHandException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when a null hand is encountered.
+
+
NullHandException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.NullHandException
+
+
Constructs a new NullHandException with the specified detail message.
+
+
NullMessageException - Exception Class in it.polimi.ingsw.am32.chat.exceptions
+
+
This class represents an exception that is thrown when a null message is encountered.
+
+
NullMessageException(String) - Constructor for exception class it.polimi.ingsw.am32.chat.exceptions.NullMessageException
+
+
Constructs a new NullMessageException with the specified detail message.
+
+
NullPointStrategyException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when a null point strategy is encountered.
+
+
NullPointStrategyException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.NullPointStrategyException
+
+
Constructs a new NullPointStrategyException with the specified detail message.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-15.html b/deliverables/JavaDoc/index-files/index-15.html new file mode 100644 index 00000000..a9fea67c --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-15.html @@ -0,0 +1,131 @@ + + + + +O-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

O

+
+
OBJECTIVE - Enum constant in enum class it.polimi.ingsw.am32.model.deck.utils.DeckType
+
+
The deck that contains the objective cards.
+
+
ObjectiveCardFactory - Class in it.polimi.ingsw.am32.client
+
+
This class is used to create the Non-Objective Cards from the JSON file, in the side of the client.
+
+
ObjectiveCardFactory(int, int, String, String, int, boolean) - Constructor for class it.polimi.ingsw.am32.client.ObjectiveCardFactory
+
+
This is the constructor of the class.
+
+
objectiveCards - Static variable in class it.polimi.ingsw.am32.client.View
+
+
The ArrayList that stores the objective cards descriptions.
+
+
objectiveCardsDeck - Variable in class it.polimi.ingsw.am32.model.match.Match
+
+
Deck containing all the objective cards of the game.
+
+
objectivePointsState - Variable in class it.polimi.ingsw.am32.model.player.Player
+
+
The state of the points gained from the objectives
+
+
objectsBuilder - Variable in class it.polimi.ingsw.am32.model.deck.CardDeckBuilder
+
+
The ObjectsBuilder object used to perform Strings to Objects conversion.
+
+
objectsBuilder - Variable in class it.polimi.ingsw.am32.model.deck.NonObjectiveCardDeckBuilder
+
+
The ObjectsBuilder object used to perform Strings to Objects conversion.
+
+
ObjectsBuilder - Class in it.polimi.ingsw.am32.model.deck
+
+
This class contains methods to convert strings to enum values and to build PointStrategy objects from strings.
+
+
ObjectsBuilder() - Constructor for class it.polimi.ingsw.am32.model.deck.ObjectsBuilder
+
 
+
ObjectType - Enum Class in it.polimi.ingsw.am32.model.card.pointstrategy
+
+
Stores all the possible resource object types.
+
+
ObjectType(int) - Constructor for enum class it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType
+
+
Constructor for the ObjectType enum.
+
+
oldActiveRes - Variable in class it.polimi.ingsw.am32.model.field.Field
+
+
The resources owned by the player before the last card was placed; used for rollback
+
+
oldPoints - Variable in class it.polimi.ingsw.am32.model.player.Player
+
+
The old points of the player; used for rollback
+
+
out - Static variable in class it.polimi.ingsw.am32.Client
+
+
Used to display output text on the user's terminal
+
+
out - Variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
The print stream used to print the output of the game
+
+
OutboundChatMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent from the server to the players notifying them of a new chat message.
+
+
OutboundChatMessage(String, String, String) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.OutboundChatMessage
+
+
The constructor of the class.
+
+
outputObtStr - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
 
+
outputObtStr - Variable in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-16.html b/deliverables/JavaDoc/index-files/index-16.html new file mode 100644 index 00000000..f35ac882 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-16.html @@ -0,0 +1,751 @@ + + + + +P-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

P

+
+
performMove(int, int, int, boolean) - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Tries to take a card from the hand of the player and place it in the field.
+
+
permRes - Variable in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Permanent resources present on the back of the card.
+
+
PermRes - Variable in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
pickRandomCommonObjectives() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Selects the two initial common objective cards at the beginning of the game
+
+
pickRandomCommonObjectives() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
pingCount - Variable in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
+
Variables used to manage the connection with the server
+
+
pingCount - Variable in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
+
Variables used to manage the connection with the server
+
+
PINGINTERVAL - Static variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
PINGINTERVAL - Static variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
 
+
PingMessage - Class in it.polimi.ingsw.am32.message.ClientToServer
+
+
This class is used to manage the message sent by the client when he wants to ping the server.
+
+
PingMessage(String) - Constructor for class it.polimi.ingsw.am32.message.ClientToServer.PingMessage
+
+
Constructor: a message representing a ping message sent by a player to the server.
+
+
pingTimeInterval - Variable in class it.polimi.ingsw.am32.utilities.Configuration
+
 
+
pingTimeOverdue() - Method in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
+
If the RMIServerNode is not alive, the method will return immediately.
+
+
pingTimeOverdue() - Method in interface it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface
+
+
Inform the ServerNode that the interval for pings is over.
+
+
pingTimeOverdue() - Method in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
+
Method that should be called at regular intervals.
+
+
PLACE_CARD - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player should place a card on the field.
+
+
PLACE_CARD_FAILURE - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player has placed the card on the field not successfully.
+
+
placeCard(int, int, int, boolean) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Places a card on the field of the player with the given nickname.
+
+
placeCard(int, int, int, boolean) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
placeCard(String, int, int, int, boolean) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Method called when a message of type place card is received.
+
+
PlaceCardConfirmationMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent from the server to the players notifying them that a player has placed a card.
+
+
PlaceCardConfirmationMessage(String, String, int, int[], boolean, int, int[], ArrayList<int[]>) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardConfirmationMessage
+
+
The constructor of the class.
+
+
PlaceCardFailedMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent a player notifying them that a card placement has failed.
+
+
PlaceCardFailedMessage(String, String) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardFailedMessage
+
+
The constructor of the class: it creates a new PlaceCardFailedMessage with the nickname of the recipient who will receive the message + and the reason why the card placement has failed.
+
+
placeCardInField(NonObjectiveCard, int, int, boolean) - Method in class it.polimi.ingsw.am32.model.field.Field
+
+
Verifies if it's possible to place the card in the field.
+
+
PlaceCardMessage - Class in it.polimi.ingsw.am32.message.ClientToServer
+
+
This class is used to manage the message sent by the client when he wants to place a card.
+
+
PlaceCardMessage(String, int, int, int, boolean) - Constructor for class it.polimi.ingsw.am32.message.ClientToServer.PlaceCardMessage
+
+
Constructor: a message containing the nickname of the player who wants to place the card, the id of the card the + player wants to place, the x and y coordinates of the position in the field where the player wants to place the + card and a flag that indicates if the card is placed face up or face down.
+
+
PlaceCardRollbackMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent to all the players, notifying them that a player has placed a card and disconnected.
+
+
PlaceCardRollbackMessage(String, String, int, int, int[]) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardRollbackMessage
+
+
The constructor of the class: it creates a new PlaceCardRollbackMessage with the nickname of the recipient who will receive the message, + the nickname of the player who disconnected after placing a card, the card that has been placed by the player and should be removed, + the old points of the player before the card placement who disconnected and the old resources of the player before the card placement who disconnected.
+
+
placedCard - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardConfirmationMessage
+
+
The card placed by the player.
+
+
placedCard - Variable in class it.polimi.ingsw.am32.model.field.CardPlaced
+
+
The card that player decided to place.
+
+
placedCardCoordinates - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardConfirmationMessage
+
+
The coordinates where the card has been placed.
+
+
placedSide - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardConfirmationMessage
+
+
The side where the card has been placed.
+
+
PLANT - Enum constant in enum class it.polimi.ingsw.am32.model.card.CornerType
+
+
Plant corner type indicates that the corner of the card has a plant resource.
+
+
PLANT - Enum constant in enum class it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType
+
+
Plant object type indicates that the object is a plant resource.
+
+
PLANT - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Unicode characters used to represent the icon PLANT
+
+
PLANTCARD - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Unicode integer used to represent the icon of the plant kingdom's color
+
+
Player - Class in it.polimi.ingsw.am32.model.player
+
+
This class is responsible for managing the player's actions and status.
+
+
Player(String) - Constructor for class it.polimi.ingsw.am32.model.player.Player
+
+
Initialize the player
+
+
PLAYER_ALREADY_CONNECTED_EXCEPTION - Enum constant in enum class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration
+
+
This exception type indicates that a player is already connected but tries to connect again somehow.
+
+
PLAYER_DISCONNECTED - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that a player has disconnected from the game.
+
+
PLAYER_NOT_FOUND_EXCEPTION - Enum constant in enum class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration
+
+
This exception type indicates that a player tries to join a lobby with a nickname that is already in use.
+
+
PLAYER_RECONNECTED - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player has reconnected to the game successfully.
+
+
PlayerAlreadyConnectedException - Exception Class in it.polimi.ingsw.am32.controller.exceptions
+
+
This exception is thrown when a player is already connected but tries to connect again somehow.
+
+
PlayerAlreadyConnectedException(String) - Constructor for exception class it.polimi.ingsw.am32.controller.exceptions.PlayerAlreadyConnectedException
+
+
Creates a new PlayerAlreadyConnectedException with the given message.
+
+
playerAssignedSecretObjectiveCards - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
An Array of two integers that represent the server-assigned secret objective cards of the player
+
+
playerColour - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ConfirmStarterCardSideSelectionMessage
+
+
The color identifier of the player in this game.
+
+
playerColours - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
List of integers that represent the colours of the players in the game
+
+
playerConnected - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
List of booleans that represent the connection status of the players in the game
+
+
PlayerConnectedMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent to notify players that a new player has joined the game during the lobby phase.
+
+
PlayerConnectedMessage(String, String) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.PlayerConnectedMessage
+
+
Constructor.
+
+
PlayerDisconnectMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent to notify players when another player disconnects from the game during any stage.
+
+
PlayerDisconnectMessage(String, String) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.PlayerDisconnectMessage
+
+
The constructor of the class: it creates a new PlayerDisconnectMessage with the nickname of the recipient of the message + and the nickname of the player who disconnected.
+
+
playerField - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
HashMap containing the stack pane of the player's field and the key is the nickname of the player.
+
+
playerField - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ResponsePlayerFieldMessage
+
+
The field of the player whose field has been requested.
+
+
playerFields - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
List of lists of arrays of integers that represent the fields of each player
+
+
PlayerGameStatusMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent to notify the player of the game status
+
+
PlayerGameStatusMessage(String, ArrayList<String>, ArrayList<Boolean>, ArrayList<Integer>, ArrayList<Integer>, ArrayList<Integer>, int, int, int[], ArrayList<int[]>, ArrayList<ArrayList<int[]>>, int[], ArrayList<Integer>, ArrayList<Integer>, ArrayList<Integer>, int, int, int, ArrayList<String[]>, String, ArrayList<int[]>, int, int) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
Constructor: a message containing all the data necessary to update the view when the game enters a playing phase + or when the player reconnects to the game.
+
+
playerHand - Variable in class it.polimi.ingsw.am32.message.ServerToClient.AssignedSecretObjectiveCardMessage
+
+
The list of the cards assigned to the player's hand at the beginning of the game: three cards (two resource cards + and one god card).
+
+
playerHand - Variable in class it.polimi.ingsw.am32.message.ServerToClient.DrawCardConfirmationMessage
+
+
The cards in the player's hand after the draw card action.
+
+
playerHand - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
List of integers that represent the ids of the cards in the hand of the player
+
+
playerList - Variable in class it.polimi.ingsw.am32.client.view.gui.ChatArea
+
+
A combo box that allows the user to select a recipient for the message
+
+
playerList - Variable in class it.polimi.ingsw.am32.message.ServerToClient.LobbyPlayerListMessage
+
+
The list of players in the lobby.
+
+
playerListView - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The TextField object which contains the list of players in the lobby.
+
+
playerNickname - Variable in class it.polimi.ingsw.am32.message.ClientToServer.RequestPlayerFieldMessage
+
+
The nickname of the player whose field the player wants to see
+
+
playerNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.NegativeResponsePlayerFieldMessage
+
+
The nickname of the player whose field has been requested.
+
+
playerNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardConfirmationMessage
+
+
The nickname of the player who placed the card successfully.
+
+
playerNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardRollbackMessage
+
+
The nickname of the player who disconnected after placing
+
+
playerNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerTurnMessage
+
+
The nickname of the player whose turn it is
+
+
playerNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ResponsePlayerFieldMessage
+
+
The nickname of the player whose field has been requested.
+
+
playerNicknames - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
List of nicknames of the players in the game (connected or disconnected)
+
+
PlayerNotFoundException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when a player is not found.
+
+
PlayerNotFoundException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.PlayerNotFoundException
+
+
Constructs a new PlayerNotFoundException with the specified detail message.
+
+
playerNum - Variable in class it.polimi.ingsw.am32.client.View
+
+
The integer that represents the number of players established at the beginning of the game.
+
+
playerNum - Variable in class it.polimi.ingsw.am32.message.ClientToServer.NewGameMessage
+
+
The number of players that the game will have
+
+
playerOrder - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The HBox object which contains the order of the players in the game.
+
+
playerPoints - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardConfirmationMessage
+
+
The points of the player who placed the card.
+
+
playerPoints - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardRollbackMessage
+
+
The old points of the player before the card placement who disconnected.
+
+
playerPoints - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
Array of integers that represent the points held by each player
+
+
PlayerPub - Class in it.polimi.ingsw.am32.client
+
+
Use this class to store the player's public information that is shared with other players, which means that in this + class contains all the information that the player can request to know about the other players.
+
+
PlayerPub(String, int, ArrayList<CardPlacedView>, int[], boolean) - Constructor for class it.polimi.ingsw.am32.client.PlayerPub
+
+
The constructor of the class that initializes the player's public information with the given parameters.
+
+
PlayerPubView - Class in it.polimi.ingsw.am32.client.view.gui
+
+
This class is used to store the components of javafx that are used to display the player's information in the + game.
+
+
PlayerPubView(Label, ImageView, Label, Label[]) - Constructor for class it.polimi.ingsw.am32.client.view.gui.PlayerPubView
+
+
The constructor of the class that initializes the player pub view with the given parameters.
+
+
PlayerQuadruple - Class in it.polimi.ingsw.am32.controller
+
+
This class represents a player in the game.
+
+
PlayerQuadruple(ServerNodeInterface, String, boolean, VirtualView) - Constructor for class it.polimi.ingsw.am32.controller.PlayerQuadruple
+
+
Constructs a new PlayerQuadruple object.
+
+
PlayerReconnectedMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent to notify players that a player has reconnected to the game.
+
+
PlayerReconnectedMessage(String, String) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.PlayerReconnectedMessage
+
+
The constructor of the class: it creates a new PlayerReconnectedMessage with the nickname of the recipient who + requested to reconnect to the game before and the nickname of the player who reconnected to the game.
+
+
playerResources - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ConfirmStarterCardSideSelectionMessage
+
+
The resources of the player in the field after the placement of the starter card.
+
+
playerResources - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardConfirmationMessage
+
+
The resources of the player who placed the card.
+
+
playerResources - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardRollbackMessage
+
+
The old resources of the player before the card placement who disconnected.
+
+
playerResources - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
Array of integers that represent the resources of the player
+
+
playerResources - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ResponsePlayerFieldMessage
+
+
The resources of the player whose field has been requested.
+
+
players - Variable in class it.polimi.ingsw.am32.client.View
+
+
The ArrayList that stores the nicknames of the players in the game.
+
+
players - Variable in class it.polimi.ingsw.am32.message.ServerToClient.MatchWinnersMessage
+
+
The list of the players who played the match.
+
+
players - Variable in class it.polimi.ingsw.am32.model.match.Match
+
+
Contains the list of all players participating in the game.
+
+
playerSecretObjective - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
Integer that represents the id of the chosen secret objective of the player
+
+
playersResourcesSummary - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
ArrayList of arrays of integers that represent the resources of each player in the game
+
+
playerStartingCard - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
The ID of the starting card assigned by the server to the player
+
+
PlayerTurnMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent to notify players of whose turn it is
+
+
PlayerTurnMessage(String, String) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.PlayerTurnMessage
+
+
The constructor of the class: it creates a new PlayerTurnMessage with the nickname of the recipient who + requested to access the game before and the nickname of the player whose turn it is
+
+
playerViews - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
HashMap containing the public information of the players and the key is the nickname of the player.
+
+
PLAYING - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Identifiers for the playing phase: the phase in which the players place their cards on the field and draw new + cards if it is their turn.
+
+
PLAYING - Enum constant in enum class it.polimi.ingsw.am32.model.match.MatchStatus
+
+
The match is in the playing state, the game is in progress.
+
+
points - Variable in class it.polimi.ingsw.am32.client.PlayerPub
+
+
The points of the player.
+
+
points - Variable in class it.polimi.ingsw.am32.client.view.gui.PlayerPubView
+
+
The Label that displays the player's points
+
+
points - Variable in class it.polimi.ingsw.am32.message.ServerToClient.MatchWinnersMessage
+
+
The list of the points gained by the players.
+
+
points - Variable in class it.polimi.ingsw.am32.model.player.Player
+
+
The points owned of the player
+
+
pointsGainedFromObjectives - Variable in class it.polimi.ingsw.am32.model.player.Player
+
+
The points gained from the objectives
+
+
pointsGainedFromSecrets - Variable in class it.polimi.ingsw.am32.message.ServerToClient.MatchWinnersMessage
+
+
The list of the points gained by the players from the secrets.
+
+
pointStrategy - Variable in class it.polimi.ingsw.am32.model.card.Card
+
+
pointStrategy: Strategy that should be fulfilled to get the points of card.
+
+
PointStrategy - Interface in it.polimi.ingsw.am32.model.card.pointstrategy
+
+
Following strategy pattern to describe different strategies used by cards to calculate points + and for each type count how many times it is realized in the indicated field.
+
+
PointStrategy - Variable in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
PointStrategy - Variable in class it.polimi.ingsw.am32.client.ObjectiveCardFactory
+
 
+
PointStrategyCount - Variable in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
PointStrategyCount - Variable in class it.polimi.ingsw.am32.client.ObjectiveCardFactory
+
 
+
PointStrategyLeftToRight - Variable in class it.polimi.ingsw.am32.client.ObjectiveCardFactory
+
 
+
PointStrategyType - Variable in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
PointStrategyType - Variable in class it.polimi.ingsw.am32.client.ObjectiveCardFactory
+
 
+
pongCount - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
pongCount - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
 
+
PONGMAXCOUNT - Static variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
Constants used in the class
+
+
PONGMAXCOUNT - Static variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Constants used in the class
+
+
PongMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent to notify the client that a ping has been received.
+
+
PongMessage(String) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.PongMessage
+
+
The constructor of the class: it creates a new PongMessage with the nickname of the recipient who sent the ping.
+
+
pongPlayer(String) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Used to reply to a PingMessage.
+
+
pongTimeOverdue() - Method in interface it.polimi.ingsw.am32.network.ClientNode.ClientNodeInterface
+
+
Inform the ClientNode that the interval for pongs is over.
+
+
pongTimeOverdue() - Method in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
If the RMIClientNode is not alive, the method will return immediately.
+
+
pongTimeOverdue() - Method in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
If the SKClientNode is not alive, the method will return immediately.
+
+
port - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
port - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
 
+
portValidator(int, int) - Method in class it.polimi.ingsw.am32.utilities.Configuration
+
+
Verify that the new port number comply with port rules and in that case returns it.
+
+
PREPARATION - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Identifiers for the preparation phase: the phase in which the players are selecting their starting card side and + secret objective card.
+
+
PREPARATION - Enum constant in enum class it.polimi.ingsw.am32.model.match.MatchStatus
+
+
The match is in the preparation state, players are setting up their game.
+
+
prePingTask - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
primaryStage - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUIApplication
+
+
The primary stage of the application
+
+
processLobbyMessages() - Method in class it.polimi.ingsw.am32.client.listener.AskListener
+
+
Send the lobby messages to the server.
+
+
processMessage() - Method in class it.polimi.ingsw.am32.client.listener.AskListener
+
+
Processes the messages in the queues.
+
+
processMessage() - Method in class it.polimi.ingsw.am32.controller.VirtualView
+
+
Processes the message queue.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.AccessGameConfirmMessage
+
+
This method is used to process the message to the client when the access to the game is confirmed, + updating the current event of the game and notifying the player that he joined the game successfully.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.AssignedSecretObjectiveCardMessage
+
+
This method is used to process the message to the client when is a turn to choose the secret objective card, + setting the cards received by the server and updating the current event of the game.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.AssignedStarterCardMessage
+
+
This method is used to process the message to the client when the assigned starter card is received, + updating the current event of the game and notifying the player that he received the assigned starter card.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.ConfirmSelectedSecretObjectiveCardMessage
+
+
This method is used to process the message to the client when the selected secret objective card is confirmed, + updating the view with the selected secret objective card chosen by the player.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.ConfirmStarterCardSideSelectionMessage
+
+
This method is used to process the message to the client when the selection of the starter card side is + confirmed, + updating the view with the selected side of the starter card, the available spaces and resources + of the player in the field after the placement of the starter card.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.DeckSizeUpdateMessage
+
+
This method is used to process the message to the client when the deck is updated after the draw card action.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.DrawCardConfirmationMessage
+
+
This method is used to process the message to the client when the draw card action is confirmed, updating the + view with the cards in the player's hand.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.DrawCardFailedMessage
+
+
This method is used to process the message to the client when the draw card action fails, updating the view with + the reason why the draw card action failed.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.ErrorMessage
+
+
This method is used to process the message to the client when the request to access the game, + to create a new game or to reconnect to a game is not successful, + updating the current event of the game and notifying the player + that the request is not successful.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.GameStartedMessage
+
+
This method is used to process the message to the client when the game is started, updating the view with the + setup of players' data and notifying the player that the game entered the preparation phase.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.InvalidInboundChatMessage
+
+
This method is used to notify the recipient of the invalid chat message.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.InvalidSelectedSecretObjectiveCardMessage
+
+
This method is used to manage the message sent to the client when the selected secret objective card is invalid.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.InvalidStarterCardSideSelectionMessage
+
+
This method is used to manage the message sent to the client notifying them that the side of the starter card they have selected is invalid.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.LobbyPlayerListMessage
+
+
This method is used to update the player list in the view.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.MatchStatusMessage
+
+
This method is used to update the view of the player that will receive the message.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.MatchWinnersMessage
+
+
This method is used to show the message to the player.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.NegativeResponsePlayerFieldMessage
+
+
This method is never called by Client, the NegativeResponsePlayerFieldMessage is kept for easier debugging and testing
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.NewGameConfirmationMessage
+
+
This method is used to process the message to the client when the creation of a new game is confirmed, + updating view with data related to the new game created and the current event of the game, notifying the player + that the game is created correctly.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.OutboundChatMessage
+
+
This method is used to update the chat of the recipient.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardConfirmationMessage
+
+
This method is used to update the view of the player who placed the card.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardFailedMessage
+
+
This method is used to process the message to the client when a card placement has failed, + updating the view of the player who will receive the message.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardRollbackMessage
+
+
This method is used to process the message to the client when a player has placed a card and disconnected, + updating the view of the player who will receive the message.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlayerConnectedMessage
+
+
This method is used to process the message to the client when a new player joins the game.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlayerDisconnectMessage
+
+
This method is used to process the message to the client when a player disconnects from the game, + updating the view based on the PLAYER_DISCONNECTED event.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
This method is used to process the message to the client when the game status is updated, + updating the view of the player with the new game status.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlayerReconnectedMessage
+
+
This method is used to process the message to the client when a player reconnects to the game, + updating the view based on the PLAYER_RECONNECTED event.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlayerTurnMessage
+
+
This method is used to process the message to the client when the player turn is notified, + updating the current event of the game and notifying the player that it is his turn.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.PongMessage
+
+
This method is used to process the message to the client when a pong is received.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.ReconnectGameConfirmMessage
+
+
This method is used to process the message to the client when the reconnection to the game is confirmed, + modifying the view based on the GAME_RECONNECTED event.
+
+
processMessage(View) - Method in class it.polimi.ingsw.am32.message.ServerToClient.ResponsePlayerFieldMessage
+
+
This method is never called by Client, the ResponsePlayerFieldMessage is kept for easier debugging and testing
+
+
processMessage(View) - Method in interface it.polimi.ingsw.am32.message.ServerToClient.StoCMessage
+
+
Delivers the message to the specified virtual view.
+
+
processRegularMessage() - Method in class it.polimi.ingsw.am32.client.listener.AskListener
+
+
Send the regular messages to the server.
+
+
publicInfo - Variable in class it.polimi.ingsw.am32.client.View
+
+
The HashMap that stores the public information of the players:save colour, + nickname, points and resources of the player.
+
+
purgeTimer() - Method in class it.polimi.ingsw.am32.utilities.Configuration
+
+
Delete all cancelled ServerPingTask from the configuration timer
+
+
putCardInHand(NonObjectiveCard) - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
tries to put a card in the hand of the player
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-17.html b/deliverables/JavaDoc/index-files/index-17.html new file mode 100644 index 00000000..af1d337c --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-17.html @@ -0,0 +1,73 @@ + + + + +Q-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

Q

+
+
queuesLock - Variable in class it.polimi.ingsw.am32.client.listener.AskListener
+
+
An object used to synchronize access to the queues.
+
+
QUILL - Enum constant in enum class it.polimi.ingsw.am32.model.card.CornerType
+
+
Quill corner type indicates that the corner of the card has a quill object.
+
+
QUILL - Enum constant in enum class it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType
+
+
Quill object type indicates that the object is a quill object.
+
+
QUILL - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Unicode characters used to represent the icon QUILL
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-18.html b/deliverables/JavaDoc/index-files/index-18.html new file mode 100644 index 00000000..0e934d19 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-18.html @@ -0,0 +1,580 @@ + + + + +R-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

R

+
+
randomizePlayersOrder() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Shuffles the players ArrayList
+
+
randomizePlayersOrder() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
readInputThread() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
A thread that reads the input from the player when it is not the player's turn will be started when the game + enters the playing phase, if the player is the current player, the thread will be waiting until the message + PlayerTurnMessage from the server to update the currentPlayer in the game.
+
+
reason - Variable in class it.polimi.ingsw.am32.message.ServerToClient.DrawCardFailedMessage
+
+
The reason why the draw card action failed.
+
+
reason - Variable in class it.polimi.ingsw.am32.message.ServerToClient.InvalidInboundChatMessage
+
+
The reason why the chat message is invalid.
+
+
reason - Variable in class it.polimi.ingsw.am32.message.ServerToClient.InvalidSelectedSecretObjectiveCardMessage
+
+
The reason why the selected secret objective card is invalid.
+
+
reason - Variable in class it.polimi.ingsw.am32.message.ServerToClient.InvalidStarterCardSideSelectionMessage
+
+
The reason why the side of the starter card selected is invalid.
+
+
reason - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardFailedMessage
+
+
The reason why the card placement has failed.
+
+
receiveSecretObjective(Card, Card) - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Place the two card given in the parameters in the hand so that that one of them can be chosen as secret objective
+
+
receiveSecretObjectiveChoiceFromPlayer(String, int) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Receives the secret objective card selected by the player and saves it in the attribute + secretObjective.
+
+
receiveSecretObjectiveChoiceFromPlayer(String, int) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
recipientNickname - Variable in class it.polimi.ingsw.am32.chat.ChatMessage
+
 
+
recipientNickname - Variable in class it.polimi.ingsw.am32.client.ChatMessage
+
 
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ClientToServer.InboundChatMessage
+
+
The nickname of the player who will receive the message; will be ignored if the multicastFlag is true
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.AccessGameConfirmMessage
+
+
The nickname of the recipient who requested to access the game before.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.AssignedSecretObjectiveCardMessage
+
+
The nickname of the recipient who will receive the assignment of the cards.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.AssignedStarterCardMessage
+
+
The nickname of the recipient who will receive the assigned starter card.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ConfirmSelectedSecretObjectiveCardMessage
+
+
The nickname of the recipient who will receive the confirmation of the selected secret objective card.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ConfirmStarterCardSideSelectionMessage
+
+
The nickname of the recipient who will receive the confirmation message for the selection of the starter card + side.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.DeckSizeUpdateMessage
+
+
The nickname of the recipient who will receive the message to update the deck size after the draw card action.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.DrawCardConfirmationMessage
+
+
The nickname of the recipient who will receive the confirmation after he draws a card.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.DrawCardFailedMessage
+
+
The nickname of the recipient who will receive the message when his draw card action fails.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ErrorMessage
+
+
The nickname of the recipient who requested to create a new game, to access the game or to reconnect to a game + before and received the error message.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.GameStartedMessage
+
+
The nickname of the recipient who will receive the message when the game enters the preparation phase.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.InvalidInboundChatMessage
+
+
The nickname of the sender of the invalid chat message.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.InvalidSelectedSecretObjectiveCardMessage
+
+
The nickname of the recipient.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.InvalidStarterCardSideSelectionMessage
+
+
The nickname of the player who has selected the invalid side of the starter card.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.LobbyPlayerListMessage
+
+
The nickname of the recipient.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.MatchStatusMessage
+
+
The nickname of the player that will receive the message.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.MatchWinnersMessage
+
+
The nickname of the player who will receive the message.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.NegativeResponsePlayerFieldMessage
+
+
The nickname of the recipient.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.NewGameConfirmationMessage
+
+
The nickname of the recipient who requested to create a new game and received the confirmation message.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardConfirmationMessage
+
+
The nickname of the recipient.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardFailedMessage
+
+
The nickname of the recipient who will receive the message.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardRollbackMessage
+
+
The nickname of the recipient who will receive the message.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerConnectedMessage
+
+
The nickname of the player that will receive the message.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerDisconnectMessage
+
+
The nickname of the recipient of the message
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
Nickname of the recipient of the message
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerReconnectedMessage
+
+
The nickname of the recipient who requested to reconnect to the game before.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerTurnMessage
+
+
The nickname of the recipient who requested to access the game before.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PongMessage
+
+
The nickname of the recipient who sent the ping.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ReconnectGameConfirmMessage
+
+
The nickname of the recipient who requested to reconnect to the game before.
+
+
recipientNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ResponsePlayerFieldMessage
+
+
The nickname of the recipient.
+
+
recipientString - Variable in class it.polimi.ingsw.am32.message.ServerToClient.OutboundChatMessage
+
+
The nickname of the recipient of the chat message.
+
+
reconnect(String, ServerNodeInterface) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Method called when a player reconnects to the game.
+
+
RECONNECT_GAME - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player selected to reconnect to a game.
+
+
RECONNECT_GAME_FAILURE - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player failed to reconnect to the game.
+
+
reconnectCalled - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
reconnectCalled - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
 
+
ReconnectGameConfirmMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent by the server to the client to confirm the reconnection to the game.
+
+
ReconnectGameConfirmMessage(String) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.ReconnectGameConfirmMessage
+
+
The constructor of the class: it creates a new ReconnectGameConfirmMessage with the nickname of the recipient who + requested to reconnect to the game before.
+
+
ReconnectGameMessage - Class in it.polimi.ingsw.am32.message.ClientToServer
+
+
This class is used to manage the message sent by the client when he wants to reconnect to a game.
+
+
ReconnectGameMessage(String, int) - Constructor for class it.polimi.ingsw.am32.message.ClientToServer.ReconnectGameMessage
+
+
Constructor: a message containing the nickname of the player who wants to reconnect to the game and the id of + the game the player requests to reconnect to.
+
+
reconnectToGame(String, int, ServerNodeInterface) - Method in class it.polimi.ingsw.am32.controller.GamesManager
+
+
Reconnects the player with the given nickname to the game with the given code
+
+
recursiveOccurrences(ArrayList<CardPlaced>) - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationFour
+
+
Recursive function.
+
+
recursiveOccurrences(ArrayList<CardPlaced>) - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationTwo
+
+
Recursive function.
+
+
RED - Enum constant in enum class it.polimi.ingsw.am32.model.player.Colour
+
+
Represents the red color that a player can identify with and is associated with value 0.
+
+
registry - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
Variables used to communicate with the server
+
+
REMOTEOBJECTNAME - Static variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
removedCard - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardRollbackMessage
+
+
The card that has been placed by the player and should be removed.
+
+
requestDrawCard() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method called when place card confirmation is received from server.
+
+
requestDrawCard() - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to request the player to draw a card.
+
+
requestDrawCard() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Once the player receives the DrawCardMessage from the server, the method is called by processMessage to request + the player to draw a card from the deck.
+
+
RequestGameStatusMessage - Class in it.polimi.ingsw.am32.message.ClientToServer
+
+
This class is used to manage the message sent by the client when he wants to know the status of the game.
+
+
RequestGameStatusMessage(String) - Constructor for class it.polimi.ingsw.am32.message.ClientToServer.RequestGameStatusMessage
+
+
Constructor: a message representing a request for the status of the game sent by a player.
+
+
requestPlaceCard() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method called by the processMessage after receiving confirmation from the server that the secret objective card was selected.
+
+
requestPlaceCard() - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to request the player to place a card.
+
+
requestPlaceCard() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Use this method to request the player to place a card in the field.
+
+
RequestPlayerFieldMessage - Class in it.polimi.ingsw.am32.message.ClientToServer
+
+
This class is used to manage the message sent by the client when he wants to see the field of another player.
+
+
RequestPlayerFieldMessage(String, String) - Constructor for class it.polimi.ingsw.am32.message.ClientToServer.RequestPlayerFieldMessage
+
+
Constructor: a message representing a request for the field of another player sent by a player.
+
+
requestReconnection() - Method in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
If the RMIClientNode is not alive or this method is called for more than one time before the termination + of the reset and reconnection process, the method will return immediately.
+
+
requestSelectSecretObjectiveCard() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method called by the processMessage after receiving confirmation from the server that the secret objective card was selected.
+
+
requestSelectSecretObjectiveCard() - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to request the player to select a secret objective card.
+
+
requestSelectSecretObjectiveCard() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
When the current event is SELECT_SECRET_OBJ_CARD, the method is called to request the player to select the secret + objective card they want to use.
+
+
requestSelectStarterCardSide(int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Support method used to prompt the user to select a starting card side
+
+
requestSelectStarterCardSide(int) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to request the player to select a side for the starter card.
+
+
requestSelectStarterCardSide(int) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Once the player receives the AssignedStarterCardMessage from the server, the method is called by processMessage + to request the player to select the side of the starter card they want to use.
+
+
resetConnection() - Method in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
tries infinitely to find the Registry and the RMIClientAcceptorInt on the server.
+
+
resetConnection() - Method in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Invoking this method will forcibly set the SKClientNode status to not alive.
+
+
resetSelectionPaneContext() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method called when needing to reset the selectionPane context.
+
+
resetTimeCounter() - Method in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
Reset the pong count to the maximum value if the RMIClientNode is alive.
+
+
resetTimeCounter() - Method in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Reset the pong count to the maximum value if the SKClientNode is alive.
+
+
resetTimeCounter() - Method in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
+
Reset the ping count to the maximum value if the server is alive.
+
+
resetTimeCounter() - Method in interface it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface
+
+
The invocation of this method will lead to the reset of the ping counter, i.e. bringing it back to maximum, + associated with the ServerNode.Ad
+
+
resetTimeCounter() - Method in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
+
Method that resets the ping counter to its maximum value if the SKServerNode is alive.
+
+
RESOURCE - Enum constant in enum class it.polimi.ingsw.am32.model.deck.utils.DeckType
+
+
The deck that contains the resource cards.
+
+
resourceCardDeckFacingKingdom - Variable in class it.polimi.ingsw.am32.client.View
+
+
The integer that stores the kingdom's type of the resource deck's facing card.
+
+
resourceCardDeckFacingKingdom - Variable in class it.polimi.ingsw.am32.message.ServerToClient.DeckSizeUpdateMessage
+
+
The resource card deck facing kingdom after the draw card action.
+
+
resourceCardDeckFacingKingdom - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
Integer that represents the kingdom of the card facing up in the resources deck.
+
+
resourceCardDeckSize - Variable in class it.polimi.ingsw.am32.message.ServerToClient.DeckSizeUpdateMessage
+
+
The size of the resource card deck after the draw card action.
+
+
resourceCardsDeck - Variable in class it.polimi.ingsw.am32.model.match.Match
+
+
Deck containing all the resource cards of the game.
+
+
resourceCornersConverter(CornerType, CornerType, CornerType, CornerType) - Static method in class it.polimi.ingsw.am32.model.field.Field
+
+
Converts the given corners to an array of integers (of size 7) containing the number of occurrences of the 7 + resources in the card corners. the array is order following the convention used for ObjectType
+
+
resourceDeckSize - Variable in class it.polimi.ingsw.am32.client.View
+
+
The integer that stores the size of the resource deck.
+
+
resourceDeckView - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
An array of ImageView objects containing the images of the cards in the resource deck.
+
+
resourceLabels - Variable in class it.polimi.ingsw.am32.client.view.gui.PlayerPubView
+
+
The array of Labels that display the player's resources in the fields with order: PLANT, FUNGI, ANIMAL, INSECT, + QUILL, INKWELL, MANUSCRIPT.
+
+
resources - Variable in class it.polimi.ingsw.am32.client.PlayerPub
+
+
The resources of the player in the field with order: PLANT, FUNGI, ANIMAL, INSECT, QUILL, INKWELL, MANUSCRIPT.
+
+
resourceSize - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The Label object that indicates the current size of the resource deck.
+
+
resourcesObtained(NonObjectiveCard, boolean) - Static method in class it.polimi.ingsw.am32.model.field.Field
+
+
Given the card and the side, return an array of integer where at each position (according to the attribute + value of the enumeration ObjectType) is inserted the number of resources gained if the card is placed
+
+
resourcesSize - Static variable in class it.polimi.ingsw.am32.model.field.Field
+
+
The number of resources in the game
+
+
ResponsePlayerFieldMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent to the player who requested the field of another player (used for testing only).
+
+
ResponsePlayerFieldMessage(String, String, ArrayList<int[]>, int[]) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.ResponsePlayerFieldMessage
+
+
The constructor of the class.
+
+
retrieveResourceURI(String) - Static method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method used to retrieve dynamically a resource URI from the correct context folder.
+
+
returnToMyField - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The Button object used to return to the player's field when the player are viewing the field of another player.
+
+
rmiClientAcceptor - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
RMIClientAcceptor - Class in it.polimi.ingsw.am32.network.ClientAcceptor
+
+
The class RMIClientAcceptor is the implementation of the RMI methods that the interface + RMIClientAcceptorInt expose to the clients.
+
+
RMIClientAcceptor() - Constructor for class it.polimi.ingsw.am32.network.ClientAcceptor.RMIClientAcceptor
+
+
Standard constructor of the class.
+
+
RMIClientAcceptorInt - Interface in it.polimi.ingsw.am32.network.ClientAcceptor
+
+
The interface RMIClientAcceptorInt exposes the RMI methods that a + RMIClientNode instance can invoke on the server when the client hasn't + joined yet a game.
+
+
RMIClientNode - Class in it.polimi.ingsw.am32.network.ClientNode
+
+
RMIClientNode is the class that manage the connection with the server.
+
+
RMIClientNode(View, String, int) - Constructor for class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
Standard constructor of the class.
+
+
RMIClientNodeInt - Interface in it.polimi.ingsw.am32.network.ClientNode
+
+
The interface RMIClientNodeInt exposes the RMI methods that a + RMIServerNode or RMIClientAcceptor + instance can invoke on the client.
+
+
rmiPort - Variable in class it.polimi.ingsw.am32.utilities.Configuration
+
 
+
RMIServerNode - Class in it.polimi.ingsw.am32.network.ServerNode
+
+
Each instance of class RMIServerNode handle une RMI connection with a client.
+ If, at some point, the connection were to go down, this instance while begin automatically a termination process
+
+
RMIServerNode(RMIClientNodeInt) - Constructor for class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
+
Standard constructor of the class
+
+
RMIServerNodeInt - Interface in it.polimi.ingsw.am32.network.ServerNode
+
+
The interface RMIServerNodeInt exposes the RMI methods that a + RMIClientNode instance can invoke on the server.
+
+
rollback() - Method in class it.polimi.ingsw.am32.model.field.Field
+
+
This method is used to roll back the last operation performed on the field.
+
+
RollbackException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception named RollbackException.
+
+
RollbackException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.RollbackException
+
+
Constructor for the RollbackException class.
+
+
rollbackMove() - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
This method is used to roll back the last move performed by the player.
+
+
rollbackPlacement() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Rollback the last placement of the current player.
+
+
rollbackPlacement() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
row - Variable in class it.polimi.ingsw.am32.message.ClientToServer.PlaceCardMessage
+
+
The row where the player wants to place the card
+
+
ruleBookImages - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The array of the images of the rule book of the game.
+
+
run() - Method in class it.polimi.ingsw.am32.client.listener.AskListener
+
+
The run method of the AskListener class.
+
+
run() - Method in class it.polimi.ingsw.am32.controller.EndMatchDueToDisconnectionTimerTask
+
+
This method is called when the timer task is executed.
+
+
run() - Method in class it.polimi.ingsw.am32.controller.VirtualView
+
+
The run method of the VirtualView class.
+
+
run() - Method in class it.polimi.ingsw.am32.network.ClientAcceptor.SKClientAcceptor
+
+
Invoking this method will lead to the creation of a ServerSocket that will wait for new incoming + connections.
+
+
run() - Method in class it.polimi.ingsw.am32.network.ClientNode.ClientPingTask
+
+
Invoke the method ClientNodeInterface.pongTimeOverdue() on the ClientNode stored in the object.
+
+
run() - Method in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Standard run method of the class.
+
+
run() - Method in class it.polimi.ingsw.am32.network.ServerNode.ServerPingTask
+
+
Invoke the method ServerNodeInterface.pingTimeOverdue() on the ServerNode stored in the object.
+
+
run() - Method in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
+
Method that starts the reading of the incoming messages from the input stream of the client.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-19.html b/deliverables/JavaDoc/index-files/index-19.html new file mode 100644 index 00000000..660f8f18 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-19.html @@ -0,0 +1,739 @@ + + + + +S-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

S

+
+
searchNonObjCardById(int) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Search the card description based on the ID of the card.
+
+
secObjOptions - Static variable in class it.polimi.ingsw.am32.model.player.Player
+
+
The number of cards that the player can choose as secret objective
+
+
secretObjCards - Variable in class it.polimi.ingsw.am32.client.View
+
+
The ArrayList that stores the secret objective cards' ID which should be selected by the player.
+
+
secretObjCardSelected - Variable in class it.polimi.ingsw.am32.client.View
+
+
The integer that stores the secret objective card ID selected by the player.
+
+
secretObjCardView - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The ImageView of the secret objective card selected by the player.
+
+
secretObjective - Variable in class it.polimi.ingsw.am32.model.player.Player
+
+
The secret objective of the player
+
+
SecretObjectiveCardException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when a secret objective card related error is encountered.
+
+
SecretObjectiveCardException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.SecretObjectiveCardException
+
+
Constructs a new SecretObjectiveCardException with the specified detail message.
+
+
secretObjectiveSelection(int) - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Search in the player hand for the card that has to be selected and saved as the secret objective
+
+
secrets - Variable in class it.polimi.ingsw.am32.message.ServerToClient.MatchWinnersMessage
+
+
The list of the secrets gained by the players.
+
+
SELECT_GAME_MODE - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player should choose a game mode.
+
+
SELECT_SECRET_OBJ_CARD - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player should select the secret objective card.
+
+
SELECT_SECRET_OBJ_CARD_FAILURE - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player has selected the secret objective card not successfully.
+
+
SELECT_STARTER_CARD_SIDE - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player should select the side of the starter card.
+
+
SELECT_STARTER_CARD_SIDE_FAILURE - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player has selected the side of the starter card not successfully.
+
+
SELECTED_SECRET_OBJ_CARD - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player has completed the selection of the secret objective card.
+
+
SELECTED_STARTER_CARD_SIDE - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player has completed the selection of the starter card side.
+
+
selectedCardId - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
ID of card selected for placement on the field by player.
+
+
SelectedSecretObjectiveCardMessage - Class in it.polimi.ingsw.am32.message.ClientToServer
+
+
This class is used to manage the message sent by the client when he wants to notify the server of his selection of a secret objective card.
+
+
SelectedSecretObjectiveCardMessage(String, int) - Constructor for class it.polimi.ingsw.am32.message.ClientToServer.SelectedSecretObjectiveCardMessage
+
+
Constructor: a message containing the nickname of the player who selected the secret objective card and the id + of the card selected.
+
+
SelectedStarterCardSideMessage - Class in it.polimi.ingsw.am32.message.ClientToServer
+
+
This class is used to manage the message sent by the client when he wants to notify the server of his selection of the side of the starter card.
+
+
SelectedStarterCardSideMessage(String, boolean) - Constructor for class it.polimi.ingsw.am32.message.ClientToServer.SelectedStarterCardSideMessage
+
+
Constructor: a message containing the nickname of the player who selected the side of the starter card and + the side selected.
+
+
selectionPane - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The root of the selection page, which is the page where the player can make a choice for the connection type, + the game mode and insert the data needed to create, join or reconnect to a game.
+
+
senderNickname - Variable in class it.polimi.ingsw.am32.chat.ChatMessage
+
 
+
senderNickname - Variable in class it.polimi.ingsw.am32.client.ChatMessage
+
 
+
senderNickname - Variable in class it.polimi.ingsw.am32.message.ClientToServer.AccessGameMessage
+
+
The nickname of the player who wants to join the game
+
+
senderNickname - Variable in class it.polimi.ingsw.am32.message.ClientToServer.DrawCardMessage
+
+
The nickname of the player who wants to draw a card
+
+
senderNickname - Variable in class it.polimi.ingsw.am32.message.ClientToServer.InboundChatMessage
+
+
The nickname of the player who wants to send the message
+
+
senderNickname - Variable in class it.polimi.ingsw.am32.message.ClientToServer.NewGameMessage
+
+
The nickname of the player that created the game
+
+
senderNickname - Variable in class it.polimi.ingsw.am32.message.ClientToServer.PingMessage
+
+
The nickname of the player who wants to ping the server
+
+
senderNickname - Variable in class it.polimi.ingsw.am32.message.ClientToServer.PlaceCardMessage
+
+
The nickname of the player who wants to place the card
+
+
senderNickname - Variable in class it.polimi.ingsw.am32.message.ClientToServer.ReconnectGameMessage
+
+
The nickname of the player who wants to reconnect to the game
+
+
senderNickname - Variable in class it.polimi.ingsw.am32.message.ClientToServer.RequestGameStatusMessage
+
+
The nickname of the player who wants to know the status of the game
+
+
senderNickname - Variable in class it.polimi.ingsw.am32.message.ClientToServer.RequestPlayerFieldMessage
+
+
The nickname of the player who wants to see the field of another player
+
+
senderNickname - Variable in class it.polimi.ingsw.am32.message.ClientToServer.SelectedSecretObjectiveCardMessage
+
+
The nickname of the player who selected the secret objective card
+
+
senderNickname - Variable in class it.polimi.ingsw.am32.message.ClientToServer.SelectedStarterCardSideMessage
+
+
The nickname of the player who wants to select the side of the starter card
+
+
senderNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.OutboundChatMessage
+
+
The nickname of the sender of the chat message.
+
+
sendGameStatus(String) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Method called when a message of type request game status is received.
+
+
sendPlayerField(String, String) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Method called when a message of type request player field is received.
+
+
Server - Class in it.polimi.ingsw.am32
+
+
The game server is started through the method Server.main(java.lang.String[]) included in this class.
+
+
Server(String[]) - Constructor for class it.polimi.ingsw.am32.Server
+
+
The Server class attempt to establish RMI and Socket connection acceptors.
+
+
serverIp - Variable in class it.polimi.ingsw.am32.utilities.Configuration
+
 
+
serverIpValidator(String, String) - Method in class it.polimi.ingsw.am32.utilities.Configuration
+
+
Verify that the given ip comply with ipv4 rules and in that case returns it.
+
+
serverNode - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
ServerNodeInterface - Interface in it.polimi.ingsw.am32.network.ServerNode
+
+
This ServerNodeInterface interface is used to identify all ServerNodes through which communication, with + clients, can happen.
+
+
serverPingTask - Variable in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
+
Variables used to verify and maintain active the connection with the client
+
+
serverPingTask - Variable in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
 
+
ServerPingTask - Class in it.polimi.ingsw.am32.network.ServerNode
+
+
The ServerPingTask class contains the pointer to a ServerNode, given when the object is instantiated.
+
+
ServerPingTask(ServerNodeInterface) - Constructor for class it.polimi.ingsw.am32.network.ServerNode.ServerPingTask
+
+
Standard constructor of the class.
+
+
service - Variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
The thread used to read the input of the player when it is not the player's turn
+
+
setActive(boolean) - Method in class it.polimi.ingsw.am32.client.view.gui.ChatArea
+
+
Sets the chat area to active or inactive.
+
+
setApp(GraphicalUIApplication) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Set the connection between the GUI and the GUIApplication.
+
+
setCardsReceived(ArrayList<Integer>, ArrayList<Integer>, ArrayList<Integer>) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Once the player receives the AssignedSecretObjectiveCardMessage from the server, the method is called by + processMessage to request the player to select the secret objective card they want to use.
+
+
setCardsReceived(ArrayList<Integer>, ArrayList<Integer>, ArrayList<Integer>) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to set the cards received by the server.
+
+
setCardsReceived(ArrayList<Integer>, ArrayList<Integer>, ArrayList<Integer>) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Once the player receives the AssignedSecretObjectiveCardMessage from the server, the method is called by + processMessage to request the player to select the secret objective card they want to use.
+
+
setColour(Colour) - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Assign a colour to the player if it doesn't have already one
+
+
setColour(Image) - Method in class it.polimi.ingsw.am32.client.view.gui.PlayerPubView
+
+
The setter method for the ImageView that displays the player's colour
+
+
setConnected(boolean) - Method in class it.polimi.ingsw.am32.controller.PlayerQuadruple
+
+
Sets the player's connection status.
+
+
setGameController(GameController) - Method in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
+
Set the GameController associated with this RMIServerNode.
+
+
setGameView() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Set the view of the game once the game enters the playing phase.
+
+
setImg() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Set the image of the card based on the card description, the view of the card in TUI.
+
+
setLastTurn() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Sets the match status flag to LAST_TURN.
+
+
setLastTurn() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
setLogLevelAndConfigure(Level) - Static method in class it.polimi.ingsw.am32.utilities.Log4J2ConfiguratorWrapper
+
+
Sets the log level and configures the logger.
+
+
setNextPlayer(Optional<String>) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Sets the current player, skipping over any disconnected players.
+
+
setNickname(String) - Method in class it.polimi.ingsw.am32.client.view.gui.PlayerPubView
+
+
The setter method for the player's nickname
+
+
setNode(ServerNodeInterface) - Method in class it.polimi.ingsw.am32.controller.PlayerQuadruple
+
+
Sets the node associated with the player.
+
+
setNonObjCardArray() - Static method in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
+
This method is used to create the cards from the JSON file.
+
+
setObjectiveCardArray() - Static method in class it.polimi.ingsw.am32.client.ObjectiveCardFactory
+
+
This method is used to create the cards from the JSON file.
+
+
setPoints(int) - Method in class it.polimi.ingsw.am32.client.view.gui.PlayerPubView
+
+
The setter method for the player's points
+
+
setPoints(int) - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Setter
+
+
setResourceLabels(int[]) - Method in class it.polimi.ingsw.am32.client.view.gui.PlayerPubView
+
+
The setter method for the player's resources
+
+
setRMIClient(String, int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Set the RMI connection between the client and the server.
+
+
setRMIClient(String, int) - Method in class it.polimi.ingsw.am32.client.View
+
+
This method is used to set up an RMI client with the specified server IP and port.
+
+
setRMIClient(String, int) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method that sets the RMI client with the server URL entered by the player and attempts to establish the + connection between the client and the server.
+
+
setSocketClient(String, int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Set the socket connection between the client and the server.
+
+
setSocketClient(String, int) - Method in class it.polimi.ingsw.am32.client.View
+
+
This method is used to set up a socket client with the specified server IP and port.
+
+
setSocketClient(String, int) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method that sets the socket client with the server IP and the server port entered by the player and attempts to + establish the connection between the client and the server.
+
+
setStarterCard(int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Called when the player receives the starting card id from the server.
+
+
setStarterCard(int) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to set the starter card ID.
+
+
setStarterCard(int) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method that save the ID of the starter card received from the server.
+
+
setTerminating() - Method in class it.polimi.ingsw.am32.controller.VirtualView
+
+
Method used to terminate the thread running the VirtualView.
+
+
setTerminating() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Sets the match status flag to TERMINATING.
+
+
setTerminating() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
setupInitialCardSideSelectionArea(int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Generates the selection area for the initial card side selection.
+
+
setUpPlayersData() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
After receiving the GameStarted message from the server, the method is called to set up the view of the players, + to load the images which will be used to set up the game view, to set up the player's data and call the method + setGameView to set the view of the game in the preparation phase.
+
+
setUpPlayersData() - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to set up the player's data once the game is started entering the preparation phase.
+
+
setUpPlayersData() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
After receiving the GameStarted message from the server, the method is called to set up the view of the player + and initialize the data and the boards of the players.
+
+
setupSecretObjectiveCardSelectionArea(int, int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Generates the selection area for the secret objective card selection.
+
+
showBoard(String) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Print the zone of the board where the player placed his cards and the available positions for the next + placement.
+
+
showCard(int, boolean) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method to show the image of the card in the GUI with the specified ID and side.
+
+
showCard(int, boolean) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to show a specific card with the given ID and side.
+
+
showCard(int, boolean) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Print a card based on the ID of the card and the side of the card.
+
+
showChatHistory(List<ChatMessage>) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Used to print out the entire chat history when the player reconnects to the game.
+
+
showChatHistory(List<ChatMessage>) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to show the chat history of the player.
+
+
showChatHistory(List<ChatMessage>) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method to print out the chat history of the player.
+
+
showDeck() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method to handle effect when deck label is clicked
+
+
showDeck() - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to show the deck.
+
+
showDeck() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Print the deck size and the current visible resource cards and gold cards in the game.
+
+
showHand() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method to show the hand of the player in the GUI adding the highlight effect on the cards in the hand.
+
+
showHand() - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to show the cards in player's hand.
+
+
showHand() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Print the cards in the hand of the player.
+
+
showHelpInfo() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Used to display help information when help button is clicked during the game
+
+
showHelpInfo() - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to show the useful information of the game to the player.
+
+
showHelpInfo() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Print the list of commands that the player can use in the service mode.
+
+
showMatchWinners(ArrayList<String>, ArrayList<Integer>, ArrayList<Integer>, ArrayList<Integer>, ArrayList<String>) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Used to display the winners of the game and the final points of the players after the game has ended.
+
+
showMatchWinners(ArrayList<String>, ArrayList<Integer>, ArrayList<Integer>, ArrayList<Integer>, ArrayList<String>) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to show the winners and the final points of the players when the match ends.
+
+
showMatchWinners(ArrayList<String>, ArrayList<Integer>, ArrayList<Integer>, ArrayList<Integer>, ArrayList<String>) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Print at the end of the match the final points of the players, the secret objective card of the players, and the + points gained from the objective card.
+
+
showObjectiveCards(ArrayList<Integer>) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Print the objective cards.
+
+
showPlayerInGame() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Print list of the players in the game.
+
+
showPlayersField(String) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method used to show the field of the player whose nickname is passed as a parameter.
+
+
showPlayersField(String) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to show the field of a player.
+
+
showPlayersField(String) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Print the board view and the resources in the field of the given player.
+
+
showPointsAndResource(String) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method used to make the highlight effect on the player's points and resources when the player's turn is now or + the match status is TERMINATING.
+
+
showPointsAndResource(String) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to show the points and resources of a player.
+
+
showPointsAndResource(String) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Print the resources in the field of the player.
+
+
showRuleBook() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Set up the rule book of the game.
+
+
showWelcome() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Set up the welcome page of the GUI, which contains the welcome image and the button to show the rule book.
+
+
showWelcome() - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to display the welcome message to the player.
+
+
showWelcome() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method that prints the welcome message and link to the game rules.
+
+
shuffle() - Method in class it.polimi.ingsw.am32.model.deck.CardDeck
+
+
Randomly rearranges the cards.
+
+
shuffle() - Method in class it.polimi.ingsw.am32.model.deck.NonObjectiveCardDeck
+
+
Randomly rearranges the cards.
+
+
side - Variable in record class it.polimi.ingsw.am32.client.CardPlacedView
+
+
The field for the side record component.
+
+
side - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ConfirmStarterCardSideSelectionMessage
+
+
The side of the starter card selected by the player.
+
+
side() - Method in record class it.polimi.ingsw.am32.client.CardPlacedView
+
+
Returns the value of the side record component.
+
+
SKClientAcceptor - Class in it.polimi.ingsw.am32.network.ClientAcceptor
+
+
The class SKClientAcceptor manages the new requests of connection to the server by the clients using socket + as network protocol.
+
+
SKClientAcceptor() - Constructor for class it.polimi.ingsw.am32.network.ClientAcceptor.SKClientAcceptor
+
 
+
SKClientNode - Class in it.polimi.ingsw.am32.network.ClientNode
+
+
SKClientNode is the class that manage the connection with the server.
+
+
SKClientNode(View, String, int) - Constructor for class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Standard constructor of the class.
+
+
SKServerNode - Class in it.polimi.ingsw.am32.network.ServerNode
+
+
Each instance of class SKServerNode handles a socket connection with a client.
+
+
SKServerNode(Socket) - Constructor for class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
+
Standard constructor of the class.
+
+
socket - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Variables used to communicate with the server
+
+
socket - Variable in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
+
Variables used to communicate with the client
+
+
socketPort - Variable in class it.polimi.ingsw.am32.utilities.Configuration
+
 
+
socketReadTimeout - Variable in class it.polimi.ingsw.am32.utilities.Configuration
+
 
+
SOCKETTIMEOUT - Static variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
 
+
start() - Method in class it.polimi.ingsw.am32.Server
+
+
This method start the Server which will try to create the classes SKClientAcceptor and + RMIClientAcceptor used for handling new connections
+
+
start(Stage) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUIApplication
+
+
The start method override as required by the Application class: + it sets the primary stage of the application, the title, the minimum height and width, the scene and + the close request event when the user closes the application.
+
+
startCard - Variable in class it.polimi.ingsw.am32.client.View
+
+
The integer that represents the starting card ID of the player.
+
+
startChatting() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Used to active chat area, once big boy message is received from the server.
+
+
startChatting() - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to start a chat mode.
+
+
startChatting() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method called when player opens chat from getInput method.
+
+
startConnection() - Method in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
Start the connection with the server.
+
+
startConnection() - Method in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Start the connection.
+
+
STARTERCARD - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Unicode integer used to represent the icon of the starter card's color
+
+
starterCardsDeck - Variable in class it.polimi.ingsw.am32.model.match.Match
+
+
Deck containing all the starter cards of the game.
+
+
STARTING - Enum constant in enum class it.polimi.ingsw.am32.model.deck.utils.DeckType
+
+
The deck that contains the starting cards.
+
+
startingCardId - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ConfirmStarterCardSideSelectionMessage
+
+
The id of the starter card assigned to the player.
+
+
startRMIServer() - Method in class it.polimi.ingsw.am32.Server
+
+
This method is used to expose to the outside an invokable RMI interface.
+
+
startSocketServer() - Method in class it.polimi.ingsw.am32.Server
+
+
This method is used to expose to the outside a socket to accept incoming connections.
+
+
startTurns() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Resets current turn number to 1 and sets current player to the first player.
+
+
startTurns() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
status - Variable in class it.polimi.ingsw.am32.controller.GameController
+
+
status: The status of the game controller
+
+
Status - Variable in class it.polimi.ingsw.am32.client.View
+
+
The Event object that stores the status of the game.
+
+
statusIsAlive - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
Variables used to manage the state of the connection and the instance
+
+
statusIsAlive - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Variables used to manage the state of the connection and the instance
+
+
statusIsAlive - Variable in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
+
Variables used to manage the state of the connection and the instance
+
+
statusIsAlive - Variable in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
+
Variables used to manage the state of the connection and the instance
+
+
STOCLOBBYMESSAGE_SENT_BUT_GAMECONTROLLER_ALREADY_PRESENT - Enum constant in enum class it.polimi.ingsw.am32.network.exceptions.ErrorMessageCode
+
+
StoCLobbyMessage sent but GameController already present.
+
+
StoCMessage - Interface in it.polimi.ingsw.am32.message.ServerToClient
+
+
This interface represents a message from the server to the client.
+
+
STOCMESSAGE_SENT_BEFORE_STOCLOBBYMESSAGE - Enum constant in enum class it.polimi.ingsw.am32.network.exceptions.ErrorMessageCode
+
+
StoCMessage sent before StoCLobbyMessage.
+
+
stoCProcessingLock - Variable in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
 
+
stoCProcessingLock - Variable in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
 
+
sToCProcessingLock - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
sToCProcessingLock - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
 
+
stringsToPointStrategy(String, String, int, boolean) - Method in class it.polimi.ingsw.am32.model.deck.ObjectsBuilder
+
+
Converts the attributes extracted from the JSON to a usable PointStrategy object.
+
+
stringToCornerType(String) - Method in class it.polimi.ingsw.am32.model.deck.ObjectsBuilder
+
+
Converts a string to its corresponding CornerType enum value.
+
+
stringToObjectType(String) - Method in class it.polimi.ingsw.am32.model.deck.ObjectsBuilder
+
+
Converts a string to its corresponding ObjectType enum value.
+
+
stuckTurnFlag - Variable in class it.polimi.ingsw.am32.controller.GameController
+
+
stuckTurnFlag: A flag that indicates whether the game is stuck due to a player being lonely in the game and having terminated his turn
+
+
submissionArea - Variable in class it.polimi.ingsw.am32.client.view.gui.ChatArea
+
+
An object representing the area where the user can input messages.
+
+
submitButton - Variable in class it.polimi.ingsw.am32.client.view.gui.ChatArea
+
+
An object representing the button that submits the message
+
+
submitChatMessage() - Method in class it.polimi.ingsw.am32.client.view.gui.ChatArea
+
+
Submits a message to the chat area, and send it to the appropriate player.
+
+
submitChatMessage(ChatMessage) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Submits a chat message to the chat history.
+
+
submitVirtualViewMessage(StoCMessage) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Assigns a new message to be delivered to the VirtualView of a given client.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-2.html b/deliverables/JavaDoc/index-files/index-2.html new file mode 100644 index 00000000..92f754c2 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-2.html @@ -0,0 +1,117 @@ + + + + +B-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

B

+
+
backupMatchStatus - Variable in class it.polimi.ingsw.am32.model.match.Match
+
+
Backup of matchStatus used for the rollback functionality.
+
+
BLACK - Enum constant in enum class it.polimi.ingsw.am32.model.player.Colour
+
+
Represents the black color that a player can identify with and is associated with value 4.
+
+
BLANK - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
The string of space used to represent the blank space in the board
+
+
BLUE - Enum constant in enum class it.polimi.ingsw.am32.model.player.Colour
+
+
Represents the blue color that a player can identify with and is associated with value 2.
+
+
board - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The ScrollPane object containing the stack pane as the content of the board area.
+
+
board - Variable in class it.polimi.ingsw.am32.client.view.tui.BoardView
+
+
Used to create the board that is printed on the terminal and store the information of the board.
+
+
boards - Variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Contains the boards of all players in the game
+
+
BoardView - Class in it.polimi.ingsw.am32.client.view.tui
+
+
This class is used to store the components of the board that are used to display the board in the terminal.
+
+
BoardView(int[], String[][]) - Constructor for class it.polimi.ingsw.am32.client.view.tui.BoardView
+
+
The constructor of the class that initializes the board view with the given parameters.
+
+
bottomLeft - Variable in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Stores the type of resource displayed on the corner of the card.
+
+
bottomLeftBack - Variable in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Stores the type of resource displayed on the corner of the card.
+
+
bottomRight - Variable in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Stores the type of resource displayed on the corner of the card.
+
+
bottomRightBack - Variable in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Stores the type of resource displayed on the corner of the card.
+
+
buildCardDeck(DeckType) - Method in class it.polimi.ingsw.am32.model.deck.CardDeckBuilder
+
+
Builds a deck of Cards of the specified type.
+
+
buildNonObjectiveCardDeck(DeckType) - Method in class it.polimi.ingsw.am32.model.deck.NonObjectiveCardDeckBuilder
+
+
Builds a deck of NonObjectiveCards of the specified type.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-20.html b/deliverables/JavaDoc/index-files/index-20.html new file mode 100644 index 00000000..3a70932e --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-20.html @@ -0,0 +1,320 @@ + + + + +T-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

T

+
+
TERMINATED - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Identifiers for the game terminated phase: when the game is over and the final scores are displayed.
+
+
TERMINATED - Enum constant in enum class it.polimi.ingsw.am32.model.match.MatchStatus
+
+
The match is in the terminated state, the game has ended.
+
+
terminating - Variable in class it.polimi.ingsw.am32.controller.VirtualView
+
+
A boolean that indicates if the VirtualView is terminating.
+
+
TERMINATING - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Identifiers for the terminating phase: when one of the players has gained 20 points or more.
+
+
TERMINATING - Enum constant in enum class it.polimi.ingsw.am32.model.match.MatchStatus
+
+
The match is in the terminating state, the game is about to end.
+
+
TextUI - Class in it.polimi.ingsw.am32.client.view.tui
+
+
Class TextUI is a one of the two User Interface of the game that allows the player to interact with the game, which + is a text-based interface.
+
+
TextUI() - Constructor for class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Constructor of the class TextUI
+
+
thisPlayerNickname - Variable in class it.polimi.ingsw.am32.client.View
+
+
The nickname of the player who is using the client.
+
+
THREADSLEEPINTERVAL - Static variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
THREADSLEEPINTERVAL - Static variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
 
+
timer - Variable in class it.polimi.ingsw.am32.controller.GameController
+
+
timer: The timer of the game
+
+
timer - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
Variables used to verify and maintain active the connection with the server
+
+
timer - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
 
+
tmpSecretObj - Variable in class it.polimi.ingsw.am32.model.player.Player
+
+
The two cards that the player can choose as secret objective
+
+
toArray() - Method in class it.polimi.ingsw.am32.chat.ChatMessage
+
+
Convert the message to an Array of 4 Strings representing the message.
+
+
topLeft - Variable in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Stores the type of resource displayed on the corner of the card.
+
+
topLeftBack - Variable in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Stores the type of resource displayed on the corner of the card.
+
+
topRight - Variable in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Stores the type of resource displayed on the corner of the card.
+
+
topRightBack - Variable in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Stores the type of resource displayed on the corner of the card.
+
+
toString() - Method in class it.polimi.ingsw.am32.chat.ChatMessage
+
 
+
toString() - Method in record class it.polimi.ingsw.am32.client.CardPlacedView
+
+
Returns a string representation of this record class.
+
+
toString() - Method in class it.polimi.ingsw.am32.client.ChatMessage
+
 
+
toString() - Method in class it.polimi.ingsw.am32.message.ClientToServer.AccessGameMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in interface it.polimi.ingsw.am32.message.ClientToServer.CtoSLobbyMessage
+
+
This method provides a string representation of a message object, which can be useful for debugging purposes.
+
+
toString() - Method in interface it.polimi.ingsw.am32.message.ClientToServer.CtoSMessage
+
+
This method provides a string representation of a message object, which can be useful for debugging purposes.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ClientToServer.DrawCardMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ClientToServer.InboundChatMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ClientToServer.NewGameMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ClientToServer.PingMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ClientToServer.PlaceCardMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ClientToServer.ReconnectGameMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ClientToServer.RequestGameStatusMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ClientToServer.RequestPlayerFieldMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ClientToServer.SelectedSecretObjectiveCardMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ClientToServer.SelectedStarterCardSideMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.AccessGameConfirmMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.AssignedSecretObjectiveCardMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.AssignedStarterCardMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.ConfirmSelectedSecretObjectiveCardMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.ConfirmStarterCardSideSelectionMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.DeckSizeUpdateMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.DrawCardConfirmationMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.DrawCardFailedMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.ErrorMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.GameStartedMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.InvalidInboundChatMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.InvalidSelectedSecretObjectiveCardMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.InvalidStarterCardSideSelectionMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.LobbyPlayerListMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.MatchStatusMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.MatchWinnersMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.NegativeResponsePlayerFieldMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.NewGameConfirmationMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.OutboundChatMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardConfirmationMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardFailedMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardRollbackMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlayerConnectedMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlayerDisconnectMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlayerReconnectedMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlayerTurnMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PongMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.ReconnectGameConfirmMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in class it.polimi.ingsw.am32.message.ServerToClient.ResponsePlayerFieldMessage
+
+
This method overrides the default toString method.
+
+
toString() - Method in interface it.polimi.ingsw.am32.message.ServerToClient.StoCMessage
+
+
This method provides a string representation of a message object, which can be useful for debugging purposes.
+
+
type - Variable in class it.polimi.ingsw.am32.model.card.pointstrategy.CountResource
+
+
type: the kingdom required by the objective card or the type of object required by the gold card.
+
+
type - Variable in class it.polimi.ingsw.am32.model.card.pointstrategy.Diagonals
+
+
type: the kingdom requested by objective card.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-21.html b/deliverables/JavaDoc/index-files/index-21.html new file mode 100644 index 00000000..8ac5f970 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-21.html @@ -0,0 +1,349 @@ + + + + +U-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

U

+
+
UninitializedException - Exception Class in it.polimi.ingsw.am32.network.exceptions
+
+
A simple Exception that extends Throwable and add nothing else.
+
+
UninitializedException() - Constructor for exception class it.polimi.ingsw.am32.network.exceptions.UninitializedException
+
 
+
updateAfterDrawCard(ArrayList<Integer>) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method called by the processMessage after receiving confirmation from the server that the card was drawn successfully.
+
+
updateAfterDrawCard(ArrayList<Integer>) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Once the player receives the DrawCardConfirmationMessage from the server, the method is called by processMessage + to update the hand of the player and print the message to notify the player that the card is added in the hand + successfully.
+
+
updateAfterDrawCard(ArrayList<Integer>) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to update the player's hand after drawing a card.
+
+
updateAfterPlacedCard(String, int, int, int, boolean, ArrayList<int[]>, int[], int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Updates the player's data after a card has been placed.
+
+
updateAfterPlacedCard(String, int, int, int, boolean, ArrayList<int[]>, int[], int) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Once received the PlacedCardConfirmationMessage from the server, the method is called by processMessage to store + the card information, update the board of the player.
+
+
updateAfterPlacedCard(String, int, int, int, boolean, ArrayList<int[]>, int[], int) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to update the player's field after placing a card.
+
+
updateBoardViewLimits(int, int, int[]) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Used method to update the dimensions of the player's board view after placing a card on the board.
+
+
updateChat(String, String, String) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Called when a chat message is received from the server.
+
+
updateChat(String, String, String) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method used to update the chat history of the player when a new message is received, add the message to the chat + history and print the chat history if the player is in the chat mode.
+
+
updateChat(String, String, String) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to update the chat history when receiving a new chat message.
+
+
updateColour(String) - Method in class it.polimi.ingsw.am32.client.PlayerPub
+
+
The setter method for the colour of the player to update the colour of the player.
+
+
updateConfirmSelectedSecretCard(int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method called by the processMessage after receiving confirmation from the server that the secret objective card was selected.
+
+
updateConfirmSelectedSecretCard(int) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Once received the SecretObjCardConfirmationMessage from the server, the method is called by processMessage to + update the view of the player and print the message to notify the player that the secret objective card is selected
+
+
updateConfirmSelectedSecretCard(int) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to save the player's secret objective card after selecting a secret objective card.
+
+
updateConfirmStarterCard(int, int, boolean, ArrayList<int[]>, int[]) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method called by the processMessage after receiving confirmation from the server that the starter card side was selected.
+
+
updateConfirmStarterCard(int, int, boolean, ArrayList<int[]>, int[]) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Once received the ConfirmedStarterCardSideSelectionMessage from the server, the method is called by processMessage to + update the view of the player and print the message to notify the player that the starter card is selected.
+
+
updateConfirmStarterCard(int, int, boolean, ArrayList<int[]>, int[]) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to place the starter card on the field, update the information of the player's field + after placing the starter card, and set the player's colour.
+
+
updateCurrentEvent(Event) - Method in class it.polimi.ingsw.am32.client.View
+
+
This method is used to update the current event with the new event.
+
+
updateDeck(int, int, int[], int[], int, int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Used to update the decks after a player has drawn a card
+
+
updateDeck(int, int, int[], int[], int, int) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Once the player receives the DeckSizeUpdateMessage from the server, the method is called by processMessage to + update the deck size and the current visible resource cards and gold cards in the game.
+
+
updateDeck(int, int, int[], int[], int, int) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to update the deck after drawing a card.
+
+
updateMatchStatus(int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Once the player receives the MatchStatus message from the server, the method is called by processMessage to + update the match status of the player, and update the player of the current match status.
+
+
updateMatchStatus(int) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Once the player receives the MatchStatus message from the server, the method is called by processMessage to + update the match status of the player, and print the message to notify the player of the current match status.
+
+
updateMatchStatus(int) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to update the status of the match when the match status is changed.
+
+
updateNewGameConfirm(int, String) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Once the player receives the NewGameConfirmationMessage from the server, the method is called by processMessage + to store the gameID, the nickname of the player who created the game, and add it in the list of players.
+
+
updateNewGameConfirm(int, String) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Once the player receives the NewGameConfirmationMessage from the server, the method is called by processMessage + to store the gameID, the nickname of the player who created the game, and add it in the list of players.
+
+
updateNewGameConfirm(int, String) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to update the game ID and the recipient's nickname after a new game is confirmed.
+
+
updateOnline(boolean) - Method in class it.polimi.ingsw.am32.client.PlayerPub
+
+
The setter method for the boolean value that indicates if the player is online or offline.
+
+
updatePlacedCardConfirm(String, int, int[], boolean, int, int[], ArrayList<int[]>) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method called by the processMessage to update the player's field after receiving confirmation from the server that the card placement was successful.
+
+
updatePlacedCardConfirm(String, int, int[], boolean, int, int[], ArrayList<int[]>) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Once the player receives the PlacedCardConfirmationMessage from the server, the method is called by processMessage + to store the card information, update the board of the player.
+
+
updatePlacedCardConfirm(String, int, int[], boolean, int, int[], ArrayList<int[]>) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to update the field of the player when receiving a confirmation message from + the server.
+
+
updatePlayerData(ArrayList<String>, ArrayList<Boolean>, ArrayList<Integer>, ArrayList<Integer>, int, int[], ArrayList<ArrayList<int[]>>, int[], ArrayList<Integer>, ArrayList<Integer>, ArrayList<Integer>, int, int, int, ArrayList<String[]>, String, ArrayList<int[]>, int, int, ArrayList<int[]>, ArrayList<Integer>, int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
This method is called by processMessage to update the all data of the players in the game when the game enters + the playing phase or when the player reconnects to the game.
+
+
updatePlayerData(ArrayList<String>, ArrayList<Boolean>, ArrayList<Integer>, ArrayList<Integer>, int, int[], ArrayList<ArrayList<int[]>>, int[], ArrayList<Integer>, ArrayList<Integer>, ArrayList<Integer>, int, int, int, ArrayList<String[]>, String, ArrayList<int[]>, int, int, ArrayList<int[]>, ArrayList<Integer>, int) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
This method is called by processMessage to update the all data of the players in the game when the game enters + the playing phase or when the player reconnects to the game.
+
+
updatePlayerData(ArrayList<String>, ArrayList<Boolean>, ArrayList<Integer>, ArrayList<Integer>, int, int[], ArrayList<ArrayList<int[]>>, int[], ArrayList<Integer>, ArrayList<Integer>, ArrayList<Integer>, int, int, int, ArrayList<String[]>, String, ArrayList<int[]>, int, int, ArrayList<int[]>, ArrayList<Integer>, int) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to update the player's data when the game enters the preparation phase or the player + reconnects to the game.
+
+
updatePlayerList(ArrayList<String>) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Once the player receives the LobbyPlayerList message from the server, the method is called by + processMessage, to update the player's list in the Lobby phase and print the player's list updated.
+
+
updatePlayerList(ArrayList<String>) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Once the player receives the LobbyPlayerList message from the server, the method is called by + processMessage, to update the player's list in the Lobby phase and print the player's list updated.
+
+
updatePlayerList(ArrayList<String>) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to update the list of players in the lobby.
+
+
updatePlayerTurn(String) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Once the player receives the PlayerTurnMessage from the server, the method is called by processMessage to update + the currentPlayer in the game and print the message to notify the player whose turn is now, also, the method + notifies players the order of the turn in the game.
+
+
updatePlayerTurn(String) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Once the player receives the PlayerTurnMessage from the server, the method is called by processMessage to update + the currentPlayer in the game and print the message to notify the player whose turn is now, also, the method + notifies players the order of the turn in the game.
+
+
updatePlayerTurn(String) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to update the current player after the player's turn is changed.
+
+
updatePoints(int) - Method in class it.polimi.ingsw.am32.client.PlayerPub
+
+
Update the points of the player with the points updated received from the message.
+
+
updatePointsForObjectives(Card[]) - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Use the given cards to calculate the extra points that the player gains from the common objectives and add them + to the current personal points
+
+
updatePointsForSecretObjective() - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Calculate the points gained by the player for the secret objective and add them to his current points
+
+
updateResources(int[]) - Method in class it.polimi.ingsw.am32.client.PlayerPub
+
+
update the resources of the player with the new resources received from the message.
+
+
updateRollback(String, int, int, int[]) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method used to update the player's board and public info when the player disconnects from the game after the + placement of the card.
+
+
updateRollback(String, int, int, int[]) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
The Method used to update the player's board and public info when the player disconnects from the game after the + placement of the card.
+
+
updateRollback(String, int, int, int[]) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to remove the card from the player's field when the player is disconnected before + the draw card.
+
+
updateScene(Parent, int, int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUIApplication
+
+
The method that updates the scene of the primary stage by setting a new scene.
+
+
uploadCtoS(CtoSMessage) - Method in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
+
Send a CtoSMessage to the RMIServerNode.
+
+
uploadCtoS(CtoSMessage) - Method in interface it.polimi.ingsw.am32.network.ServerNode.RMIServerNodeInt
+
+
The server will process the message according to its content.
+
+
UploadFailureException - Exception Class in it.polimi.ingsw.am32.network.exceptions
+
+
A simple Exception that extends Throwable and add nothing else.
+
+
UploadFailureException() - Constructor for exception class it.polimi.ingsw.am32.network.exceptions.UploadFailureException
+
 
+
uploadStoC(StoCMessage) - Method in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
If the RMIClientNode is not alive, the method will return immediately.
+
+
uploadStoC(StoCMessage) - Method in interface it.polimi.ingsw.am32.network.ClientNode.RMIClientNodeInt
+
+
The client will process the message according to its content.
+
+
uploadToClient(StoCMessage) - Method in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
+
Send a StoCMessage to the client.
+
+
uploadToClient(StoCMessage) - Method in interface it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface
+
+
Send a StoCMessage to the client that will process it.
+
+
uploadToClient(StoCMessage) - Method in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
+
Method that sends a StoCMessage to the client.
+
+
uploadToServer(CtoSLobbyMessage) - Method in interface it.polimi.ingsw.am32.network.ClientNode.ClientNodeInterface
+
+
Send a CtoSLobbyMessage to the server that will process it.
+
+
uploadToServer(CtoSLobbyMessage) - Method in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
Check if the RMIClientNode is not alive or if the RMIClientNode is not in a pre-game state.
+
+
uploadToServer(CtoSLobbyMessage) - Method in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Send a CtoSLobbyMessage to the server.
+
+
uploadToServer(CtoSMessage) - Method in interface it.polimi.ingsw.am32.network.ClientNode.ClientNodeInterface
+
+
Send a CtoSMessage to the server that will process it.
+
+
uploadToServer(CtoSMessage) - Method in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
Check if the RMIClientNode is not alive or if the RMIClientNode is in pre-game state.
+
+
uploadToServer(CtoSMessage) - Method in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Send a CtoSMessage to the server.
+
+
uploadToServer(RMIClientNodeInt, CtoSLobbyMessage) - Method in class it.polimi.ingsw.am32.network.ClientAcceptor.RMIClientAcceptor
+
+
Invoking this method will result in the server using the content of the message to either create a new game and + add the sender as its first player or make him join an already existing one.
+
+
uploadToServer(RMIClientNodeInt, CtoSLobbyMessage) - Method in interface it.polimi.ingsw.am32.network.ClientAcceptor.RMIClientAcceptorInt
+
+
The server will process the message according to its content.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-22.html b/deliverables/JavaDoc/index-files/index-22.html new file mode 100644 index 00000000..4cf4ef8d --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-22.html @@ -0,0 +1,210 @@ + + + + +V-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

V

+
+
value - Variable in enum class it.polimi.ingsw.am32.client.Event
+
+
The integer value associated with the event.
+
+
value - Variable in enum class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration
+
+
The integer value associated with each state.
+
+
value - Variable in enum class it.polimi.ingsw.am32.controller.GameControllerStatus
+
+
The integer value associated with the state.
+
+
value - Variable in class it.polimi.ingsw.am32.model.card.Card
+
+
value: Value of card from zero to five points.
+
+
value - Variable in enum class it.polimi.ingsw.am32.model.card.CornerType
+
+
The integer value associated with the corner type.
+
+
value - Variable in enum class it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType
+
+
The integer value associated with the object type.
+
+
value - Variable in enum class it.polimi.ingsw.am32.model.match.MatchStatus
+
+
The integer value associated with the state.
+
+
value - Variable in enum class it.polimi.ingsw.am32.model.player.Colour
+
+
The unique integer value associated with the color.
+
+
Value - Variable in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
Value - Variable in class it.polimi.ingsw.am32.client.ObjectiveCardFactory
+
 
+
valueOf(String) - Static method in enum class it.polimi.ingsw.am32.client.Event
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class it.polimi.ingsw.am32.controller.GameControllerStatus
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class it.polimi.ingsw.am32.model.card.CornerType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class it.polimi.ingsw.am32.model.deck.utils.DeckType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class it.polimi.ingsw.am32.model.match.MatchStatus
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class it.polimi.ingsw.am32.model.player.Colour
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class it.polimi.ingsw.am32.network.exceptions.ErrorMessageCode
+
+
Returns the enum constant of this class with the specified name.
+
+
values() - Static method in enum class it.polimi.ingsw.am32.client.Event
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class it.polimi.ingsw.am32.controller.GameControllerStatus
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class it.polimi.ingsw.am32.model.card.CornerType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class it.polimi.ingsw.am32.model.deck.utils.DeckType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class it.polimi.ingsw.am32.model.match.MatchStatus
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class it.polimi.ingsw.am32.model.player.Colour
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class it.polimi.ingsw.am32.network.exceptions.ErrorMessageCode
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
view - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
Variables used to communicate with the view
+
+
view - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Variables used to communicate with the view
+
+
View - Class in it.polimi.ingsw.am32.client
+
+
The View class is an abstract class that serves as a template for the views of the client.
+
+
View() - Constructor for class it.polimi.ingsw.am32.client.View
+
+
The constructor of the class that initializes the view with the default values.
+
+
virtualView - Variable in class it.polimi.ingsw.am32.controller.PlayerQuadruple
+
 
+
VirtualView - Class in it.polimi.ingsw.am32.controller
+
+
Used to manage the messages that are sent to the client.
+
+
VirtualView(ServerNodeInterface) - Constructor for class it.polimi.ingsw.am32.controller.VirtualView
+
+
Constructor for the VirtualView class.
+
+
VirtualViewInterface - Interface in it.polimi.ingsw.am32.controller
+
 
+
VirtualViewNotFoundException - Exception Class in it.polimi.ingsw.am32.controller.exceptions
+
+
Represents an exception that is thrown when a listener is not found
+
+
VirtualViewNotFoundException(String) - Constructor for exception class it.polimi.ingsw.am32.controller.exceptions.VirtualViewNotFoundException
+
+
Constructor
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-23.html b/deliverables/JavaDoc/index-files/index-23.html new file mode 100644 index 00000000..4771b168 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-23.html @@ -0,0 +1,107 @@ + + + + +W-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

W

+
+
WAITING_CARD_DRAW - Enum constant in enum class it.polimi.ingsw.am32.controller.GameControllerStatus
+
+
The game controller is waiting for the current player to draw a card from the deck.
+
+
WAITING_CARD_PLACEMENT - Enum constant in enum class it.polimi.ingsw.am32.controller.GameControllerStatus
+
+
The game controller is waiting for the current player to place a card on the board.
+
+
WAITING_FOR_START - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the game is waiting for the start of the game, waiting for all players to join.
+
+
WAITING_FOR_TURN - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player is waiting for his turn to place a card on the field or the player is waiting for the + start of playing phase.
+
+
WAITING_SECRET_OBJECTIVE_CARD_CHOICE - Enum constant in enum class it.polimi.ingsw.am32.controller.GameControllerStatus
+
+
The game controller is waiting for all players to make a selection for the secret objective card.
+
+
WAITING_STARTER_CARD_CHOICE - Enum constant in enum class it.polimi.ingsw.am32.controller.GameControllerStatus
+
+
The game controller is waiting for all cards to make a selection for the starter card side.
+
+
waitingRoot - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The root of the waiting page, which is the page shown to the player once the player creates a new game or joins + an existing game successfully.
+
+
WELCOME - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates phase in which the player is asked to select a game mode.
+
+
welcomeRoot - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The root of the welcome page, which is the first page of the GUI shown to the player.
+
+
winners - Variable in class it.polimi.ingsw.am32.message.ServerToClient.MatchWinnersMessage
+
+
The list of the winners of the match.
+
+
WrongDeckTypeException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when an incorrect deck type is used.
+
+
WrongDeckTypeException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.WrongDeckTypeException
+
+
Constructs a new WrongDeckTypeException.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-24.html b/deliverables/JavaDoc/index-files/index-24.html new file mode 100644 index 00000000..c48e2400 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-24.html @@ -0,0 +1,69 @@ + + + + +X-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

X

+
+
x - Variable in record class it.polimi.ingsw.am32.client.CardPlacedView
+
+
The field for the x record component.
+
+
x - Variable in class it.polimi.ingsw.am32.model.field.CardPlaced
+
+
The x coordinate of the placed card.
+
+
x() - Method in record class it.polimi.ingsw.am32.client.CardPlacedView
+
+
Returns the value of the x record component.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-25.html b/deliverables/JavaDoc/index-files/index-25.html new file mode 100644 index 00000000..cf52d1dc --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-25.html @@ -0,0 +1,73 @@ + + + + +Y-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

Y

+
+
y - Variable in record class it.polimi.ingsw.am32.client.CardPlacedView
+
+
The field for the y record component.
+
+
y - Variable in class it.polimi.ingsw.am32.model.field.CardPlaced
+
+
The y coordinate of the placed card.
+
+
y() - Method in record class it.polimi.ingsw.am32.client.CardPlacedView
+
+
Returns the value of the y record component.
+
+
YELLOW - Enum constant in enum class it.polimi.ingsw.am32.model.player.Colour
+
+
Represents the yellow color that a player can identify with and is associated with value 3.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-3.html b/deliverables/JavaDoc/index-files/index-3.html new file mode 100644 index 00000000..7acebf96 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-3.html @@ -0,0 +1,681 @@ + + + + +C-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

C

+
+
calculateOccurrences(Field, int, int) - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.AllSpecial
+
+
Calculates the number of full triplets of special type resources on the field.
+
+
calculateOccurrences(Field, int, int) - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.AnglesCovered
+
+
Calculates the number of corners covered by the given card.
+
+
calculateOccurrences(Field, int, int) - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.CountResource
+
+
Calculate how many times the given objective card or gold card has been fulfilled based on its type of resources + (objects) and number of identical resources (objects).
+
+
calculateOccurrences(Field, int, int) - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.Diagonals
+
+
Calculate how many times three cards of the same kingdom are placed on the diagonal line.
+
+
calculateOccurrences(Field, int, int) - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.Empty
+
+
Calculate for all cards that have a constant value independent of other conditions.
+
+
calculateOccurrences(Field, int, int) - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationFour
+
+
Calculates the number of right facing L configurations present in the field made of 2 blue and 1 red cards.
+
+
calculateOccurrences(Field, int, int) - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationOne
+
+
Calculate how many times the L configuration is fulfilled in the player's field, where in the bottom right is a + Plant card, and in the left top found two Fungi cards.
+
+
calculateOccurrences(Field, int, int) - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationThree
+
+
Calculate how many times the L configuration is fulfilled in the player's field, where in the top left is an + Animal card, and in the right down found two Insect cards.
+
+
calculateOccurrences(Field, int, int) - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationTwo
+
+
Calculates the number of left facing L configurations present in the field made of 2 green and 1 purple cards.
+
+
calculateOccurrences(Field, int, int) - Method in interface it.polimi.ingsw.am32.model.card.pointstrategy.PointStrategy
+
+
Calculates how many times the point strategy of the given card has been satisfied based on its specific field + and position.
+
+
canAttemptReconnection - Variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
A boolean that represents if the TUI can be reconnected to the server.
+
+
cancel() - Method in class it.polimi.ingsw.am32.network.ClientNode.ClientPingTask
+
+
invoke the method TimerTask.cancel() and delete the reference to the ClientNode to facilitate deletion + of the object by the garbage collector.
+
+
cancel() - Method in class it.polimi.ingsw.am32.network.ServerNode.ServerPingTask
+
+
invoke the method TimerTask.cancel() and delete the reference to the ServerNode to facilitate deletion + of the object by the garbage collector.
+
+
Card - Class in it.polimi.ingsw.am32.model.card
+
+
The card class includes objective cards, resource cards, starting cards and gold cards.
+
+
Card(int, int, PointStrategy) - Constructor for class it.polimi.ingsw.am32.model.card.Card
+
+
Constructor of Card
+
+
CARD_DRAWN - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player has completed the selection of the card he wants to draw.
+
+
CARD_PLACED - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player has completed the selection of the card he wants to place on the field and the + coordinates where he wants to place it.
+
+
CardDeck - Class in it.polimi.ingsw.am32.model.deck
+
+
Contains a collection of Cards implemented as a stack.
+
+
CardDeck(ArrayList<Card>, DeckType) - Constructor for class it.polimi.ingsw.am32.model.deck.CardDeck
+
 
+
CardDeckBuilder - Class in it.polimi.ingsw.am32.model.deck
+
+
This class is responsible for building a deck of Cards.
+
+
CardDeckBuilder() - Constructor for class it.polimi.ingsw.am32.model.deck.CardDeckBuilder
+
 
+
cardId - Variable in class it.polimi.ingsw.am32.message.ClientToServer.DrawCardMessage
+
+
The id of the face up card the player wants to draw; can be any value if player is not drawing from the face up cards
+
+
cardId - Variable in class it.polimi.ingsw.am32.message.ClientToServer.PlaceCardMessage
+
+
The id of the card the player wants to place
+
+
cardId - Variable in class it.polimi.ingsw.am32.message.ClientToServer.SelectedSecretObjectiveCardMessage
+
+
The id of the secret objective card selected by the player
+
+
cardId - Variable in class it.polimi.ingsw.am32.message.ServerToClient.AssignedStarterCardMessage
+
+
The id of the assigned starter card.
+
+
cardImage - Variable in record class it.polimi.ingsw.am32.client.CardPlacedView
+
+
The field for the cardImage record component.
+
+
cardImage() - Method in record class it.polimi.ingsw.am32.client.CardPlacedView
+
+
Returns the value of the cardImage record component.
+
+
cardImg - Variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
HashMap used to store the images designed by the Unicode characters of the cards.
+
+
CardPlaced - Class in it.polimi.ingsw.am32.model.field
+
+
Used to store information about a currently placed card.
+
+
CardPlaced(NonObjectiveCard, int, int, boolean) - Constructor for class it.polimi.ingsw.am32.model.field.CardPlaced
+
+
Record the position of the card placed and the face of the card selected by the player.
+
+
CardPlacedView - Record Class in it.polimi.ingsw.am32.client
+
+
It's a client-side cardPlaced class.
+
+
CardPlacedView(int, ArrayList<String>, int, int, boolean) - Constructor for record class it.polimi.ingsw.am32.client.CardPlacedView
+
+
Creates an instance of a CardPlacedView record class.
+
+
cards - Variable in class it.polimi.ingsw.am32.model.deck.CardDeck
+
+
The collection of Cards.
+
+
cards - Variable in class it.polimi.ingsw.am32.model.deck.NonObjectiveCardDeck
+
+
The collection of NonObjectiveCards.
+
+
CardType - Variable in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
changeNode(ServerNodeInterface) - Method in class it.polimi.ingsw.am32.controller.VirtualView
+
+
Changes the connection node associated with the VirtualView.
+
+
changeNode(ServerNodeInterface) - Method in interface it.polimi.ingsw.am32.controller.VirtualViewInterface
+
 
+
chat - Variable in class it.polimi.ingsw.am32.controller.GameController
+
+
chat: The chat of the game
+
+
Chat - Class in it.polimi.ingsw.am32.chat
+
+
This class represents a chat system.
+
+
Chat() - Constructor for class it.polimi.ingsw.am32.chat.Chat
+
+
Constructs a new Chat with an empty history.
+
+
CHAT_ERROR - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates there was an error in the chat message.
+
+
chatArea - Variable in class it.polimi.ingsw.am32.client.view.gui.ChatArea
+
+
An object representing the chat area in the GUI
+
+
chatArea - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The ChatArea object which contains the ComboBox object to select the player to send a private message, the text + field to write the message, the button to send the message and the scroll pane to show the messages.
+
+
ChatArea - Class in it.polimi.ingsw.am32.client.view.gui
+
+
This class represents the chat area in the GUI.
+
+
ChatArea(int, int, int, int, ArrayList<String>, GraphicalUI) - Constructor for class it.polimi.ingsw.am32.client.view.gui.ChatArea
+
+
Constructor for the ChatArea class
+
+
chatHistory - Variable in class it.polimi.ingsw.am32.chat.Chat
+
 
+
chatHistory - Variable in class it.polimi.ingsw.am32.client.View
+
+
The List of ChatMessage objects that stores the chat history of the player.
+
+
chatHistory - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
List of chat messages that represent the chat history of the game
+
+
ChatMessage - Class in it.polimi.ingsw.am32.chat
+
+
This class represents a chat message in the system.
+
+
ChatMessage - Class in it.polimi.ingsw.am32.client
+
+
This class represents a chat message in the system.
+
+
ChatMessage(String, String, boolean, String) - Constructor for class it.polimi.ingsw.am32.chat.ChatMessage
+
+
Constructs a new ChatMessage with the given parameters.
+
+
ChatMessage(String, String, boolean, String) - Constructor for class it.polimi.ingsw.am32.client.ChatMessage
+
+
Constructs a new ChatMessage with the given parameters.
+
+
chatMode - Variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
The boolean value that indicates if the player is in the chat mode.
+
+
checkConnection() - Method in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Check if the connection is still alive and if it is, return immediately.
+
+
checkResRequirements(int[], int[]) - Static method in class it.polimi.ingsw.am32.model.field.Field
+
+
Given the two arrays check if the values of the first array are greater or equal then those of the second array + in the same index for every position of the second array
+
+
CHOOSE_CONNECTION - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player should choose a connection type.
+
+
chooseConnection() - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to ask the player to choose a connection and insert the server's IP address and + port.
+
+
chooseConnection() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Set the connection page of the GUI.
+
+
chooseConnection() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method that allows the player to choose the connection type, either socket or RMI.
+
+
chooseSecretObjectiveCard(String, int) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Method called when a message of type secret objective card choice is received.
+
+
chooseStarterCardSide(String, boolean) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Method called when a message of type start card side selection is received.
+
+
chooseUI() - Static method in class it.polimi.ingsw.am32.Client
+
+
Prompts the user to choose whether to play the game in GUI or TUI mode
+
+
chosenCommonObjectiveCards - Variable in class it.polimi.ingsw.am32.message.ServerToClient.AssignedSecretObjectiveCardMessage
+
+
The list of the common objective cards assigned to the player for this game.
+
+
chosenSecretObjectiveCard - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ConfirmSelectedSecretObjectiveCardMessage
+
+
The id of the secret objective card chosen by the player.
+
+
clearInstance() - Method in class it.polimi.ingsw.am32.controller.GamesManager
+
+
Clear the instance of the class.
+
+
Client - Class in it.polimi.ingsw.am32
+
+
The main class on the client side of the application.
+
+
Client() - Constructor for class it.polimi.ingsw.am32.Client
+
 
+
clientNode - Variable in class it.polimi.ingsw.am32.client.listener.AskListener
+
+
The clientNode associated with the AskListener.
+
+
clientNode - Variable in class it.polimi.ingsw.am32.client.View
+
+
The ClientNodeInterface object that is used to communicate with the server.
+
+
clientNode - Variable in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
+
Variables used to communicate with the client
+
+
ClientNodeInterface - Interface in it.polimi.ingsw.am32.network.ClientNode
+
+
This ClientNodeInterface interface is used to identify all ClientNodes through which communication with the + server can happen.
+
+
clientPingTask - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
clientPingTask - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Variables used to verify and maintain active the connection with the server
+
+
ClientPingTask - Class in it.polimi.ingsw.am32.network.ClientNode
+
+
The ClientPingTask class contains the pointer to a ClientNode, given when the object is instantiated.
+
+
ClientPingTask(ClientNodeInterface) - Constructor for class it.polimi.ingsw.am32.network.ClientNode.ClientPingTask
+
+
Standard constructor of the class.
+
+
code - Variable in enum class it.polimi.ingsw.am32.network.exceptions.ErrorMessageCode
+
+
The code associated with the error type.
+
+
colour - Variable in class it.polimi.ingsw.am32.client.PlayerPub
+
+
The colour of the player.
+
+
colour - Variable in class it.polimi.ingsw.am32.client.view.gui.PlayerPubView
+
+
The ImageView that displays the player's colour
+
+
colour - Variable in class it.polimi.ingsw.am32.model.player.Player
+
+
The colour assigned of the player
+
+
Colour - Enum Class in it.polimi.ingsw.am32.model.player
+
+
This enum represents the different colours a player can have in the game.
+
+
Colour(int) - Constructor for enum class it.polimi.ingsw.am32.model.player.Colour
+
+
Constructor for the Colour enum.
+
+
ColourCard(String) - Static method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Use this method to set the color of the card based on the kingdom of the card.
+
+
column - Variable in class it.polimi.ingsw.am32.message.ClientToServer.PlaceCardMessage
+
+
The column where the player wants to place the card
+
+
commonObjCards - Variable in class it.polimi.ingsw.am32.client.View
+
+
The ArrayList that stores the common objective cards' ID.
+
+
commonObjCardView - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
An array of ImageView objects containing the common objective card selected for this match.
+
+
commonObjectives - Variable in class it.polimi.ingsw.am32.model.match.Match
+
+
Contains the 2 objective cards common to all players.
+
+
compare(CardPlaced, CardPlaced) - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationFourComparator
+
 
+
compare(CardPlaced, CardPlaced) - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationTwoComparator
+
 
+
conditionCount - Variable in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Resources that need to be present on the field before the card can be played.
+
+
ConditionCount - Variable in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
config - Variable in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
 
+
config - Variable in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
 
+
Configuration - Class in it.polimi.ingsw.am32.utilities
+
+
This class is responsible for managing and storing server configuration parameters.
+
+
Configuration(String[]) - Constructor for class it.polimi.ingsw.am32.utilities.Configuration
+
+
This is a private constructor according to singleton pattern characteristics.
+
+
ConfirmSelectedSecretObjectiveCardMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent by the server to the client to confirm the selected secret objective + card.
+
+
ConfirmSelectedSecretObjectiveCardMessage(String, int) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.ConfirmSelectedSecretObjectiveCardMessage
+
+
The constructor of the class: it creates a new ConfirmSelectedSecretObjectiveCardMessage with the nickname + of the recipient who will receive the confirmation of the selected secret objective card and the id of the + secret objective card chosen by the player.
+
+
ConfirmStarterCardSideSelectionMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent by the server to the client to confirm the selection of the starter + card side.
+
+
ConfirmStarterCardSideSelectionMessage(String, int, boolean, ArrayList<int[]>, int[], int) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.ConfirmStarterCardSideSelectionMessage
+
+
The constructor of the class: it creates a new confirmStarterCardSideSelectionMessage with the nickname of the + recipient who will receive the confirmation message for the selection of the starter card side, the id of the + starter card, the side of the starter card, the available spaces and the resources of the player in the field + after the placement of the starter card and the color identifier of the player in this game.
+
+
connect() - Method in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Reset the current connection by closing the input and output streams and the socket.
+
+
connected - Variable in class it.polimi.ingsw.am32.controller.PlayerQuadruple
+
 
+
connectedNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerConnectedMessage
+
+
The nickname of the player that has joined the game.
+
+
connectionNode - Variable in class it.polimi.ingsw.am32.controller.VirtualView
+
+
The connection node associated with the VirtualView.
+
+
connectionNodeLock - Variable in class it.polimi.ingsw.am32.controller.VirtualView
+
+
An object used as a lock for the non-final attribute connectionNode.
+
+
connectionRoot - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The root of the connection page, which contains the buttons to choose the connection type between socket and RMI + and the text fields to insert the IP address and the port number.
+
+
ConnectionSetupFailedException - Exception Class in it.polimi.ingsw.am32.network.exceptions
+
+
A simple Exception that extends Throwable and add nothing else.
+
+
ConnectionSetupFailedException() - Constructor for exception class it.polimi.ingsw.am32.network.exceptions.ConnectionSetupFailedException
+
 
+
content - Variable in class it.polimi.ingsw.am32.message.ClientToServer.InboundChatMessage
+
+
The content of the message
+
+
content - Variable in class it.polimi.ingsw.am32.message.ServerToClient.OutboundChatMessage
+
+
The content of the chat message.
+
+
convertToColour(int) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to convert an integer of colour received from the server to a string of colour.
+
+
convertToColour(int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Used to convert the integer representation of the colour to the string representation.
+
+
convertToColour(int) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Colour the string based on the integer received.
+
+
convertToImagePath(int, boolean) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method to convert the integer value of the cardID and the boolean value of the side of the card to the specific + image path of the card.
+
+
Corner - Variable in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
CornerBack - Variable in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
CornerType - Enum Class in it.polimi.ingsw.am32.model.card
+
+
Stores all the possible card corner object types.
+
+
CornerType(int) - Constructor for enum class it.polimi.ingsw.am32.model.card.CornerType
+
+
Constructor for the CornerType enum.
+
+
count - Variable in class it.polimi.ingsw.am32.model.card.pointstrategy.CountResource
+
+
count: the amount of resources or objects required by the card to get a certain value.
+
+
CountResource - Class in it.polimi.ingsw.am32.model.card.pointstrategy
+
+
CountResource is one of the classes that implement the PointStrategy interface used to calculate the + objective cards and the gold cards, which count identical resources or objects visible in the play area (field) + of the player.
+
+
CountResource(ObjectType, int) - Constructor for class it.polimi.ingsw.am32.model.card.pointstrategy.CountResource
+
+
Constructor of the CountResource strategy.
+
+
CREATE_GAME - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player selected to create a new game.
+
+
CREATE_GAME_FAILURE - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the game creation failed.
+
+
createAlert(String) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Create a stylized Alert pop-up window with the specified reason.
+
+
createBottomLinePanel() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method create the bottom line panel of the master pane.
+
+
createButton(String) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Create a stylized button with the specified text.
+
+
createButton(String, int, int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Create a stylized button with the specified text, X and Y coordinates.
+
+
createButton(String, int, String, int, int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Create a stylized button with the specified text, size and color, and X and Y coordinates.
+
+
createComboBox(List<String>, String, int, int, int, int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Create a stylized ComboBox with the specified content, text, size and position.
+
+
createDeckArea() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method create the deck area of the player.
+
+
createFieldPlayer(String, boolean) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Initializes a particular player's field.
+
+
createFieldPlayer(String, boolean) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
createGame(String, int, ServerNodeInterface) - Method in class it.polimi.ingsw.am32.controller.GamesManager
+
+
Creates a new game with the given creator name and player count
+
+
createInstance(String[]) - Static method in class it.polimi.ingsw.am32.utilities.Configuration
+
+
Return the singleton instance of this class using the parameters unless the instance already exists.
+
+
createLabel(String, int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Create a stylized label with the specified text and size.
+
+
createLabel(String, int, int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Create a stylized label with the specified text, X and Y coordinates.
+
+
createNoticeEventPanel() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method create the notification event panel.
+
+
createPlayerInfoPanel() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method create VBox to store the player's info area.
+
+
createTextField(String, int, int, int, int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Create a text field with the specified prompt text, maximum height, maximum width, X and Y coordinates.
+
+
createTopLinePanel() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Create the top line panel of the master pane.
+
+
CriticalFailureException - Exception Class in it.polimi.ingsw.am32.controller.exceptions
+
+
This exception is thrown when a critical failure occurs.
+
+
CriticalFailureException(String) - Constructor for exception class it.polimi.ingsw.am32.controller.exceptions.CriticalFailureException
+
+
Constructor
+
+
CtoSLobbyMessage - Interface in it.polimi.ingsw.am32.message.ClientToServer
+
+
This interface represents a message from the client to the server in the lobby phase.
+
+
CtoSMessage - Interface in it.polimi.ingsw.am32.message.ClientToServer
+
+
This interface represents a message from the client to the server.
+
+
ctoSProcessingLock - Variable in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
 
+
ctoSProcessingLock - Variable in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
 
+
cToSProcessingLock - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
 
+
cToSProcessingLock - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
 
+
CTRDuplicateNicknameException - Exception Class in it.polimi.ingsw.am32.controller.exceptions
+
+
This exception is thrown when a player tries to join a lobby with a nickname that is already in use.
+
+
CTRDuplicateNicknameException(String) - Constructor for exception class it.polimi.ingsw.am32.controller.exceptions.CTRDuplicateNicknameException
+
+
Creates a new CTRDuplicateNicknameException with the given message.
+
+
CTRPlayerNotFoundException - Exception Class in it.polimi.ingsw.am32.controller.exceptions
+
+
This exception is thrown when a player tries to join a lobby with a nickname that is already in use.
+
+
CTRPlayerNotFoundException(String) - Constructor for exception class it.polimi.ingsw.am32.controller.exceptions.CTRPlayerNotFoundException
+
+
Creates a new CTRPlayerNotFoundException with the given message.
+
+
currentEvent - Variable in class it.polimi.ingsw.am32.client.View
+
+
The Event object that stores the current event.
+
+
currentGoldCards - Variable in class it.polimi.ingsw.am32.client.View
+
+
The ArrayList that stores the IDs of the two gold cards visible at the moment.
+
+
currentGoldCards - Variable in class it.polimi.ingsw.am32.message.ServerToClient.DeckSizeUpdateMessage
+
+
The current gold cards in the deck after the draw card action.
+
+
currentGoldCards - Variable in class it.polimi.ingsw.am32.model.match.Match
+
+
Contains the gold cards being displayed on the field which may be drawn by the player.
+
+
currentPlayer - Variable in class it.polimi.ingsw.am32.client.View
+
+
The String that stores the nickname of the current player.
+
+
currentPlayer - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
String that represents the nickname of the current player
+
+
currentPlayerNickname - Variable in class it.polimi.ingsw.am32.model.match.Match
+
+
Nickname that identifies the current player.
+
+
currentResourceCards - Variable in class it.polimi.ingsw.am32.client.View
+
+
The ArrayList that stores the IDs of the two resource cards visible at the moment.
+
+
currentResourceCards - Variable in class it.polimi.ingsw.am32.message.ServerToClient.DeckSizeUpdateMessage
+
+
The current resource cards in the deck after the draw card action.
+
+
currentResourceCards - Variable in class it.polimi.ingsw.am32.model.match.Match
+
+
Contains the resource cards being displayed on the field which may be drawn by the player.
+
+
currentTurnNumber - Variable in class it.polimi.ingsw.am32.model.match.Match
+
+
The number of the turn.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-4.html b/deliverables/JavaDoc/index-files/index-4.html new file mode 100644 index 00000000..fe472ff5 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-4.html @@ -0,0 +1,227 @@ + + + + +D-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

D

+
+
deckArea - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The VBox object containing the array of ImageView objects of the resource deck and the gold deck.
+
+
DeckSizeUpdateMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent by the server to the client to update the deck after one player + draws a card.
+
+
DeckSizeUpdateMessage(String, int, int, int[], int[], int, int) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.DeckSizeUpdateMessage
+
+
The constructor of the class: it creates a new DeckSizeUpdateMessage with the nickname of the recipient who will + receive the message to update the deck after the draw card action.
+
+
deckType - Variable in class it.polimi.ingsw.am32.message.ClientToServer.DrawCardMessage
+
+
An identifier of the place from which the player wants to draw the card
+
+
deckType - Variable in class it.polimi.ingsw.am32.model.deck.CardDeck
+
+
The type of the deck.
+
+
deckType - Variable in class it.polimi.ingsw.am32.model.deck.NonObjectiveCardDeck
+
+
The type of the deck.
+
+
DeckType - Enum Class in it.polimi.ingsw.am32.model.deck.utils
+
+
This enum represents the types of decks available in the game.
+
+
DeckType(String) - Constructor for enum class it.polimi.ingsw.am32.model.deck.utils.DeckType
+
+
Constructor for the DeckType enum.
+
+
deletePlayer(String) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Removes an existing player instance from the game.
+
+
deletePlayer(String) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
destroy() - Method in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
+
Destroy the RMIServerNode.
+
+
destroy() - Method in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
+
Method that destroys the instance of SKServerNode.
+
+
destroyCalled - Variable in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
 
+
destroyCalled - Variable in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
 
+
Diagonals - Class in it.polimi.ingsw.am32.model.card.pointstrategy
+
+
Diagonals is one of the classes that implement the PointStrategy interface used to calculate the + objective cards, which count 3 cards of the same kingdom on the diagonal line y=x or y=-x.
+
+
Diagonals(ObjectType, boolean) - Constructor for class it.polimi.ingsw.am32.model.card.pointstrategy.Diagonals
+
+
Constructor of the Diagonals strategy.
+
+
disconnect(ServerNodeInterface) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Method called when a player disconnects from the game.
+
+
disconnectBeforeGameStart(PlayerQuadruple) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Method called when a player disconnects before the game has started, in the preparation phase such as + when players are choosing the side of their starter card.
+
+
disconnectCurrentPlayerAfterPlacing(PlayerQuadruple) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Method called when a player disconnects after the game has started and is the current player, and has already placed a card (but not yet drawn).
+
+
disconnectCurrentPlayerBeforePlacing(PlayerQuadruple) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Method called when a player disconnects after the game has started and is the current player, but has not yet placed a card.
+
+
disconnectDuringLobby(PlayerQuadruple) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Method called when a player disconnects during the lobby phase.
+
+
disconnectedNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerDisconnectMessage
+
+
The nickname of the player who disconnected
+
+
disconnectedNickname - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerReconnectedMessage
+
+
The nickname of the player who reconnected to the game.
+
+
disconnectNotCurrentPlayer(PlayerQuadruple) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Method called when a player disconnects after the game has started but is not the current player.
+
+
draw() - Method in class it.polimi.ingsw.am32.model.deck.CardDeck
+
+
Draws (and removes) the top card from the deck.
+
+
draw() - Method in class it.polimi.ingsw.am32.model.deck.NonObjectiveCardDeck
+
+
Draws (and removes) the top card from the deck.
+
+
DRAW_CARD - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player should draw a card.
+
+
DRAW_CARD_FAILURE - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player has drawn a card not successfully.
+
+
drawCard(int, int) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Used to make the current player draw a card from the chosen deck.
+
+
drawCard(int, int) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
drawCard(String, int, int) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Method called when a message of type draw card is received.
+
+
DrawCardConfirmationMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent by the server to the client to confirm the draw card action.
+
+
DrawCardConfirmationMessage(String, ArrayList<Integer>) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.DrawCardConfirmationMessage
+
+
The constructor of the class: it creates a new DrawCardConfirmationMessage with the nickname of the recipient who + will receive the confirmation and the cards in the player's hand after his draw card action.
+
+
DrawCardFailedMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent by the server to the client when his draw card action fails.
+
+
DrawCardFailedMessage(String, String) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.DrawCardFailedMessage
+
+
The constructor of the class: it creates a new DrawCardFailedMessage with the nickname of the recipient who will + receive the message when his draw card action fails and the reason why the draw card action failed.
+
+
DrawCardMessage - Class in it.polimi.ingsw.am32.message.ClientToServer
+
+
This class is used to manage the message sent by the client when he wants to draw a card.
+
+
DrawCardMessage(String, int, int) - Constructor for class it.polimi.ingsw.am32.message.ClientToServer.DrawCardMessage
+
+
Constructor: a message used to request to draw a card during the player's turn
+
+
DrawException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when a draw operation fails.
+
+
DrawException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.DrawException
+
+
Constructs a new DrawException with the specified detail message.
+
+
dropShadow - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The style of the drop shadow effect used in the show methods.
+
+
DUPLICATE_NICKNAME_EXCEPTION - Enum constant in enum class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration
+
+
This exception type indicates that a player tries to join a lobby with a nickname that is already in use.
+
+
DuplicateNicknameException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when a duplicate player is encountered.
+
+
DuplicateNicknameException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.DuplicateNicknameException
+
+
Constructs a new DuplicateNicknameException with the specified detail message.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-5.html b/deliverables/JavaDoc/index-files/index-5.html new file mode 100644 index 00000000..804c345f --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-5.html @@ -0,0 +1,237 @@ + + + + +E-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

E

+
+
elaborateMessage(GameController) - Method in interface it.polimi.ingsw.am32.message.ClientToServer.CtoSMessage
+
+
Elaborates the message with the specified game controller.
+
+
elaborateMessage(GameController) - Method in class it.polimi.ingsw.am32.message.ClientToServer.DrawCardMessage
+
+
This method is called when a player wants to draw a card.
+
+
elaborateMessage(GameController) - Method in class it.polimi.ingsw.am32.message.ClientToServer.InboundChatMessage
+
+
This method is called when a player wants to send a chat message.
+
+
elaborateMessage(GameController) - Method in class it.polimi.ingsw.am32.message.ClientToServer.PingMessage
+
+
This method is called when a player wants to ping the server.
+
+
elaborateMessage(GameController) - Method in class it.polimi.ingsw.am32.message.ClientToServer.PlaceCardMessage
+
+
This method is called when a player wants to place a card.
+
+
elaborateMessage(GameController) - Method in class it.polimi.ingsw.am32.message.ClientToServer.RequestGameStatusMessage
+
+
This method is called when a player wants to know the status of the game.
+
+
elaborateMessage(GameController) - Method in class it.polimi.ingsw.am32.message.ClientToServer.RequestPlayerFieldMessage
+
+
This method is called when a player wants to see the field of another player.
+
+
elaborateMessage(GameController) - Method in class it.polimi.ingsw.am32.message.ClientToServer.SelectedSecretObjectiveCardMessage
+
+
This method is called when a player selects a secret objective card.
+
+
elaborateMessage(GameController) - Method in class it.polimi.ingsw.am32.message.ClientToServer.SelectedStarterCardSideMessage
+
+
This method is called when a player selects the side of the starter card.
+
+
elaborateMessage(ServerNodeInterface) - Method in class it.polimi.ingsw.am32.message.ClientToServer.AccessGameMessage
+
+
This method is called when a player wants to join a game.
+
+
elaborateMessage(ServerNodeInterface) - Method in interface it.polimi.ingsw.am32.message.ClientToServer.CtoSLobbyMessage
+
+
Elaborates the message associated with the specified nodeInterface.
+
+
elaborateMessage(ServerNodeInterface) - Method in class it.polimi.ingsw.am32.message.ClientToServer.NewGameMessage
+
+
Creates a new game with the given sender nickname and player count
+
+
elaborateMessage(ServerNodeInterface) - Method in class it.polimi.ingsw.am32.message.ClientToServer.ReconnectGameMessage
+
+
This method is called when a player wants to reconnect to a game.
+
+
Empty - Class in it.polimi.ingsw.am32.model.card.pointstrategy
+
+
Empty is one of the classes that implement the PointStrategy interface used to calculate the + card whose placement returns always 1: all cards with a constant value regardless of other conditions.
+
+
Empty() - Constructor for class it.polimi.ingsw.am32.model.card.pointstrategy.Empty
+
 
+
EMPTY - Enum constant in enum class it.polimi.ingsw.am32.model.card.CornerType
+
+
Empty corner type indicates that the corner of the card is empty.
+
+
EMPTY - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Empty space used to remain the layout of the printed cards
+
+
endGameDueToDisconnectionTimeout - Variable in class it.polimi.ingsw.am32.utilities.Configuration
+
 
+
endGamePane - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The pane of the end game page which is shown to the player once the game ends.
+
+
endMatchDueToDisconnection() - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Method called by EndMatchDueToDisconnectionTimerTask when the timer expires.
+
+
endMatchDueToDisconnectionTimerTask - Variable in class it.polimi.ingsw.am32.controller.GameController
+
+
endMatchDueToDisconnectionTimerTask: The timer task that is used to end a match due to disconnection when only one player remains connected
+
+
EndMatchDueToDisconnectionTimerTask - Class in it.polimi.ingsw.am32.controller
+
+
This class is a timer task that is used to end a match due to disconnection.
+
+
EndMatchDueToDisconnectionTimerTask(GameController) - Constructor for class it.polimi.ingsw.am32.controller.EndMatchDueToDisconnectionTimerTask
+
+
Constructor.
+
+
enterEndPhase() - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Sets the model to the terminated phase, and notifies all players that the game has ended.
+
+
enterLobbyPhase() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Sets the match status flag to LOBBY.
+
+
enterLobbyPhase() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
enterPlayingPhase() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Sets the match status flag to PLAYING.
+
+
enterPlayingPhase() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
enterPreparationPhase() - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Method called when the lobby is full.
+
+
enterPreparationPhase() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Sets the match status flag to PREPARATION.
+
+
enterPreparationPhase() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
enterTerminatedPhase() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Sets the match status flag to TERMINATED.
+
+
enterTerminatedPhase() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
equals(Object) - Method in record class it.polimi.ingsw.am32.client.CardPlacedView
+
+
Indicates whether some other object is "equal to" this one.
+
+
equals(Object) - Method in class it.polimi.ingsw.am32.model.field.CardPlaced
+
 
+
ErrorMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent by the server to the client when client's request to access the game, + to create a new game or to reconnect to a game is not successful.
+
+
ErrorMessage(String, String, int) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.ErrorMessage
+
+
The constructor of the class.
+
+
ErrorMessageCode - Enum Class in it.polimi.ingsw.am32.network.exceptions
+
+
Enumerates the error message codes.
+
+
ErrorMessageCode(int) - Constructor for enum class it.polimi.ingsw.am32.network.exceptions.ErrorMessageCode
+
+
Constructor for the error type.
+
+
errorType - Variable in class it.polimi.ingsw.am32.message.ServerToClient.ErrorMessage
+
+
The type of the error message.
+
+
Event - Enum Class in it.polimi.ingsw.am32.client
+
+
Enumeration of the possible events that can occur during the game.
+
+
Event(int) - Constructor for enum class it.polimi.ingsw.am32.client.Event
+
+
Constructor for the Event enum.
+
+
eventLabel - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The content of the noticeEventPanel which contains the important events of the game.
+
+
exceptionType - Variable in exception class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageException
+
+
The type of LobbyMessageException.
+
+
executorService - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
Variables used for service purposes
+
+
executorService - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
 
+
executorService - Variable in class it.polimi.ingsw.am32.utilities.Configuration
+
 
+
extraPing() - Method in class it.polimi.ingsw.am32.network.ClientAcceptor.RMIClientAcceptor
+
+
A simple method used only to verify if the server is reachable by the client.
+
+
extraPing() - Method in interface it.polimi.ingsw.am32.network.ClientAcceptor.RMIClientAcceptorInt
+
+
A simple method used only to verify if the server is reachable by the client.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-6.html b/deliverables/JavaDoc/index-files/index-6.html new file mode 100644 index 00000000..e1c6ae42 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-6.html @@ -0,0 +1,115 @@ + + + + +F-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

F

+
+
field - Variable in class it.polimi.ingsw.am32.client.PlayerPub
+
+
The field of the player that contains the information of the cards placed on the field.
+
+
Field - Class in it.polimi.ingsw.am32.model.field
+
+
Used to store information about the field of the player.
+
+
Field(NonObjectiveCard, boolean) - Constructor for class it.polimi.ingsw.am32.model.field.Field
+
+
Initialize the field, put resources counter to 0 and insert the initial card
+
+
fieldCards - Variable in class it.polimi.ingsw.am32.model.field.Field
+
+
The list of cards placed in the field.
+
+
flushMessages() - Method in class it.polimi.ingsw.am32.client.listener.AskListener
+
+
Flushes both the message and lobbyMessage queues.
+
+
flushMessages() - Method in interface it.polimi.ingsw.am32.client.listener.AskListenerInterface
+
+
Flushes both the message and lobbyMessage queues.
+
+
flushMessages() - Method in class it.polimi.ingsw.am32.controller.VirtualView
+
+
Flushes the message queue.
+
+
flushMessages() - Method in interface it.polimi.ingsw.am32.controller.VirtualViewInterface
+
 
+
FULL_LOBBY_EXCEPTION - Enum constant in enum class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration
+
+
This exception type indicates that a player tries to join a full lobby.
+
+
FullLobbyException - Exception Class in it.polimi.ingsw.am32.controller.exceptions
+
+
This exception is thrown when a player tries to join a full lobby.
+
+
FullLobbyException(String) - Constructor for exception class it.polimi.ingsw.am32.controller.exceptions.FullLobbyException
+
+
Creates a new FullLobbyException with the given message.
+
+
FUNGI - Enum constant in enum class it.polimi.ingsw.am32.model.card.CornerType
+
+
Fungi corner type indicates that the corner of the card has a fungi resource.
+
+
FUNGI - Enum constant in enum class it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType
+
+
Fungi object type indicates that the object is a fungi resource.
+
+
FUNGI - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Unicode characters used to represent the icon FUNGI
+
+
FUNGICARD - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Unicode integer used to represent the icon of the fungi kingdom's color
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-7.html b/deliverables/JavaDoc/index-files/index-7.html new file mode 100644 index 00000000..782fea20 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-7.html @@ -0,0 +1,995 @@ + + + + +G-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

G

+
+
GAME_ALREADY_ENDED_EXCEPTION - Enum constant in enum class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration
+
+
This exception type indicates that a game is already ended and a player tries to join it.
+
+
GAME_ALREADY_STARTED_EXCEPTION - Enum constant in enum class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration
+
+
This exception type indicates that a game is already started and a player tries to join it.
+
+
GAME_CREATED - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the game has been created successfully.
+
+
GAME_ENDED - Enum constant in enum class it.polimi.ingsw.am32.controller.GameControllerStatus
+
+
The game controller is in the ended state, meaning that the game has ended.
+
+
GAME_JOINED - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player has joined the game successfully.
+
+
GAME_NOT_FOUND_EXCEPTION - Enum constant in enum class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration
+
+
This exception type indicates that the game was not found.
+
+
GAME_NOT_YET_STARTED_EXCEPTION - Enum constant in enum class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration
+
+
This exception type indicates that a player tries to connect to a game that has not yet started.
+
+
GAME_RECONNECTED - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the player has reconnected to the game successfully.
+
+
GAME_START - Enum constant in enum class it.polimi.ingsw.am32.client.Event
+
+
Indicates that the game has started with all players joined.
+
+
GameAlreadyEndedException - Exception Class in it.polimi.ingsw.am32.controller.exceptions
+
+
This exception is thrown when a game is already ended and a player tries to join it.
+
+
GameAlreadyEndedException(String) - Constructor for exception class it.polimi.ingsw.am32.controller.exceptions.GameAlreadyEndedException
+
+
Creates a new GameAlreadyEndedException with the given message.
+
+
GameAlreadyStartedException - Exception Class in it.polimi.ingsw.am32.controller.exceptions
+
+
This exception is thrown when a game is already started and a player tries to join it.
+
+
GameAlreadyStartedException(String) - Constructor for exception class it.polimi.ingsw.am32.controller.exceptions.GameAlreadyStartedException
+
+
Creates a new GameAlreadyStartedException with the given message.
+
+
gameCommonObjectives - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
List of integers that represent the ids of the common objectives of the game
+
+
gameController - Variable in class it.polimi.ingsw.am32.controller.EndMatchDueToDisconnectionTimerTask
+
+
The gameController on which the timer task will be executed.
+
+
gameController - Variable in class it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
+
Variables used to communicate with the GameController
+
+
gameController - Variable in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
+
Variables used to communicate with the GameController
+
+
GameController - Class in it.polimi.ingsw.am32.controller
+
+
Represents a controller for a single game.
+
+
GameController(int, int) - Constructor for class it.polimi.ingsw.am32.controller.GameController
+
+
Constructor for the GameController class.
+
+
GameControllerStatus - Enum Class in it.polimi.ingsw.am32.controller
+
+
The GameControllerStatus enum represents the different states a game controller can be in.
+
+
GameControllerStatus(int) - Constructor for enum class it.polimi.ingsw.am32.controller.GameControllerStatus
+
+
Constructor for the GameControllerStatus enum.
+
+
gameCurrentGoldCards - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
List of integers that represent the ids of the place-up gold cards in the game
+
+
gameCurrentResourceCards - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
List of integers that represent the ids of the place-up resource cards in the game
+
+
gameField - Variable in class it.polimi.ingsw.am32.model.player.Player
+
+
The field of the player
+
+
gameGoldDeckSize - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
Integer that represents the size of the gold deck
+
+
gameID - Variable in class it.polimi.ingsw.am32.client.View
+
+
The integer that represents the game ID of the game that the player is connected to.
+
+
GameNotFoundException - Exception Class in it.polimi.ingsw.am32.controller.exceptions
+
+
This class represents an exception that is thrown when no game is found.
+
+
GameNotFoundException(String) - Constructor for exception class it.polimi.ingsw.am32.controller.exceptions.GameNotFoundException
+
+
Constructs a new NoGameFoundException with the given message.
+
+
GameNotYetStartedException - Exception Class in it.polimi.ingsw.am32.controller.exceptions
+
+
This exception is thrown when a player tries to connect to a game that has not yet started.
+
+
GameNotYetStartedException(String) - Constructor for exception class it.polimi.ingsw.am32.controller.exceptions.GameNotYetStartedException
+
+
Creates a new GameNotYetStartedException with the given message.
+
+
gameResourcesDeckSize - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
Integer that represents the size of the resources deck
+
+
games - Variable in class it.polimi.ingsw.am32.controller.GamesManager
+
+
games: A list of all the games that are currently being played.
+
+
gameSize - Variable in class it.polimi.ingsw.am32.controller.GameController
+
+
gameSize: The number of players in the game at fully capacity
+
+
GamesManager - Class in it.polimi.ingsw.am32.controller
+
+
This class represents a manager for all the games that are currently being played.
+
+
GamesManager() - Constructor for class it.polimi.ingsw.am32.controller.GamesManager
+
 
+
GameStartedMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent by the server to the client to notify the player that the game is + started, entering the preparation phase.
+
+
GameStartedMessage(String) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.GameStartedMessage
+
+
The constructor of the class: it creates a new GameStartedMessage with the nickname of the recipient who will + receive the message when the game enters the preparation phase.
+
+
generateResponseGameStatusMessage(String) - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Generates a response game status message for a given player.
+
+
getActiveRes(ObjectType) - Method in class it.polimi.ingsw.am32.model.field.Field
+
+
Getter
+
+
getAllRes() - Method in class it.polimi.ingsw.am32.model.field.Field
+
+
Getter
+
+
getAvailableSpacesPlayer(String) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Getter.
+
+
getAvailableSpacesPlayer(String) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getBoard() - Method in class it.polimi.ingsw.am32.client.view.tui.BoardView
+
+
The getter method for the array of strings that stores the information of the board.
+
+
getBottomLeft() - Method in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Getter of bottomLeft
+
+
getBottomLeftBack() - Method in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Getter of bottomLeftBack
+
+
getBottomRight() - Method in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Getter of bottomRight
+
+
getBottomRightBack() - Method in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Getter of bottomRightBack
+
+
getBox(ImageView) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Get the buttons to navigate through the pages of the rule book and set the action of the buttons.
+
+
getCardFromPosition(int, int) - Method in class it.polimi.ingsw.am32.model.field.Field
+
+
Returns the card at the given position if available.
+
+
getCards() - Method in class it.polimi.ingsw.am32.model.deck.CardDeck
+
+
Returns the ArrayList containing the Cards.
+
+
getCards() - Method in class it.polimi.ingsw.am32.model.deck.NonObjectiveCardDeck
+
+
Returns the ArrayList containing the NonObjectiveCards.
+
+
getChat() - Method in class it.polimi.ingsw.am32.controller.GameController
+
 
+
getChatArea() - Method in class it.polimi.ingsw.am32.client.view.gui.ChatArea
+
+
Returns the chat area
+
+
getCode() - Method in enum class it.polimi.ingsw.am32.network.exceptions.ErrorMessageCode
+
+
Get the code associated with the error type.
+
+
getColour() - Method in class it.polimi.ingsw.am32.client.PlayerPub
+
+
The getter method for the colour of the player.
+
+
getColour() - Method in class it.polimi.ingsw.am32.client.view.gui.PlayerPubView
+
+
The getter method for the ImageView that displays the player's colour
+
+
getColour() - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Getter:
+
+
getCommonObjectives() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Returns the ids of all the common objective cards.
+
+
getCommonObjectives() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getConditionCount() - Method in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
getConditionCount() - Method in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Getter of conditionCount
+
+
getConnectionNode() - Method in class it.polimi.ingsw.am32.controller.VirtualView
+
+
Method used to retrieve the connection node.
+
+
getCorner() - Method in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
getCornerBack() - Method in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
getCount() - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.CountResource
+
+
Get the number of resources (ObjectType) required by the card.
+
+
getCurrentGoldCards() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Returns the ids of all the drawable face up gold cards.
+
+
getCurrentGoldCards() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getCurrentPlayerNickname() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Getter
+
+
getCurrentPlayerNickname() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getCurrentResourcesCards() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Returns the ids of all the drawable face up resource cards.
+
+
getCurrentResourcesCards() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getCurrentTurnNumber() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Getter
+
+
getCurrentTurnNumber() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getDeckType() - Method in class it.polimi.ingsw.am32.model.deck.CardDeck
+
+
Returns the type of the deck.
+
+
getDeckType() - Method in class it.polimi.ingsw.am32.model.deck.NonObjectiveCardDeck
+
+
Returns the type of the deck.
+
+
getEndGameDueToDisconnectionTimeout() - Method in class it.polimi.ingsw.am32.utilities.Configuration
+
+
Return the time after which the game ends due to loss of players.
+
+
getEvent() - Method in class it.polimi.ingsw.am32.client.View
+
+
This method is used to get the current event.
+
+
getEvent(int) - Static method in enum class it.polimi.ingsw.am32.client.Event
+
+
Gets the event associated with the given integer value.
+
+
getExceptionType() - Method in exception class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageException
+
+
Gets the enumeration type of the exception.
+
+
getExecutorService() - Method in class it.polimi.ingsw.am32.utilities.Configuration
+
+
Return the executor service used by the server cor thread management.
+
+
getField() - Method in class it.polimi.ingsw.am32.client.PlayerPub
+
+
The getter method for the field of the player.
+
+
getField() - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Getter:
+
+
getFieldCards() - Method in class it.polimi.ingsw.am32.model.field.Field
+
+
Getter
+
+
getGames() - Method in class it.polimi.ingsw.am32.controller.GamesManager
+
+
Return the list of all games that are currently being handled by the server.
+
+
getGameSize() - Method in class it.polimi.ingsw.am32.controller.GameController
+
 
+
getGoldCardDeckSize() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Getter.
+
+
getGoldCardDeckSize() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getGoldCardsDeck() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Getter.
+
+
getHand() - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Getter:
+
+
getHistory() - Method in class it.polimi.ingsw.am32.chat.Chat
+
+
Returns the chat history.
+
+
getId() - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Getter for the ID of the game controller.
+
+
getId() - Method in class it.polimi.ingsw.am32.model.card.Card
+
+
Getter of ID
+
+
getID() - Method in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
getID() - Method in class it.polimi.ingsw.am32.client.ObjectiveCardFactory
+
+
This method is used to get the ID of the card.
+
+
getInitialCard() - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Find the initial card, if assigned, and returns it
+
+
getInitialCardPlayer(String) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Returns the id of the starting card of a specific player.
+
+
getInitialCardPlayer(String) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getInput() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
The Method used to get the input from the user and handle the commands that the user can use to interact with the + game in the service mode.
+
+
getInputInt() - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Loops until the user enters a valid single integer.
+
+
getInstance() - Static method in class it.polimi.ingsw.am32.controller.GamesManager
+
+
Returns the only instance of the class
+
+
getInstance() - Static method in class it.polimi.ingsw.am32.utilities.Configuration
+
+
Return the singleton instance of this class.
+
+
getIPv4Addresses() - Static method in class it.polimi.ingsw.am32.utilities.IPAddressFinder
+
+
This method returns a list of all IPv4 addresses of the current machine.
+
+
getIsUp() - Method in class it.polimi.ingsw.am32.model.field.CardPlaced
+
+
Returns card orientation.
+
+
getJSONPath() - Method in enum class it.polimi.ingsw.am32.model.deck.utils.DeckType
+
+
Returns the path to the JSON file that contains the card data for the deck.
+
+
getKingdom() - Method in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
getKingdom() - Method in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Getter of kingdom
+
+
getLimits() - Method in class it.polimi.ingsw.am32.client.view.tui.BoardView
+
+
The getter method for the array of integers that stores the limits of the board.
+
+
getLobbyPlayerCount() - Method in class it.polimi.ingsw.am32.controller.GameController
+
 
+
getMatchStatus() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Getter
+
+
getMatchStatus() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getMaxPingCount() - Method in class it.polimi.ingsw.am32.utilities.Configuration
+
+
Return the maximum amount of missed pings before the connection can be considered dead.
+
+
getMessageContent() - Method in class it.polimi.ingsw.am32.chat.ChatMessage
+
+
Returns the content of the message.
+
+
getMessageContent() - Method in class it.polimi.ingsw.am32.client.ChatMessage
+
+
Returns the content of the message.
+
+
getMessageQueue() - Method in class it.polimi.ingsw.am32.controller.VirtualView
+
+
Method used to retrieve the message queue.
+
+
getModel() - Method in class it.polimi.ingsw.am32.controller.GameController
+
 
+
getNextGoldCardKingdom() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Getter.
+
+
getNextGoldCardKingdom() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getNextResourceCardKingdom() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Getter.
+
+
getNextResourceCardKingdom() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getNickname() - Method in class it.polimi.ingsw.am32.client.view.gui.PlayerPubView
+
+
The getter method for the Label that displays the player's nickname
+
+
getNickname() - Method in class it.polimi.ingsw.am32.controller.PlayerQuadruple
+
+
Returns the player's nickname.
+
+
getNickname() - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Getter:
+
+
getNode() - Method in class it.polimi.ingsw.am32.controller.PlayerQuadruple
+
+
Returns the node associated with the player.
+
+
getNodeList() - Method in class it.polimi.ingsw.am32.controller.GameController
+
 
+
getNonObjectiveCard() - Method in class it.polimi.ingsw.am32.model.field.CardPlaced
+
+
Returns the card.
+
+
getPermRes() - Method in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
getPermRes() - Method in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Getter of permRes
+
+
getPingTimeInterval() - Method in class it.polimi.ingsw.am32.utilities.Configuration
+
+
Return the interval of time between pings used to evaluate if the connection is still alive.
+
+
getPlayerChatHistory(String) - Method in class it.polimi.ingsw.am32.chat.Chat
+
+
Returns an ArrayList of ChatMessage objects representing only the messages directed to the specified player + or multicast messages.
+
+
getPlayerColour(String) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Getter
+
+
getPlayerColour(String) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getPlayerField(String) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
This method retrieves the field of a specific player in the game.
+
+
getPlayerField(String) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getPlayerHand(String) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Get the id of all cards in the Play's hand.
+
+
getPlayerHand(String) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getPlayerPoints(String) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Getter.
+
+
getPlayerPoints(String) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getPlayerResources(String) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Returns a given player's field's active resources.
+
+
getPlayerResources(String) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getPlayers() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Getter.
+
+
getPlayerSecretObjective(String) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Get id of the specified player's secret objective card.
+
+
getPlayerSecretObjective(String) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getPlayersNicknames() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Returns all players' nicknames
+
+
getPlayersNicknames() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getPoints() - Method in class it.polimi.ingsw.am32.client.PlayerPub
+
+
The getter method for the points of the player.
+
+
getPoints() - Method in class it.polimi.ingsw.am32.client.view.gui.PlayerPubView
+
+
The getter method for the Label that displays the player's points
+
+
getPoints() - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Getter:
+
+
getPointsGainedFromObjectives() - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Getter:
+
+
getPointsGainedFromObjectives(String) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Returns the points obtained from the objective cards of the player with the given nickname.
+
+
getPointsGainedFromObjectives(String) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getPointStrategy() - Method in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
getPointStrategy() - Method in class it.polimi.ingsw.am32.client.ObjectiveCardFactory
+
+
This method is used to get the strategy of the card to get the points.
+
+
getPointStrategy() - Method in class it.polimi.ingsw.am32.model.card.Card
+
+
Getter of point strategy
+
+
getPointStrategyCount() - Method in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
getPointStrategyCount() - Method in class it.polimi.ingsw.am32.client.ObjectiveCardFactory
+
+
This method is used to get how many resources or objects should be counted to get the points.
+
+
getPointStrategyLeftToRight() - Method in class it.polimi.ingsw.am32.client.ObjectiveCardFactory
+
+
This method is used to get the direction of the diagonal for the “Diagonal” PointStrategy.
+
+
getPointStrategyType() - Method in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
getPointStrategyType() - Method in class it.polimi.ingsw.am32.client.ObjectiveCardFactory
+
+
This method is used to get the type of resource or object should be counted if the PointStrategy is + “CountResource”.
+
+
getPrimaryStage() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUIApplication
+
+
The getter of the primary stage of the application
+
+
getReason() - Method in class it.polimi.ingsw.am32.message.ServerToClient.InvalidSelectedSecretObjectiveCardMessage
+
+
Getter method.
+
+
getReason() - Method in class it.polimi.ingsw.am32.message.ServerToClient.InvalidStarterCardSideSelectionMessage
+
+
Getter method.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.chat.ChatMessage
+
+
Returns the recipient's nickname.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.client.ChatMessage
+
+
Returns the recipient's nickname.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.AccessGameConfirmMessage
+
+
This method is used to get the nickname of the recipient who requested to access the game before.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.AssignedSecretObjectiveCardMessage
+
+
This method is used to get the nickname of the recipient who will receive the assignment of the cards.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.AssignedStarterCardMessage
+
+
This method is used to get the nickname of the recipient who will receive the assigned starter card.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.ConfirmSelectedSecretObjectiveCardMessage
+
+
This method is used to get the nickname of the recipient who will receive the confirmation of the selected secret + objective card.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.ConfirmStarterCardSideSelectionMessage
+
+
This method is used to get the nickname of the recipient who will receive the confirmation message for the + selection of the starter card side.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.DeckSizeUpdateMessage
+
+
This method is used to get the nickname of the recipient who will receive the message to update the deck.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.DrawCardConfirmationMessage
+
+
This method is used to get the nickname of the recipient who will receive the confirmation after he draws a card.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.DrawCardFailedMessage
+
+
This method is used to get the nickname of the recipient who will receive the message when his draw card action + fails.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.ErrorMessage
+
+
This method is used to get the recipient's nickname of the error message.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.GameStartedMessage
+
+
This method is used to get the nickname of the recipient who will receive the message when the game enters the + preparation phase.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.InvalidInboundChatMessage
+
+
This method is used to get the nickname of the sender of the invalid chat message.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.InvalidSelectedSecretObjectiveCardMessage
+
+
Getter method.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.InvalidStarterCardSideSelectionMessage
+
+
Getter method.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.LobbyPlayerListMessage
+
+
This method is used to get the list of players in the lobby.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.MatchStatusMessage
+
+
This method is used to get the nickname of the player that will receive the message.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.MatchWinnersMessage
+
+
This method is used to get the nickname of the player who will receive the message.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.NegativeResponsePlayerFieldMessage
+
+
This method is never called by Client, the NegativeResponsePlayerFieldMessage is kept for easier debugging and testing
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.NewGameConfirmationMessage
+
+
This method is used to get the nickname of the player that will receive the message.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.OutboundChatMessage
+
+
This method is used to get the nickname of the sender of the chat message.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardConfirmationMessage
+
+
This method is used to get the nickname of the recipient.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardFailedMessage
+
+
This method is used to get the nickname of the recipient who will receive the message.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlaceCardRollbackMessage
+
+
This method is used to get the nickname of the recipient who will receive the message.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlayerConnectedMessage
+
+
This method is used to get the nickname of the player that will receive the message.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlayerDisconnectMessage
+
+
This method is used to get the nickname of the recipient of the message.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
This method is used to get the nickname of the recipient of the message
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlayerReconnectedMessage
+
+
This method is used to get the nickname of the recipient who requested to reconnect to the game before.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PlayerTurnMessage
+
+
This method is used to get the nickname of the recipient who requested to access the game before.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.PongMessage
+
+
This method is used to get the nickname of the recipient who sent the ping.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.ReconnectGameConfirmMessage
+
+
This method is used to get the nickname of the recipient who requested to reconnect to the game before.
+
+
getRecipientNickname() - Method in class it.polimi.ingsw.am32.message.ServerToClient.ResponsePlayerFieldMessage
+
+
This method is never called by Client, the ResponsePlayerFieldMessage is kept for easier debugging and testing
+
+
getRecipientNickname() - Method in interface it.polimi.ingsw.am32.message.ServerToClient.StoCMessage
+
+
Gets the recipient's nickname of the message.
+
+
getResourceCardDeckSize() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Getter.
+
+
getResourceCardDeckSize() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getResourceCardsDeck() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Getter.
+
+
getResourceLabels() - Method in class it.polimi.ingsw.am32.client.view.gui.PlayerPubView
+
+
The getter method for the array of Labels that display the player's resources
+
+
getResources() - Method in class it.polimi.ingsw.am32.client.PlayerPub
+
+
The getter method for the resources of the player.
+
+
getRmiPort() - Method in class it.polimi.ingsw.am32.utilities.Configuration
+
+
Return the RMI port used by the server
+
+
getSecretObjective() - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Getter:
+
+
getSecretObjectiveCardsPlayer(String) - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Returns the ids of the secret objective cards possessed by the player with the given nickname.
+
+
getSecretObjectiveCardsPlayer(String) - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getSenderNickname() - Method in class it.polimi.ingsw.am32.chat.ChatMessage
+
+
Returns the sender's nickname.
+
+
getSenderNickname() - Method in class it.polimi.ingsw.am32.client.ChatMessage
+
+
Returns the sender's nickname.
+
+
getServerIp() - Method in class it.polimi.ingsw.am32.utilities.Configuration
+
+
Return the server ip used by the server.
+
+
getSocketPort() - Method in class it.polimi.ingsw.am32.utilities.Configuration
+
+
Return the socket port used by the server
+
+
getSocketReadTimeout() - Method in class it.polimi.ingsw.am32.utilities.Configuration
+
+
Return the duration of a single attempt to read to a socket input
+
+
getStatus() - Method in class it.polimi.ingsw.am32.controller.GameController
+
 
+
getThisPlayerNickname() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Getter method.
+
+
getTimer() - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Getter for the timer of the game controller.
+
+
getTmpSecretObj() - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Getter:
+
+
getTopLeft() - Method in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Getter of topLeft
+
+
getTopLeftBack() - Method in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Getter of topLeftBack
+
+
getTopRight() - Method in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Getter of topRight
+
+
getTopRightBack() - Method in class it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
Getter of topRightBack
+
+
getType() - Method in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
getType() - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.CountResource
+
+
Get the type of the resource (ObjectType) that the card requires.
+
+
getType() - Method in class it.polimi.ingsw.am32.model.card.pointstrategy.Diagonals
+
+
Get the type of the resource (ObjectType) that the card requires.
+
+
getValue() - Method in enum class it.polimi.ingsw.am32.client.Event
+
+
Gets the integer value associated with the event.
+
+
getValue() - Method in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
getValue() - Method in class it.polimi.ingsw.am32.client.ObjectiveCardFactory
+
+
This method is used to get the value of the card.
+
+
getValue() - Method in enum class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration
+
+
Gets the integer value associated with the state.
+
+
getValue() - Method in enum class it.polimi.ingsw.am32.controller.GameControllerStatus
+
+
Gets the integer value associated with the state.
+
+
getValue() - Method in class it.polimi.ingsw.am32.model.card.Card
+
+
Getter of value
+
+
getValue() - Method in enum class it.polimi.ingsw.am32.model.card.CornerType
+
+
When an enumeration object is referenced, this method returns its value.
+
+
getValue() - Method in enum class it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType
+
+
When an enumeration object is referenced, this method returns its value.
+
+
getValue() - Method in enum class it.polimi.ingsw.am32.model.match.MatchStatus
+
+
Gets the integer value associated with the state.
+
+
getValue() - Method in enum class it.polimi.ingsw.am32.model.player.Colour
+
+
Gets the unique integer value associated with the colour.
+
+
getVirtualView() - Method in class it.polimi.ingsw.am32.controller.PlayerQuadruple
+
+
Returns the virtual view associated with the player.
+
+
getWelcomeRoot() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Get the root of the welcome page, which is the first page shown to the player.
+
+
getWinners() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Calculates the players that have accumulated the most points.
+
+
getWinners() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
getX() - Method in class it.polimi.ingsw.am32.model.field.CardPlaced
+
+
Returns the x position of the card.
+
+
getY() - Method in class it.polimi.ingsw.am32.model.field.CardPlaced
+
+
Returns the y position of the card.
+
+
glow - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The style of the glow effect used in the show methods.
+
+
GOLD - Enum constant in enum class it.polimi.ingsw.am32.model.deck.utils.DeckType
+
+
The deck that contains the gold cards.
+
+
goldCardDeckFacingKingdom - Variable in class it.polimi.ingsw.am32.client.View
+
+
The integer that stores the kingdom's type of the gold deck's facing card.
+
+
goldCardDeckFacingKingdom - Variable in class it.polimi.ingsw.am32.message.ServerToClient.DeckSizeUpdateMessage
+
+
The gold card deck facing kingdom after the draw card action.
+
+
goldCardDeckFacingKingdom - Variable in class it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
Integer that represents the kingdom of the card facing up in the gold deck.
+
+
goldCardDeckSize - Variable in class it.polimi.ingsw.am32.message.ServerToClient.DeckSizeUpdateMessage
+
+
The size of the gold card deck after the draw card action.
+
+
goldCardsDeck - Variable in class it.polimi.ingsw.am32.model.match.Match
+
+
Deck containing all the gold cards of the game.
+
+
goldDeckSize - Variable in class it.polimi.ingsw.am32.client.View
+
+
The integer that stores the size of the gold deck.
+
+
goldDeckView - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
An array of ImageView objects containing the images of the cards in the gold deck.
+
+
goldSize - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
The Label object that indicates the current size of the gold deck.
+
+
graphicalUI - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUIApplication
+
+
The reference to the graphical user interface
+
+
GraphicalUI - Class in it.polimi.ingsw.am32.client.view.gui
+
+
The class GraphicalUI is the class that manages the graphical user interface of the game and interacts with the + GUIApplication class.
+
+
GraphicalUI() - Constructor for class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Constructor of the class.
+
+
GraphicalUIApplication - Class in it.polimi.ingsw.am32.client.view.gui
+
+
The GraphicalUIApplication class extends the Application class from JavaFX.
+
+
GraphicalUIApplication() - Constructor for class it.polimi.ingsw.am32.client.view.gui.GraphicalUIApplication
+
+
The constructor of the class
+
+
GREEN - Enum constant in enum class it.polimi.ingsw.am32.model.player.Colour
+
+
Represents the green color that a player can identify with and is associated with value 1.
+
+
gui - Variable in class it.polimi.ingsw.am32.client.view.gui.ChatArea
+
+
A reference to the gui; needed to forward messages to the server
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-8.html b/deliverables/JavaDoc/index-files/index-8.html new file mode 100644 index 00000000..97766d3e --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-8.html @@ -0,0 +1,143 @@ + + + + +H-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

H

+
+
hand - Variable in class it.polimi.ingsw.am32.client.View
+
+
The ArrayList that stores the IDs of the cards in the player's hand.
+
+
hand - Variable in class it.polimi.ingsw.am32.model.player.Player
+
+
The hand of the player
+
+
handleAvailableSpaceClick(ImageView, int, int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method set to handle the click action of the available space in the field.
+
+
handleBoardAction(StackPane) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method set the click action of the player's field.
+
+
handleButtonClick(Button, Button, Button, Effect) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Used to handle the click action on buttons used to select game size when creating a new game
+
+
handleButtonJoinAndReconnectClick(TextField, TextField) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Handle the click on the confirmation button of the join game and reconnect game page.
+
+
handleDeckCardsClicks(ImageView, int, int) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method set the click action of the cards in the deck.
+
+
handleDeckClicks() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method to set the click action of the cards in the drawing area.
+
+
handleEvent(Event, String) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Handles changes in the state of the game.
+
+
handleEvent(Event, String) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to handle an event.
+
+
handleEvent(Event, String) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Used method to print the message to notify the player when is necessary.
+
+
handleFailureCase(Event, String) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Used to handle the failure cases of the events in the game.
+
+
handleFailureCase(Event, String) - Method in class it.polimi.ingsw.am32.client.View
+
+
This abstract method is used to handle a failure case when receiving a failure message from the server.
+
+
handleFailureCase(Event, String) - Method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Used method to handle the failure messages received from the server and to ask the user to try again.
+
+
handleHandClicks() - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method to set the click action of the cards in the hand.
+
+
handleLastConnectedPlayerIfPresent() - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Checks if only one player remains connected to the game.
+
+
handleNoticeClicks(Group) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method to handle the click action of the notification event panel.
+
+
handlePlayerNicknameClick(String) - Method in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Method set the click action of the player's nickname.
+
+
handView - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
An array of ImageView objects containing the images of the cards in the player's hand.
+
+
handViewCardSide - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
An array of booleans indicating whether the card in the player's hand is being viewed front side or back side.
+
+
hashCode() - Method in record class it.polimi.ingsw.am32.client.CardPlacedView
+
+
Returns a hash code value for this object.
+
+
hashCode() - Method in class it.polimi.ingsw.am32.model.field.CardPlaced
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index-files/index-9.html b/deliverables/JavaDoc/index-files/index-9.html new file mode 100644 index 00000000..49223531 --- /dev/null +++ b/deliverables/JavaDoc/index-files/index-9.html @@ -0,0 +1,378 @@ + + + + +I-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

I

+
+
icon(String) - Static method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method used to convert the corner type of the card to an icon, using the Unicode characters.
+
+
iconArray(int[]) - Static method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
The Method used to convert the integer array of the condition count of the card to a string of icons, using the + Unicode characters and added it in one string.
+
+
iconArrayElement(int) - Static method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method used to convert the type of the resource/object that stored in the array of requirements of the card or + in the array of the permanent resources of the card to an icon, using the Unicode characters.
+
+
iconCard(String) - Static method in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Method used to convert the colour of the card to an icon, using the Unicode characters.
+
+
id - Variable in class it.polimi.ingsw.am32.controller.GameController
+
+
id: The id of the game
+
+
id - Variable in class it.polimi.ingsw.am32.model.card.Card
+
+
id: Identifier of card.
+
+
ID - Variable in record class it.polimi.ingsw.am32.client.CardPlacedView
+
+
The field for the ID record component.
+
+
ID - Variable in class it.polimi.ingsw.am32.client.NonObjCardFactory
+
 
+
ID - Variable in class it.polimi.ingsw.am32.client.ObjectiveCardFactory
+
 
+
ID() - Method in record class it.polimi.ingsw.am32.client.CardPlacedView
+
+
Returns the value of the ID record component.
+
+
imagesMap - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
HashMap containing the resources of images which are frequently used in the GUI.
+
+
in - Static variable in class it.polimi.ingsw.am32.Client
+
+
Used to read the user's input
+
+
in - Variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
The scanner used to read the input of the player
+
+
InboundChatMessage - Class in it.polimi.ingsw.am32.message.ClientToServer
+
+
This class is used to manage the message sent by the client when he wants to send a chat message.
+
+
InboundChatMessage(String, String, boolean, String) - Constructor for class it.polimi.ingsw.am32.message.ClientToServer.InboundChatMessage
+
+
Constructor: a message representing a chat message sent by a player to another player or to all the players in + the game.
+
+
indexCardPlaced - Variable in class it.polimi.ingsw.am32.client.View
+
+
Stores the index of the card placed by the player.
+
+
initializeChatArea(int, int, int, int, ArrayList<String>) - Method in class it.polimi.ingsw.am32.client.view.gui.ChatArea
+
+
Initializes the chat area with the given dimensions.
+
+
initializeGameField(boolean) - Method in class it.polimi.ingsw.am32.model.player.Player
+
+
Create the field and place the initial card in it
+
+
INKWELL - Enum constant in enum class it.polimi.ingsw.am32.model.card.CornerType
+
+
Inkwell corner type indicates that the corner of the card has an inkwell object.
+
+
INKWELL - Enum constant in enum class it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType
+
+
Inkwell object type indicates that the object is an inkwell object.
+
+
INKWELL - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Unicode characters used to represent the icon INKWELL
+
+
inputMessageField - Variable in class it.polimi.ingsw.am32.client.view.gui.ChatArea
+
+
An object representing the text field where the user can input messages
+
+
inputObtStr - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
 
+
inputObtStr - Variable in class it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
 
+
INSECARD - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Unicode integer used to represent the icon of the insect kingdom's color
+
+
INSECT - Enum constant in enum class it.polimi.ingsw.am32.model.card.CornerType
+
+
Insect corner type indicates that the corner of the card has an insect resource.
+
+
INSECT - Enum constant in enum class it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType
+
+
Insect object type indicates that the object is an insect resource.
+
+
INSECT - Static variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
Unicode characters used to represent the icon INSECT
+
+
instance - Static variable in class it.polimi.ingsw.am32.controller.GamesManager
+
+
instance: The only instance of the class.
+
+
instance - Static variable in class it.polimi.ingsw.am32.utilities.Configuration
+
 
+
INVALID_PLAYER_NUMBER_EXCEPTION - Enum constant in enum class it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration
+
+
This exception type indicates that the number of players in a game is invalid.
+
+
InvalidHandSizeException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when an invalid hand size is encountered.
+
+
InvalidHandSizeException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.InvalidHandSizeException
+
+
Constructs a new InvalidHandSizeException with the specified detail message.
+
+
InvalidInboundChatMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent from the server to the player notifying them of an invalid chat message.
+
+
InvalidInboundChatMessage(String, String) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.InvalidInboundChatMessage
+
+
The constructor of the class.
+
+
InvalidPlayerNumberException - Exception Class in it.polimi.ingsw.am32.controller.exceptions
+
+
This exception is thrown when the number of players in a game is invalid.
+
+
InvalidPlayerNumberException(String) - Constructor for exception class it.polimi.ingsw.am32.controller.exceptions.InvalidPlayerNumberException
+
+
Creates a new InvalidPlayerNumberException with the given message.
+
+
InvalidPositionException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when an invalid position is encountered.
+
+
InvalidPositionException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.InvalidPositionException
+
+
Constructs a new InvalidPositionException with the specified detail message.
+
+
InvalidSelectedSecretObjectiveCardMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent to the client when the selected secret objective card is invalid.
+
+
InvalidSelectedSecretObjectiveCardMessage(String, String) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.InvalidSelectedSecretObjectiveCardMessage
+
+
The constructor of the class.
+
+
InvalidSelectionException - Exception Class in it.polimi.ingsw.am32.model.exceptions
+
+
This class represents a custom exception that is thrown when an invalid selection is made.
+
+
InvalidSelectionException(String) - Constructor for exception class it.polimi.ingsw.am32.model.exceptions.InvalidSelectionException
+
+
Constructs a new InvalidSelectionException with the specified detail message.
+
+
InvalidStarterCardSideSelectionMessage - Class in it.polimi.ingsw.am32.message.ServerToClient
+
+
This class is used to manage the message sent to the client notifying them that the side of the starter card they have selected is invalid.
+
+
InvalidStarterCardSideSelectionMessage(String, String) - Constructor for class it.polimi.ingsw.am32.message.ServerToClient.InvalidStarterCardSideSelectionMessage
+
+
The constructor of the class.
+
+
ip - Variable in class it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
Variables used to manage the connection with the server
+
+
ip - Variable in class it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
Variables used to manage the connection with the server
+
+
IPAddressFinder - Class in it.polimi.ingsw.am32.utilities
+
+
This class is used to find all IPv4 addresses of the current machine.
+
+
IPAddressFinder() - Constructor for class it.polimi.ingsw.am32.utilities.IPAddressFinder
+
 
+
isConnected() - Method in class it.polimi.ingsw.am32.controller.PlayerQuadruple
+
+
Returns the player's connection status.
+
+
isCurrentPlayerConnected() - Method in class it.polimi.ingsw.am32.controller.GameController
+
+
Checks to see if the current player is connected.
+
+
isDisconnected - Variable in class it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
Flag used to state if the node is disconnected from the server.
+
+
isDisconnected - Variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
A boolean that represents if the TUI is disconnected from the server.
+
+
isFirstPlayer() - Method in class it.polimi.ingsw.am32.model.match.Match
+
+
Checks if the current player is the first player in the list of players.
+
+
isFirstPlayer() - Method in interface it.polimi.ingsw.am32.model.ModelInterface
+
 
+
isInThread - Variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
The boolean value that indicates if the player is in the service mode.
+
+
isIpValid(String) - Method in class it.polimi.ingsw.am32.utilities.IsValid
+
+
This method checks if the provided IP address is valid.
+
+
isMulticastFlag() - Method in class it.polimi.ingsw.am32.chat.ChatMessage
+
+
Returns the multicast flag.
+
+
isMulticastFlag() - Method in class it.polimi.ingsw.am32.client.ChatMessage
+
+
Returns the multicast flag.
+
+
isMyTurn - Variable in class it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
The boolean value that indicates if it is the player's turn.
+
+
isOnline - Variable in class it.polimi.ingsw.am32.client.PlayerPub
+
+
The boolean value that indicates if the player is online or offline.
+
+
isPortValid(int) - Method in class it.polimi.ingsw.am32.utilities.IsValid
+
+
This method checks if the provided port number is valid.
+
+
isTerminating() - Method in class it.polimi.ingsw.am32.controller.VirtualView
+
+
Checks if the VirtualView is terminating.
+
+
isUp - Variable in class it.polimi.ingsw.am32.message.ClientToServer.PlaceCardMessage
+
+
True if the card is placed face up, false otherwise
+
+
isUp - Variable in class it.polimi.ingsw.am32.message.ClientToServer.SelectedStarterCardSideMessage
+
+
The side of the starter card selected by the player
+
+
isUp - Variable in class it.polimi.ingsw.am32.model.field.CardPlaced
+
+
A boolean representing the face of the card that player want to use.
+
+
isValid - Variable in class it.polimi.ingsw.am32.client.View
+
+
The IsValid object that is used to validate the input of the player.
+
+
IsValid - Class in it.polimi.ingsw.am32.utilities
+
+
This class provides methods to check if an IP address and a port number are valid.
+
+
IsValid() - Constructor for class it.polimi.ingsw.am32.utilities.IsValid
+
 
+
it.polimi.ingsw.am32 - module it.polimi.ingsw.am32
+
+
This module is the main module of the project.
+
+
it.polimi.ingsw.am32 - package it.polimi.ingsw.am32
+
 
+
it.polimi.ingsw.am32.chat - package it.polimi.ingsw.am32.chat
+
 
+
it.polimi.ingsw.am32.chat.exceptions - package it.polimi.ingsw.am32.chat.exceptions
+
 
+
it.polimi.ingsw.am32.client - package it.polimi.ingsw.am32.client
+
 
+
it.polimi.ingsw.am32.client.exceptions - package it.polimi.ingsw.am32.client.exceptions
+
 
+
it.polimi.ingsw.am32.client.listener - package it.polimi.ingsw.am32.client.listener
+
 
+
it.polimi.ingsw.am32.client.view.gui - package it.polimi.ingsw.am32.client.view.gui
+
 
+
it.polimi.ingsw.am32.client.view.tui - package it.polimi.ingsw.am32.client.view.tui
+
 
+
it.polimi.ingsw.am32.controller - package it.polimi.ingsw.am32.controller
+
 
+
it.polimi.ingsw.am32.controller.exceptions - package it.polimi.ingsw.am32.controller.exceptions
+
 
+
it.polimi.ingsw.am32.controller.exceptions.abstraction - package it.polimi.ingsw.am32.controller.exceptions.abstraction
+
 
+
it.polimi.ingsw.am32.message.ClientToServer - package it.polimi.ingsw.am32.message.ClientToServer
+
 
+
it.polimi.ingsw.am32.message.ServerToClient - package it.polimi.ingsw.am32.message.ServerToClient
+
 
+
it.polimi.ingsw.am32.model - package it.polimi.ingsw.am32.model
+
 
+
it.polimi.ingsw.am32.model.card - package it.polimi.ingsw.am32.model.card
+
 
+
it.polimi.ingsw.am32.model.card.pointstrategy - package it.polimi.ingsw.am32.model.card.pointstrategy
+
 
+
it.polimi.ingsw.am32.model.deck - package it.polimi.ingsw.am32.model.deck
+
 
+
it.polimi.ingsw.am32.model.deck.utils - package it.polimi.ingsw.am32.model.deck.utils
+
 
+
it.polimi.ingsw.am32.model.exceptions - package it.polimi.ingsw.am32.model.exceptions
+
 
+
it.polimi.ingsw.am32.model.field - package it.polimi.ingsw.am32.model.field
+
 
+
it.polimi.ingsw.am32.model.match - package it.polimi.ingsw.am32.model.match
+
 
+
it.polimi.ingsw.am32.model.player - package it.polimi.ingsw.am32.model.player
+
 
+
it.polimi.ingsw.am32.network.ClientAcceptor - package it.polimi.ingsw.am32.network.ClientAcceptor
+
 
+
it.polimi.ingsw.am32.network.ClientNode - package it.polimi.ingsw.am32.network.ClientNode
+
 
+
it.polimi.ingsw.am32.network.exceptions - package it.polimi.ingsw.am32.network.exceptions
+
 
+
it.polimi.ingsw.am32.network.ServerNode - package it.polimi.ingsw.am32.network.ServerNode
+
 
+
it.polimi.ingsw.am32.utilities - package it.polimi.ingsw.am32.utilities
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ + diff --git a/deliverables/JavaDoc/index.html b/deliverables/JavaDoc/index.html new file mode 100644 index 00000000..b64a9b4f --- /dev/null +++ b/deliverables/JavaDoc/index.html @@ -0,0 +1,26 @@ + + + + +Generated Documentation (Untitled) + + + + + + + + + + + +
+ +

it.polimi.ingsw.am32/module-summary.html

+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/Client.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/Client.html new file mode 100644 index 00000000..caad7f4d --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/Client.html @@ -0,0 +1,247 @@ + + + + +Client + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class Client

+
+
java.lang.Object +
it.polimi.ingsw.am32.Client
+
+
+
+
+
public class Client +extends Object
+
The main class on the client side of the application. + Prompts the user to choose whether to play the game in GUI or TUI mode. + After the user has chosen, call the appropriate view object.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/Server.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/Server.html new file mode 100644 index 00000000..6dd70b67 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/Server.html @@ -0,0 +1,295 @@ + + + + +Server + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class Server

+
+
java.lang.Object +
it.polimi.ingsw.am32.Server
+
+
+
+
+
public class Server +extends Object
+
The game server is started through the method main(java.lang.String[]) included in this class. +
+ This class main objective is managing the start the basic functions of the server + which includes the configs, the network protocols and the thread manager. +

+ General description of the server:
+ The server includes the "model" and the "controller" parts of the MVC pattern.
+ At startup, an object Configuration is initialized containing all working parameters of the server.
+ Afterwards an instance of SKClientAcceptor and RMIClientAcceptor are created.
+ The first interaction of the client with the server is handled by one of the two classes written above and later on + the client communications will be handled by SKServerNode or + RMIServerNode.
+ The server and the client communicate through messages which are actual classes. Each message implements one of the + 3 interfaces: CtoSMessage, + CtoSLobbyMessage, + StoCMessage.
+ The server includes also a GamesManager (manages the creation + of new games and the access to those games by other players), a + GameController (manages all actions of the players on the game) + and a VirtualView (act as bridge in the communications from the + controller to the client).
+ Incoming messages are directly handled by SKServeNode or RMIServerNode, on the contrary every message + used to notify the client following a change in the model are given by the GameController to a + VirtualView which duty will be to send those messages.
+

+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/Chat.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/Chat.html new file mode 100644 index 00000000..1290f519 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/Chat.html @@ -0,0 +1,260 @@ + + + + +Chat + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class Chat

+
+
java.lang.Object +
it.polimi.ingsw.am32.chat.Chat
+
+
+
+
+
public class Chat +extends Object
+
This class represents a chat system. + It contains a history of chat messages.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/ChatMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/ChatMessage.html new file mode 100644 index 00000000..8c677440 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/ChatMessage.html @@ -0,0 +1,352 @@ + + + + +ChatMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class ChatMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.chat.ChatMessage
+
+
+
+
+
public class ChatMessage +extends Object
+
This class represents a chat message in the system. + It contains the sender's nickname, the recipient's nickname, a flag indicating if the message is multicast, + and the content of the message.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/exceptions/MalformedMessageException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/exceptions/MalformedMessageException.html new file mode 100644 index 00000000..5b355974 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/exceptions/MalformedMessageException.html @@ -0,0 +1,178 @@ + + + + +MalformedMessageException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class MalformedMessageException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.chat.exceptions.MalformedMessageException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class MalformedMessageException +extends RuntimeException
+
This class represents a custom exception that is thrown when a chat message is malformed. + A chat message could be considered malformed if it doesn't adhere to the expected format or structure. + This is a runtime exception, meaning it doesn't need to be declared in a method's or constructor's throws clause.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/exceptions/NullMessageException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/exceptions/NullMessageException.html new file mode 100644 index 00000000..c389fc8e --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/exceptions/NullMessageException.html @@ -0,0 +1,175 @@ + + + + +NullMessageException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NullMessageException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.chat.exceptions.NullMessageException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class NullMessageException +extends RuntimeException
+
This class represents an exception that is thrown when a null message is encountered.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/exceptions/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/exceptions/package-summary.html new file mode 100644 index 00000000..556ebb2f --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/exceptions/package-summary.html @@ -0,0 +1,107 @@ + + + + +it.polimi.ingsw.am32.chat.exceptions + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.chat.exceptions

+
+
+
+
package it.polimi.ingsw.am32.chat.exceptions
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/exceptions/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/exceptions/package-tree.html new file mode 100644 index 00000000..2bb1b6ce --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/exceptions/package-tree.html @@ -0,0 +1,80 @@ + + + + +it.polimi.ingsw.am32.chat.exceptions Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.chat.exceptions

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/package-summary.html new file mode 100644 index 00000000..cdfc6a2a --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/package-summary.html @@ -0,0 +1,117 @@ + + + + +it.polimi.ingsw.am32.chat + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.chat

+
+
+
+
package it.polimi.ingsw.am32.chat
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/package-tree.html new file mode 100644 index 00000000..ae437f27 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/chat/package-tree.html @@ -0,0 +1,68 @@ + + + + +it.polimi.ingsw.am32.chat Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.chat

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/CardPlacedView.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/CardPlacedView.html new file mode 100644 index 00000000..2938460b --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/CardPlacedView.html @@ -0,0 +1,438 @@ + + + + +CardPlacedView + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Record Class CardPlacedView

+
+
java.lang.Object +
java.lang.Record +
it.polimi.ingsw.am32.client.CardPlacedView
+
+
+
+
+
+
Record Components:
+
ID - the ID of the card placed.
+
x - the x coordinate of the card placed.
+
y - the y coordinate of the card placed.
+
side - the side of the card placed.
+
+
+
public record CardPlacedView(int ID, ArrayList<String> cardImage, int x, int y, boolean side) +extends Record
+
It's a client-side cardPlaced class. + Use this class just to store the information of the card placed on the field, if the player wants to know the details + of the card placed on the field, through the information stored in this class, the player can know the ID of the card, + the x and y coordinates of the card and the side of the card.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/ChatMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/ChatMessage.html new file mode 100644 index 00000000..3356ca0a --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/ChatMessage.html @@ -0,0 +1,334 @@ + + + + +ChatMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class ChatMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.client.ChatMessage
+
+
+
+
+
public class ChatMessage +extends Object
+
This class represents a chat message in the system. + It contains the sender's nickname, the recipient's nickname, a flag indicating if the message is multicast, + and the content of the message.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/Event.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/Event.html new file mode 100644 index 00000000..9b3f14ea --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/Event.html @@ -0,0 +1,857 @@ + + + + +Event + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Enum Class Event

+
+
java.lang.Object +
java.lang.Enum<Event> +
it.polimi.ingsw.am32.client.Event
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<Event>, Constable
+
+
+
public enum Event +extends Enum<Event>
+
Enumeration of the possible events that can occur during the game.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/NonObjCardFactory.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/NonObjCardFactory.html new file mode 100644 index 00000000..a2972362 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/NonObjCardFactory.html @@ -0,0 +1,531 @@ + + + + +NonObjCardFactory + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NonObjCardFactory

+
+
java.lang.Object +
it.polimi.ingsw.am32.client.NonObjCardFactory
+
+
+
+
+
public class NonObjCardFactory +extends Object
+
Use this class to create a Non-Objective card (Resource, Gold or Starting card) using the card data stored in the + JSON file, in the side of the client. In this way the client can have a copy of the cards that can be used to display + the cards in the UI.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/ObjectiveCardFactory.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/ObjectiveCardFactory.html new file mode 100644 index 00000000..ffe46df5 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/ObjectiveCardFactory.html @@ -0,0 +1,405 @@ + + + + +ObjectiveCardFactory + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class ObjectiveCardFactory

+
+
java.lang.Object +
it.polimi.ingsw.am32.client.ObjectiveCardFactory
+
+
+
+
+
public class ObjectiveCardFactory +extends Object
+
This class is used to create the Non-Objective Cards from the JSON file, in the side of the client. In this way + the client can have a copy of the cards that can be used to display the cards in the UI.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/PlayerPub.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/PlayerPub.html new file mode 100644 index 00000000..8a504e98 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/PlayerPub.html @@ -0,0 +1,437 @@ + + + + +PlayerPub + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PlayerPub

+
+
java.lang.Object +
it.polimi.ingsw.am32.client.PlayerPub
+
+
+
+
+
public class PlayerPub +extends Object
+
Use this class to store the player's public information that is shared with other players, which means that in this + class contains all the information that the player can request to know about the other players.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/View.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/View.html new file mode 100644 index 00000000..64e6aded --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/View.html @@ -0,0 +1,1560 @@ + + + + +View + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class View

+
+
java.lang.Object +
it.polimi.ingsw.am32.client.View
+
+
+
+
+
Direct Known Subclasses:
+
GraphicalUI, TextUI
+
+
+
public abstract class View +extends Object
+
The View class is an abstract class that serves as a template for the views of the client. It contains common + properties and methods that all views should have. +

+ The class provides abstract methods which are implemented by the concrete views. These methods are used to + display the game state to the player, and to request input from the player. The class also provides methods for + updating the game state and the player's information. +

+ The class also provides methods for setting socket client and RMI client, and for notifying the ask listener.

+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/exceptions/MalformedMessageException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/exceptions/MalformedMessageException.html new file mode 100644 index 00000000..fcff52f5 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/exceptions/MalformedMessageException.html @@ -0,0 +1,178 @@ + + + + +MalformedMessageException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class MalformedMessageException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.client.exceptions.MalformedMessageException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class MalformedMessageException +extends RuntimeException
+
This class represents a custom exception that is thrown when a chat message is malformed. + A chat message could be considered malformed if it doesn't adhere to the expected format or structure. + This is a runtime exception, meaning it doesn't need to be declared in a method's or constructor's throws clause.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/exceptions/MissingJSONException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/exceptions/MissingJSONException.html new file mode 100644 index 00000000..7e6763fd --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/exceptions/MissingJSONException.html @@ -0,0 +1,179 @@ + + + + +MissingJSONException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class MissingJSONException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.client.exceptions.MissingJSONException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class MissingJSONException +extends RuntimeException
+
This class represents a custom exception that is thrown when a required JSON file is missing. + It extends the RuntimeException class, meaning it is an unchecked exception. + Unchecked exceptions do not need to be declared in a method or constructor's throws clause.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/exceptions/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/exceptions/package-summary.html new file mode 100644 index 00000000..3cd6a7eb --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/exceptions/package-summary.html @@ -0,0 +1,109 @@ + + + + +it.polimi.ingsw.am32.client.exceptions + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.client.exceptions

+
+
+
+
package it.polimi.ingsw.am32.client.exceptions
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/exceptions/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/exceptions/package-tree.html new file mode 100644 index 00000000..82068ce2 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/exceptions/package-tree.html @@ -0,0 +1,80 @@ + + + + +it.polimi.ingsw.am32.client.exceptions Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.client.exceptions

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/listener/AskListener.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/listener/AskListener.html new file mode 100644 index 00000000..91692a2f --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/listener/AskListener.html @@ -0,0 +1,393 @@ + + + + +AskListener + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class AskListener

+
+
java.lang.Object +
it.polimi.ingsw.am32.client.listener.AskListener
+
+
+
+
+
All Implemented Interfaces:
+
AskListenerInterface, Runnable
+
+
+
public class AskListener +extends Object +implements AskListenerInterface, Runnable
+
Used to manage the messages that are sent to the server. + Stays in a loop and waits for messages to be added to the queues (according to their type). + When a new message is added, it sends it to the server through the clientNode.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/listener/AskListenerInterface.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/listener/AskListenerInterface.html new file mode 100644 index 00000000..e692e1c2 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/listener/AskListenerInterface.html @@ -0,0 +1,185 @@ + + + + +AskListenerInterface + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Interface AskListenerInterface

+
+
+
+
+
All Known Implementing Classes:
+
AskListener
+
+
+
public interface AskListenerInterface
+
Interface for the AskListener class: used to manage the messages that clients want to send to the server. + Listens for messages to be added to the queues (according to their type). + There are two queues: one for CtoSMessage and one for CtoSLobbyMessage.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/listener/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/listener/package-summary.html new file mode 100644 index 00000000..2cc05d15 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/listener/package-summary.html @@ -0,0 +1,111 @@ + + + + +it.polimi.ingsw.am32.client.listener + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.client.listener

+
+
+
+
package it.polimi.ingsw.am32.client.listener
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/listener/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/listener/package-tree.html new file mode 100644 index 00000000..37c3b2d9 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/listener/package-tree.html @@ -0,0 +1,73 @@ + + + + +it.polimi.ingsw.am32.client.listener Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.client.listener

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/package-summary.html new file mode 100644 index 00000000..d14fe656 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/package-summary.html @@ -0,0 +1,143 @@ + + + + +it.polimi.ingsw.am32.client + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.client

+
+
+
+
package it.polimi.ingsw.am32.client
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/package-tree.html new file mode 100644 index 00000000..ad7961e1 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/package-tree.html @@ -0,0 +1,99 @@ + + + + +it.polimi.ingsw.am32.client Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.client

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+

Record Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/ChatArea.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/ChatArea.html new file mode 100644 index 00000000..5808b862 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/ChatArea.html @@ -0,0 +1,428 @@ + + + + +ChatArea + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class ChatArea

+
+
java.lang.Object +
it.polimi.ingsw.am32.client.view.gui.ChatArea
+
+
+
+
+
public class ChatArea +extends Object
+
This class represents the chat area in the GUI. + It contains the message display area, the message input area, and the submit button. + It also contains a combo box that allows the user to select a recipient for the message.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/GraphicalUI.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/GraphicalUI.html new file mode 100644 index 00000000..4f96ad0d --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/GraphicalUI.html @@ -0,0 +1,2505 @@ + + + + +GraphicalUI + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class GraphicalUI

+
+
java.lang.Object +
it.polimi.ingsw.am32.client.View +
it.polimi.ingsw.am32.client.view.gui.GraphicalUI
+
+
+
+
+
+
public class GraphicalUI +extends View
+
The class GraphicalUI is the class that manages the graphical user interface of the game and interacts with the + GUIApplication class. The class extends the abstract class View and implements the methods of the View class. +

+ The class contains the methods to set up the pages which are shown to the player and the methods to update the + components of the GUI when the player makes an action or receives a message that requires an update of the GUI. + In addition, the class uses CurrentEvent and Status to manage the state of the game in this way to control the + flow of the game and the actions that the player can do. +

+ To interact with the GUIApplication class, the class contains the reference of the GUIApplication class and + through this reference using the Platform.runLater method, the class can update the scene of the GUIApplication + class and show the changes updated in the GUI. +

+ For the implementation of the GUI, the class uses the JavaFX library to create the components, images, + and animations of the GUI while CSS is used to set the style of the components.

+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/GraphicalUIApplication.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/GraphicalUIApplication.html new file mode 100644 index 00000000..41684327 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/GraphicalUIApplication.html @@ -0,0 +1,321 @@ + + + + +GraphicalUIApplication + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class GraphicalUIApplication

+
+
java.lang.Object +
javafx.application.Application +
it.polimi.ingsw.am32.client.view.gui.GraphicalUIApplication
+
+
+
+
+
+
public class GraphicalUIApplication +extends javafx.application.Application
+
The GraphicalUIApplication class extends the Application class from JavaFX. It interacts with the GraphicalUI + class to display the graphical user interface to the user.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/PlayerPubView.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/PlayerPubView.html new file mode 100644 index 00000000..60840a49 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/PlayerPubView.html @@ -0,0 +1,404 @@ + + + + +PlayerPubView + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PlayerPubView

+
+
java.lang.Object +
it.polimi.ingsw.am32.client.view.gui.PlayerPubView
+
+
+
+
+
public class PlayerPubView +extends Object
+
This class is used to store the components of javafx that are used to display the player's information in the + game. The class is used by the GraphicalUI class to display and update the player's information.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/package-summary.html new file mode 100644 index 00000000..f02fef80 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/package-summary.html @@ -0,0 +1,106 @@ + + + + +it.polimi.ingsw.am32.client.view.gui + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.client.view.gui

+
+
+
+
package it.polimi.ingsw.am32.client.view.gui
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/package-tree.html new file mode 100644 index 00000000..447c60f2 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/gui/package-tree.html @@ -0,0 +1,78 @@ + + + + +it.polimi.ingsw.am32.client.view.gui Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.client.view.gui

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/tui/BoardView.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/tui/BoardView.html new file mode 100644 index 00000000..61afb2af --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/tui/BoardView.html @@ -0,0 +1,263 @@ + + + + +BoardView + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class BoardView

+
+
java.lang.Object +
it.polimi.ingsw.am32.client.view.tui.BoardView
+
+
+
+
+
public class BoardView +extends Object
+
This class is used to store the components of the board that are used to display the board in the terminal. + The class is used by the TextUI class to display and update the board.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/tui/TextUI.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/tui/TextUI.html new file mode 100644 index 00000000..5f7f570f --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/tui/TextUI.html @@ -0,0 +1,2288 @@ + + + + +TextUI + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class TextUI

+
+
java.lang.Object +
it.polimi.ingsw.am32.client.View +
it.polimi.ingsw.am32.client.view.tui.TextUI
+
+
+
+
+
+
public class TextUI +extends View
+
Class TextUI is a one of the two User Interface of the game that allows the player to interact with the game, which + is a text-based interface. It extends the abstract View class. +

+ The class includes the following methods, which could be divided into three categories: connection, flow of the + game, and design of printed elements. The connection methods are used to establish the connection between the + client and the server. The flow of the game methods is used to manage the game's flow, such as creating a new + game, joining a game, and reconnecting to a game etc. The design methods are used to print the game's elements, + for example, how to print the cards. + To simplify the code, the class includes a method to check the input of the player, a method to clear the command + line, and a method to handle the events. Finally, the class includes a method to update the view and a method to + notify the listener the new message generated by the player's action. +

+ For the connection, the class includes a method to choose the connection type, a method to set the socket client + and a method to set the RMI client. Also, the class uses the IsValid class to check the validity of the + IP address and the port number entered by the player. + For the design of the cards, the class includes a method to print the card, a method to convert the corner type + of the card to an icon and a method to convert the object type of the card to an icon as well. The class uses + Unicode characters to represent the icons of the cards and the objects. In addition, the class + includes ASCII escape codes to set the color of the printed cards and the printed text. +

By the playing phase, players also have the possibility to interact with the chat and use the keyword to interact + with the game, for example, type “SH” to show the hand of the player.

+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/tui/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/tui/package-summary.html new file mode 100644 index 00000000..9693e7f5 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/tui/package-summary.html @@ -0,0 +1,97 @@ + + + + +it.polimi.ingsw.am32.client.view.tui + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.client.view.tui

+
+
+
+
package it.polimi.ingsw.am32.client.view.tui
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/tui/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/tui/package-tree.html new file mode 100644 index 00000000..dc4af9c7 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/client/view/tui/package-tree.html @@ -0,0 +1,72 @@ + + + + +it.polimi.ingsw.am32.client.view.tui Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.client.view.tui

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/EndMatchDueToDisconnectionTimerTask.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/EndMatchDueToDisconnectionTimerTask.html new file mode 100644 index 00000000..355c8738 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/EndMatchDueToDisconnectionTimerTask.html @@ -0,0 +1,251 @@ + + + + +EndMatchDueToDisconnectionTimerTask + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class EndMatchDueToDisconnectionTimerTask

+
+
java.lang.Object +
java.util.TimerTask +
it.polimi.ingsw.am32.controller.EndMatchDueToDisconnectionTimerTask
+
+
+
+
+
+
All Implemented Interfaces:
+
Runnable
+
+
+
public class EndMatchDueToDisconnectionTimerTask +extends TimerTask
+
This class is a timer task that is used to end a match due to disconnection. + The timer task is scheduled when all but one players disconnects from the match. + If a player remain lonely in the match for a certain amount of time, the match is ended and the sole player is declared the winner.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/GameController.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/GameController.html new file mode 100644 index 00000000..1ead0991 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/GameController.html @@ -0,0 +1,954 @@ + + + + +GameController + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class GameController

+
+
java.lang.Object +
it.polimi.ingsw.am32.controller.GameController
+
+
+
+
+
public class GameController +extends Object
+
Represents a controller for a single game. + Manages a single model instance, and a chat instance
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/GameControllerStatus.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/GameControllerStatus.html new file mode 100644 index 00000000..f2e9b596 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/GameControllerStatus.html @@ -0,0 +1,388 @@ + + + + +GameControllerStatus + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Enum Class GameControllerStatus

+
+
java.lang.Object +
java.lang.Enum<GameControllerStatus> +
it.polimi.ingsw.am32.controller.GameControllerStatus
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<GameControllerStatus>, Constable
+
+
+
public enum GameControllerStatus +extends Enum<GameControllerStatus>
+
The GameControllerStatus enum represents the different states a game controller can be in. + Each state is associated with a specific integer value.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/GamesManager.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/GamesManager.html new file mode 100644 index 00000000..69b5bf40 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/GamesManager.html @@ -0,0 +1,381 @@ + + + + +GamesManager + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class GamesManager

+
+
java.lang.Object +
it.polimi.ingsw.am32.controller.GamesManager
+
+
+
+
+
public class GamesManager +extends Object
+
This class represents a manager for all the games that are currently being played. + Class is a Singleton, meaning that only one instance of it can be created.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/PlayerQuadruple.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/PlayerQuadruple.html new file mode 100644 index 00000000..2676e2e6 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/PlayerQuadruple.html @@ -0,0 +1,358 @@ + + + + +PlayerQuadruple + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PlayerQuadruple

+
+
java.lang.Object +
it.polimi.ingsw.am32.controller.PlayerQuadruple
+
+
+
+
+
public class PlayerQuadruple +extends Object
+
This class represents a player in the game. It contains information about the player's + connection status, nickname, and the virtual view associated with the player.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/VirtualView.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/VirtualView.html new file mode 100644 index 00000000..6798c0b6 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/VirtualView.html @@ -0,0 +1,429 @@ + + + + +VirtualView + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class VirtualView

+
+
java.lang.Object +
it.polimi.ingsw.am32.controller.VirtualView
+
+
+
+
+
All Implemented Interfaces:
+
VirtualViewInterface, Runnable
+
+
+
public class VirtualView +extends Object +implements VirtualViewInterface, Runnable
+
Used to manage the messages that are sent to the client. + Stays in a loop and waits for messages to be added to the queue. + When a new message is added, it sends it to the client through the connection node.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/VirtualViewInterface.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/VirtualViewInterface.html new file mode 100644 index 00000000..3901a418 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/VirtualViewInterface.html @@ -0,0 +1,165 @@ + + + + +VirtualViewInterface + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Interface VirtualViewInterface

+
+
+
+
+
All Known Implementing Classes:
+
VirtualView
+
+
+
public interface VirtualViewInterface
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/CTRDuplicateNicknameException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/CTRDuplicateNicknameException.html new file mode 100644 index 00000000..2f6e68f7 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/CTRDuplicateNicknameException.html @@ -0,0 +1,178 @@ + + + + +CTRDuplicateNicknameException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class CTRDuplicateNicknameException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageException +
it.polimi.ingsw.am32.controller.exceptions.CTRDuplicateNicknameException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class CTRDuplicateNicknameException +extends LobbyMessageException
+
This exception is thrown when a player tries to join a lobby with a nickname that is already in use.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/CTRPlayerNotFoundException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/CTRPlayerNotFoundException.html new file mode 100644 index 00000000..280d45ad --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/CTRPlayerNotFoundException.html @@ -0,0 +1,178 @@ + + + + +CTRPlayerNotFoundException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class CTRPlayerNotFoundException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageException +
it.polimi.ingsw.am32.controller.exceptions.CTRPlayerNotFoundException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class CTRPlayerNotFoundException +extends LobbyMessageException
+
This exception is thrown when a player tries to join a lobby with a nickname that is already in use.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/CriticalFailureException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/CriticalFailureException.html new file mode 100644 index 00000000..c99ca43e --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/CriticalFailureException.html @@ -0,0 +1,177 @@ + + + + +CriticalFailureException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class CriticalFailureException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.controller.exceptions.CriticalFailureException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class CriticalFailureException +extends RuntimeException
+
This exception is thrown when a critical failure occurs. + A critical failure is an error that should never happen, and that is not recoverable. + When this exception is thrown, the program should be terminated.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/FullLobbyException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/FullLobbyException.html new file mode 100644 index 00000000..c7d113bd --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/FullLobbyException.html @@ -0,0 +1,178 @@ + + + + +FullLobbyException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class FullLobbyException

+
+
java.lang.Object + +
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class FullLobbyException +extends LobbyMessageException
+
This exception is thrown when a player tries to join a full lobby.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/GameAlreadyEndedException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/GameAlreadyEndedException.html new file mode 100644 index 00000000..f6f5a648 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/GameAlreadyEndedException.html @@ -0,0 +1,178 @@ + + + + +GameAlreadyEndedException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class GameAlreadyEndedException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageException +
it.polimi.ingsw.am32.controller.exceptions.GameAlreadyEndedException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class GameAlreadyEndedException +extends LobbyMessageException
+
This exception is thrown when a game is already ended and a player tries to join it.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/GameAlreadyStartedException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/GameAlreadyStartedException.html new file mode 100644 index 00000000..8a2c6fac --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/GameAlreadyStartedException.html @@ -0,0 +1,178 @@ + + + + +GameAlreadyStartedException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class GameAlreadyStartedException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageException +
it.polimi.ingsw.am32.controller.exceptions.GameAlreadyStartedException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class GameAlreadyStartedException +extends LobbyMessageException
+
This exception is thrown when a game is already started and a player tries to join it.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/GameNotFoundException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/GameNotFoundException.html new file mode 100644 index 00000000..98c1eada --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/GameNotFoundException.html @@ -0,0 +1,178 @@ + + + + +GameNotFoundException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class GameNotFoundException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageException +
it.polimi.ingsw.am32.controller.exceptions.GameNotFoundException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class GameNotFoundException +extends LobbyMessageException
+
This class represents an exception that is thrown when no game is found.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/GameNotYetStartedException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/GameNotYetStartedException.html new file mode 100644 index 00000000..3bedd2a9 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/GameNotYetStartedException.html @@ -0,0 +1,178 @@ + + + + +GameNotYetStartedException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class GameNotYetStartedException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageException +
it.polimi.ingsw.am32.controller.exceptions.GameNotYetStartedException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class GameNotYetStartedException +extends LobbyMessageException
+
This exception is thrown when a player tries to connect to a game that has not yet started.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/InvalidPlayerNumberException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/InvalidPlayerNumberException.html new file mode 100644 index 00000000..418cd5cd --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/InvalidPlayerNumberException.html @@ -0,0 +1,178 @@ + + + + +InvalidPlayerNumberException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class InvalidPlayerNumberException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageException +
it.polimi.ingsw.am32.controller.exceptions.InvalidPlayerNumberException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class InvalidPlayerNumberException +extends LobbyMessageException
+
This exception is thrown when the number of players in a game is invalid.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/PlayerAlreadyConnectedException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/PlayerAlreadyConnectedException.html new file mode 100644 index 00000000..0dc529b1 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/PlayerAlreadyConnectedException.html @@ -0,0 +1,178 @@ + + + + +PlayerAlreadyConnectedException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PlayerAlreadyConnectedException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageException +
it.polimi.ingsw.am32.controller.exceptions.PlayerAlreadyConnectedException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class PlayerAlreadyConnectedException +extends LobbyMessageException
+
This exception is thrown when a player is already connected but tries to connect again somehow.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/VirtualViewNotFoundException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/VirtualViewNotFoundException.html new file mode 100644 index 00000000..0c481121 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/VirtualViewNotFoundException.html @@ -0,0 +1,173 @@ + + + + +VirtualViewNotFoundException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class VirtualViewNotFoundException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.controller.exceptions.VirtualViewNotFoundException
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class VirtualViewNotFoundException +extends Exception
+
Represents an exception that is thrown when a listener is not found
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/abstraction/LobbyMessageException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/abstraction/LobbyMessageException.html new file mode 100644 index 00000000..0bc6cfa6 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/abstraction/LobbyMessageException.html @@ -0,0 +1,253 @@ + + + + +LobbyMessageException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class LobbyMessageException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageException
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
Direct Known Subclasses:
+
CTRDuplicateNicknameException, CTRPlayerNotFoundException, FullLobbyException, GameAlreadyEndedException, GameAlreadyStartedException, GameNotFoundException, GameNotYetStartedException, InvalidPlayerNumberException, PlayerAlreadyConnectedException
+
+
+
public abstract class LobbyMessageException +extends Exception
+
The LobbyMessageException class represents an exception that can be thrown during + the elaboration of a generic Lobby-Message. + It contains the type of the exception and a message associated with it.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/abstraction/LobbyMessageExceptionEnumeration.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/abstraction/LobbyMessageExceptionEnumeration.html new file mode 100644 index 00000000..e20652e5 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/abstraction/LobbyMessageExceptionEnumeration.html @@ -0,0 +1,428 @@ + + + + +LobbyMessageExceptionEnumeration + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Enum Class LobbyMessageExceptionEnumeration

+
+
java.lang.Object +
java.lang.Enum<LobbyMessageExceptionEnumeration> +
it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<LobbyMessageExceptionEnumeration>, Constable
+
+
+
public enum LobbyMessageExceptionEnumeration +extends Enum<LobbyMessageExceptionEnumeration>
+
The LobbyMessageExceptionEnumeration enum represents the different exceptions that can be thrown during + the elaboration of a generic Lobby-Message. + Each exception is associated with a specific integer value.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/abstraction/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/abstraction/package-summary.html new file mode 100644 index 00000000..c241c8d6 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/abstraction/package-summary.html @@ -0,0 +1,111 @@ + + + + +it.polimi.ingsw.am32.controller.exceptions.abstraction + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.controller.exceptions.abstraction

+
+
+
+
package it.polimi.ingsw.am32.controller.exceptions.abstraction
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/abstraction/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/abstraction/package-tree.html new file mode 100644 index 00000000..c1584a09 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/abstraction/package-tree.html @@ -0,0 +1,89 @@ + + + + +it.polimi.ingsw.am32.controller.exceptions.abstraction Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.controller.exceptions.abstraction

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/package-summary.html new file mode 100644 index 00000000..217d5798 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/package-summary.html @@ -0,0 +1,145 @@ + + + + +it.polimi.ingsw.am32.controller.exceptions + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.controller.exceptions

+
+
+
+
package it.polimi.ingsw.am32.controller.exceptions
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/package-tree.html new file mode 100644 index 00000000..9fc82d34 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/exceptions/package-tree.html @@ -0,0 +1,93 @@ + + + + +it.polimi.ingsw.am32.controller.exceptions Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.controller.exceptions

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/package-summary.html new file mode 100644 index 00000000..3191a4fb --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/package-summary.html @@ -0,0 +1,137 @@ + + + + +it.polimi.ingsw.am32.controller + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.controller

+
+
+
+
package it.polimi.ingsw.am32.controller
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/package-tree.html new file mode 100644 index 00000000..58ed3e74 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/controller/package-tree.html @@ -0,0 +1,95 @@ + + + + +it.polimi.ingsw.am32.controller Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.controller

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/AccessGameMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/AccessGameMessage.html new file mode 100644 index 00000000..6fcaceb1 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/AccessGameMessage.html @@ -0,0 +1,292 @@ + + + + +AccessGameMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class AccessGameMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ClientToServer.AccessGameMessage
+
+
+
+
+
All Implemented Interfaces:
+
CtoSLobbyMessage, Serializable
+
+
+
public class AccessGameMessage +extends Object +implements CtoSLobbyMessage
+
This class is used to manage the message sent by the client when he wants to join a game.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/CtoSLobbyMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/CtoSLobbyMessage.html new file mode 100644 index 00000000..95bd6594 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/CtoSLobbyMessage.html @@ -0,0 +1,184 @@ + + + + +CtoSLobbyMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Interface CtoSLobbyMessage

+
+
+
+
+
All Superinterfaces:
+
Serializable
+
+
+
All Known Implementing Classes:
+
AccessGameMessage, NewGameMessage, ReconnectGameMessage
+
+
+
public interface CtoSLobbyMessage +extends Serializable
+
This interface represents a message from the client to the server in the lobby phase. + It contains a single method to elaborate the message
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/CtoSMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/CtoSMessage.html new file mode 100644 index 00000000..0290444b --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/CtoSMessage.html @@ -0,0 +1,178 @@ + + + + +CtoSMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Interface CtoSMessage

+
+
+
+
+
All Superinterfaces:
+
Serializable
+
+
+
All Known Implementing Classes:
+
DrawCardMessage, InboundChatMessage, PingMessage, PlaceCardMessage, RequestGameStatusMessage, RequestPlayerFieldMessage, SelectedSecretObjectiveCardMessage, SelectedStarterCardSideMessage
+
+
+
public interface CtoSMessage +extends Serializable
+
This interface represents a message from the client to the server. + It contains a single method to elaborate the message with a game controller.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/DrawCardMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/DrawCardMessage.html new file mode 100644 index 00000000..30aa33db --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/DrawCardMessage.html @@ -0,0 +1,299 @@ + + + + +DrawCardMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class DrawCardMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ClientToServer.DrawCardMessage
+
+
+
+
+
All Implemented Interfaces:
+
CtoSMessage, Serializable
+
+
+
public class DrawCardMessage +extends Object +implements CtoSMessage
+
This class is used to manage the message sent by the client when he wants to draw a card.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/InboundChatMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/InboundChatMessage.html new file mode 100644 index 00000000..6d39befd --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/InboundChatMessage.html @@ -0,0 +1,320 @@ + + + + +InboundChatMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class InboundChatMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ClientToServer.InboundChatMessage
+
+
+
+
+
All Implemented Interfaces:
+
CtoSMessage, Serializable
+
+
+
public class InboundChatMessage +extends Object +implements CtoSMessage
+
This class is used to manage the message sent by the client when he wants to send a chat message.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/NewGameMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/NewGameMessage.html new file mode 100644 index 00000000..675380f2 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/NewGameMessage.html @@ -0,0 +1,287 @@ + + + + +NewGameMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NewGameMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ClientToServer.NewGameMessage
+
+
+
+
+
All Implemented Interfaces:
+
CtoSLobbyMessage, Serializable
+
+
+
public class NewGameMessage +extends Object +implements CtoSLobbyMessage
+
This class represents a message that is sent from the client to the server when a new game is created. + The message contains the nickname of the player that created the game and the number of players that the game will have. + The message is used to create a new game and add the player to it.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/PingMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/PingMessage.html new file mode 100644 index 00000000..0d9fd339 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/PingMessage.html @@ -0,0 +1,263 @@ + + + + +PingMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PingMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ClientToServer.PingMessage
+
+
+
+
+
All Implemented Interfaces:
+
CtoSMessage, Serializable
+
+
+
public class PingMessage +extends Object +implements CtoSMessage
+
This class is used to manage the message sent by the client when he wants to ping the server.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/PlaceCardMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/PlaceCardMessage.html new file mode 100644 index 00000000..a16ba1e3 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/PlaceCardMessage.html @@ -0,0 +1,338 @@ + + + + +PlaceCardMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PlaceCardMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ClientToServer.PlaceCardMessage
+
+
+
+
+
All Implemented Interfaces:
+
CtoSMessage, Serializable
+
+
+
public class PlaceCardMessage +extends Object +implements CtoSMessage
+
This class is used to manage the message sent by the client when he wants to place a card.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/ReconnectGameMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/ReconnectGameMessage.html new file mode 100644 index 00000000..221b7116 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/ReconnectGameMessage.html @@ -0,0 +1,296 @@ + + + + +ReconnectGameMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class ReconnectGameMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ClientToServer.ReconnectGameMessage
+
+
+
+
+
All Implemented Interfaces:
+
CtoSLobbyMessage, Serializable
+
+
+
public class ReconnectGameMessage +extends Object +implements CtoSLobbyMessage
+
This class is used to manage the message sent by the client when he wants to reconnect to a game.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/RequestGameStatusMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/RequestGameStatusMessage.html new file mode 100644 index 00000000..87712d28 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/RequestGameStatusMessage.html @@ -0,0 +1,264 @@ + + + + +RequestGameStatusMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class RequestGameStatusMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ClientToServer.RequestGameStatusMessage
+
+
+
+
+
All Implemented Interfaces:
+
CtoSMessage, Serializable
+
+
+
public class RequestGameStatusMessage +extends Object +implements CtoSMessage
+
This class is used to manage the message sent by the client when he wants to know the status of the game.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/RequestPlayerFieldMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/RequestPlayerFieldMessage.html new file mode 100644 index 00000000..1e781dbe --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/RequestPlayerFieldMessage.html @@ -0,0 +1,281 @@ + + + + +RequestPlayerFieldMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class RequestPlayerFieldMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ClientToServer.RequestPlayerFieldMessage
+
+
+
+
+
All Implemented Interfaces:
+
CtoSMessage, Serializable
+
+
+
public class RequestPlayerFieldMessage +extends Object +implements CtoSMessage
+
This class is used to manage the message sent by the client when he wants to see the field of another player.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/SelectedSecretObjectiveCardMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/SelectedSecretObjectiveCardMessage.html new file mode 100644 index 00000000..e449d255 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/SelectedSecretObjectiveCardMessage.html @@ -0,0 +1,282 @@ + + + + +SelectedSecretObjectiveCardMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class SelectedSecretObjectiveCardMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ClientToServer.SelectedSecretObjectiveCardMessage
+
+
+
+
+
All Implemented Interfaces:
+
CtoSMessage, Serializable
+
+
+
public class SelectedSecretObjectiveCardMessage +extends Object +implements CtoSMessage
+
This class is used to manage the message sent by the client when he wants to notify the server of his selection of a secret objective card.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/SelectedStarterCardSideMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/SelectedStarterCardSideMessage.html new file mode 100644 index 00000000..c1b66f37 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/SelectedStarterCardSideMessage.html @@ -0,0 +1,282 @@ + + + + +SelectedStarterCardSideMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class SelectedStarterCardSideMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ClientToServer.SelectedStarterCardSideMessage
+
+
+
+
+
All Implemented Interfaces:
+
CtoSMessage, Serializable
+
+
+
public class SelectedStarterCardSideMessage +extends Object +implements CtoSMessage
+
This class is used to manage the message sent by the client when he wants to notify the server of his selection of the side of the starter card.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/package-summary.html new file mode 100644 index 00000000..c649e86c --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/package-summary.html @@ -0,0 +1,142 @@ + + + + +it.polimi.ingsw.am32.message.ClientToServer + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.message.ClientToServer

+
+
+
+
package it.polimi.ingsw.am32.message.ClientToServer
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/package-tree.html new file mode 100644 index 00000000..f6be17fb --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ClientToServer/package-tree.html @@ -0,0 +1,88 @@ + + + + +it.polimi.ingsw.am32.message.ClientToServer Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.message.ClientToServer

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/AccessGameConfirmMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/AccessGameConfirmMessage.html new file mode 100644 index 00000000..97ac641b --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/AccessGameConfirmMessage.html @@ -0,0 +1,288 @@ + + + + +AccessGameConfirmMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class AccessGameConfirmMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.AccessGameConfirmMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class AccessGameConfirmMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent by the server to the client to confirm the access to the game.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/AssignedSecretObjectiveCardMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/AssignedSecretObjectiveCardMessage.html new file mode 100644 index 00000000..1c971268 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/AssignedSecretObjectiveCardMessage.html @@ -0,0 +1,341 @@ + + + + +AssignedSecretObjectiveCardMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class AssignedSecretObjectiveCardMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.AssignedSecretObjectiveCardMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class AssignedSecretObjectiveCardMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent by the server to the client to assign the secret objective cards which + should be chosen by the player, the common objective cards and the cards to the player's hand.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/AssignedStarterCardMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/AssignedStarterCardMessage.html new file mode 100644 index 00000000..3962ab83 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/AssignedStarterCardMessage.html @@ -0,0 +1,303 @@ + + + + +AssignedStarterCardMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class AssignedStarterCardMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.AssignedStarterCardMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class AssignedStarterCardMessage +extends Object +implements StoCMessage
+
This class is a message sent to the player to notify them of their assigned starter card after the preparation phase is over.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/ConfirmSelectedSecretObjectiveCardMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/ConfirmSelectedSecretObjectiveCardMessage.html new file mode 100644 index 00000000..5260a9ec --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/ConfirmSelectedSecretObjectiveCardMessage.html @@ -0,0 +1,308 @@ + + + + +ConfirmSelectedSecretObjectiveCardMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class ConfirmSelectedSecretObjectiveCardMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.ConfirmSelectedSecretObjectiveCardMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class ConfirmSelectedSecretObjectiveCardMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent by the server to the client to confirm the selected secret objective + card. The player will receive the confirmation of the selected secret objective card.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/ConfirmStarterCardSideSelectionMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/ConfirmStarterCardSideSelectionMessage.html new file mode 100644 index 00000000..6d4619d9 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/ConfirmStarterCardSideSelectionMessage.html @@ -0,0 +1,384 @@ + + + + +ConfirmStarterCardSideSelectionMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class ConfirmStarterCardSideSelectionMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.ConfirmStarterCardSideSelectionMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class ConfirmStarterCardSideSelectionMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent by the server to the client to confirm the selection of the starter + card side.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/DeckSizeUpdateMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/DeckSizeUpdateMessage.html new file mode 100644 index 00000000..4e0c5995 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/DeckSizeUpdateMessage.html @@ -0,0 +1,388 @@ + + + + +DeckSizeUpdateMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class DeckSizeUpdateMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.DeckSizeUpdateMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class DeckSizeUpdateMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent by the server to the client to update the deck after one player + draws a card.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/DrawCardConfirmationMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/DrawCardConfirmationMessage.html new file mode 100644 index 00000000..4f9f4b40 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/DrawCardConfirmationMessage.html @@ -0,0 +1,303 @@ + + + + +DrawCardConfirmationMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class DrawCardConfirmationMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.DrawCardConfirmationMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class DrawCardConfirmationMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent by the server to the client to confirm the draw card action.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/DrawCardFailedMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/DrawCardFailedMessage.html new file mode 100644 index 00000000..1b1ff18d --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/DrawCardFailedMessage.html @@ -0,0 +1,305 @@ + + + + +DrawCardFailedMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class DrawCardFailedMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.DrawCardFailedMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class DrawCardFailedMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent by the server to the client when his draw card action fails.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/ErrorMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/ErrorMessage.html new file mode 100644 index 00000000..d9762af3 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/ErrorMessage.html @@ -0,0 +1,326 @@ + + + + +ErrorMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class ErrorMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.ErrorMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class ErrorMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent by the server to the client when client's request to access the game, + to create a new game or to reconnect to a game is not successful.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/GameStartedMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/GameStartedMessage.html new file mode 100644 index 00000000..9f7975ca --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/GameStartedMessage.html @@ -0,0 +1,289 @@ + + + + +GameStartedMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class GameStartedMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.GameStartedMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class GameStartedMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent by the server to the client to notify the player that the game is + started, entering the preparation phase.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/InvalidInboundChatMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/InvalidInboundChatMessage.html new file mode 100644 index 00000000..9b4e04bf --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/InvalidInboundChatMessage.html @@ -0,0 +1,299 @@ + + + + +InvalidInboundChatMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class InvalidInboundChatMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.InvalidInboundChatMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class InvalidInboundChatMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent from the server to the player notifying them of an invalid chat message.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/InvalidSelectedSecretObjectiveCardMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/InvalidSelectedSecretObjectiveCardMessage.html new file mode 100644 index 00000000..af1391d4 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/InvalidSelectedSecretObjectiveCardMessage.html @@ -0,0 +1,317 @@ + + + + +InvalidSelectedSecretObjectiveCardMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class InvalidSelectedSecretObjectiveCardMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.InvalidSelectedSecretObjectiveCardMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class InvalidSelectedSecretObjectiveCardMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent to the client when the selected secret objective card is invalid.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/InvalidStarterCardSideSelectionMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/InvalidStarterCardSideSelectionMessage.html new file mode 100644 index 00000000..8fbb06bf --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/InvalidStarterCardSideSelectionMessage.html @@ -0,0 +1,317 @@ + + + + +InvalidStarterCardSideSelectionMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class InvalidStarterCardSideSelectionMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.InvalidStarterCardSideSelectionMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class InvalidStarterCardSideSelectionMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent to the client notifying them that the side of the starter card they have selected is invalid.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/LobbyPlayerListMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/LobbyPlayerListMessage.html new file mode 100644 index 00000000..d99b5379 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/LobbyPlayerListMessage.html @@ -0,0 +1,299 @@ + + + + +LobbyPlayerListMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class LobbyPlayerListMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.LobbyPlayerListMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class LobbyPlayerListMessage +extends Object +implements StoCMessage
+
This class is used to manage the message send to the players to notify them of the updated list of players in the lobby.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/MatchStatusMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/MatchStatusMessage.html new file mode 100644 index 00000000..7761747d --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/MatchStatusMessage.html @@ -0,0 +1,299 @@ + + + + +MatchStatusMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class MatchStatusMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.MatchStatusMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class MatchStatusMessage +extends Object +implements StoCMessage
+
This class is used to manage the message send to the players notifying them of the game status.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/MatchWinnersMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/MatchWinnersMessage.html new file mode 100644 index 00000000..0a598420 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/MatchWinnersMessage.html @@ -0,0 +1,367 @@ + + + + +MatchWinnersMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class MatchWinnersMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.MatchWinnersMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class MatchWinnersMessage +extends Object +implements StoCMessage
+
This class is used to manage the message send by the server to the players notifying them the winners of the match.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/NegativeResponsePlayerFieldMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/NegativeResponsePlayerFieldMessage.html new file mode 100644 index 00000000..c5cec051 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/NegativeResponsePlayerFieldMessage.html @@ -0,0 +1,299 @@ + + + + +NegativeResponsePlayerFieldMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NegativeResponsePlayerFieldMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.NegativeResponsePlayerFieldMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class NegativeResponsePlayerFieldMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent to the player who requested the field of another player to notify him that the field could not be fetched (used for testing only).
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/NewGameConfirmationMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/NewGameConfirmationMessage.html new file mode 100644 index 00000000..b7fff878 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/NewGameConfirmationMessage.html @@ -0,0 +1,306 @@ + + + + +NewGameConfirmationMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NewGameConfirmationMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.NewGameConfirmationMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class NewGameConfirmationMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent by the server to the client to confirm the creation of a new game.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/OutboundChatMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/OutboundChatMessage.html new file mode 100644 index 00000000..c0834915 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/OutboundChatMessage.html @@ -0,0 +1,316 @@ + + + + +OutboundChatMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class OutboundChatMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.OutboundChatMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class OutboundChatMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent from the server to the players notifying them of a new chat message.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlaceCardConfirmationMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlaceCardConfirmationMessage.html new file mode 100644 index 00000000..1a53c305 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlaceCardConfirmationMessage.html @@ -0,0 +1,401 @@ + + + + +PlaceCardConfirmationMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PlaceCardConfirmationMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.PlaceCardConfirmationMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class PlaceCardConfirmationMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent from the server to the players notifying them that a player has placed a card.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlaceCardFailedMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlaceCardFailedMessage.html new file mode 100644 index 00000000..7aeb6b7d --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlaceCardFailedMessage.html @@ -0,0 +1,303 @@ + + + + +PlaceCardFailedMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PlaceCardFailedMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.PlaceCardFailedMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class PlaceCardFailedMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent a player notifying them that a card placement has failed.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlaceCardRollbackMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlaceCardRollbackMessage.html new file mode 100644 index 00000000..fdf0a9ba --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlaceCardRollbackMessage.html @@ -0,0 +1,356 @@ + + + + +PlaceCardRollbackMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PlaceCardRollbackMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.PlaceCardRollbackMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class PlaceCardRollbackMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent to all the players, notifying them that a player has placed a card and disconnected.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlayerConnectedMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlayerConnectedMessage.html new file mode 100644 index 00000000..9b925bd2 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlayerConnectedMessage.html @@ -0,0 +1,299 @@ + + + + +PlayerConnectedMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PlayerConnectedMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.PlayerConnectedMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class PlayerConnectedMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent to notify players that a new player has joined the game during the lobby phase.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlayerDisconnectMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlayerDisconnectMessage.html new file mode 100644 index 00000000..8239b7a0 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlayerDisconnectMessage.html @@ -0,0 +1,303 @@ + + + + +PlayerDisconnectMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PlayerDisconnectMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.PlayerDisconnectMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class PlayerDisconnectMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent to notify players when another player disconnects from the game during any stage.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlayerGameStatusMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlayerGameStatusMessage.html new file mode 100644 index 00000000..51a9bffe --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlayerGameStatusMessage.html @@ -0,0 +1,660 @@ + + + + +PlayerGameStatusMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PlayerGameStatusMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.PlayerGameStatusMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class PlayerGameStatusMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent to notify the player of the game status
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlayerReconnectedMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlayerReconnectedMessage.html new file mode 100644 index 00000000..c621d847 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlayerReconnectedMessage.html @@ -0,0 +1,303 @@ + + + + +PlayerReconnectedMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PlayerReconnectedMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.PlayerReconnectedMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class PlayerReconnectedMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent to notify players that a player has reconnected to the game.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlayerTurnMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlayerTurnMessage.html new file mode 100644 index 00000000..8dd6764c --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PlayerTurnMessage.html @@ -0,0 +1,303 @@ + + + + +PlayerTurnMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PlayerTurnMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.PlayerTurnMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class PlayerTurnMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent to notify players of whose turn it is
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PongMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PongMessage.html new file mode 100644 index 00000000..dab8e32f --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/PongMessage.html @@ -0,0 +1,282 @@ + + + + +PongMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PongMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.PongMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class PongMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent to notify the client that a ping has been received.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/ReconnectGameConfirmMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/ReconnectGameConfirmMessage.html new file mode 100644 index 00000000..8d0e5a2f --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/ReconnectGameConfirmMessage.html @@ -0,0 +1,287 @@ + + + + +ReconnectGameConfirmMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class ReconnectGameConfirmMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.ReconnectGameConfirmMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class ReconnectGameConfirmMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent by the server to the client to confirm the reconnection to the game.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/ResponsePlayerFieldMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/ResponsePlayerFieldMessage.html new file mode 100644 index 00000000..f8d8c35a --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/ResponsePlayerFieldMessage.html @@ -0,0 +1,333 @@ + + + + +ResponsePlayerFieldMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class ResponsePlayerFieldMessage

+
+
java.lang.Object +
it.polimi.ingsw.am32.message.ServerToClient.ResponsePlayerFieldMessage
+
+
+
+
+
All Implemented Interfaces:
+
StoCMessage, Serializable
+
+
+
public class ResponsePlayerFieldMessage +extends Object +implements StoCMessage
+
This class is used to manage the message sent to the player who requested the field of another player (used for testing only).
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/StoCMessage.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/StoCMessage.html new file mode 100644 index 00000000..426d96e2 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/StoCMessage.html @@ -0,0 +1,198 @@ + + + + +StoCMessage + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Interface StoCMessage

+
+
+ +
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/package-summary.html new file mode 100644 index 00000000..249185b5 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/package-summary.html @@ -0,0 +1,220 @@ + + + + +it.polimi.ingsw.am32.message.ServerToClient + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.message.ServerToClient

+
+
+
+
package it.polimi.ingsw.am32.message.ServerToClient
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/package-tree.html new file mode 100644 index 00000000..21b632e3 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/message/ServerToClient/package-tree.html @@ -0,0 +1,106 @@ + + + + +it.polimi.ingsw.am32.message.ServerToClient Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.message.ServerToClient

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/ModelInterface.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/ModelInterface.html new file mode 100644 index 00000000..22536b81 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/ModelInterface.html @@ -0,0 +1,760 @@ + + + + +ModelInterface + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Interface ModelInterface

+
+
+
+
+
All Known Implementing Classes:
+
Match
+
+
+
public interface ModelInterface
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/Card.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/Card.html new file mode 100644 index 00000000..07b73642 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/Card.html @@ -0,0 +1,300 @@ + + + + +Card + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class Card

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.card.Card
+
+
+
+
+
Direct Known Subclasses:
+
NonObjectiveCard
+
+
+
public class Card +extends Object
+
The card class includes objective cards, resource cards, starting cards and gold cards. All types of cards have the + following attributes: each card has a unique ID and a value from zero to five points, and also each has a special + PointStrategy that describes the conditions that must be satisfied when using this card to score points.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/CornerType.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/CornerType.html new file mode 100644 index 00000000..fc993401 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/CornerType.html @@ -0,0 +1,428 @@ + + + + +CornerType + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Enum Class CornerType

+
+
java.lang.Object +
java.lang.Enum<CornerType> +
it.polimi.ingsw.am32.model.card.CornerType
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<CornerType>, Constable
+
+
+
public enum CornerType +extends Enum<CornerType>
+
Stores all the possible card corner object types. Each field is associated with an integer. + Used to indicate the type of resource present on the corners of Gold, Resource, and Start cards.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/NonObjectiveCard.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/NonObjectiveCard.html new file mode 100644 index 00000000..a61aa1b1 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/NonObjectiveCard.html @@ -0,0 +1,589 @@ + + + + +NonObjectiveCard + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NonObjectiveCard

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.card.Card +
it.polimi.ingsw.am32.model.card.NonObjectiveCard
+
+
+
+
+
+
public class NonObjectiveCard +extends Card
+
Creates objects used to represent Gold, Resource, and Start cards.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/package-summary.html new file mode 100644 index 00000000..35028cf3 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/package-summary.html @@ -0,0 +1,125 @@ + + + + +it.polimi.ingsw.am32.model.card + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.model.card

+
+
+
+
package it.polimi.ingsw.am32.model.card
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/package-tree.html new file mode 100644 index 00000000..28ff076a --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/package-tree.html @@ -0,0 +1,85 @@ + + + + +it.polimi.ingsw.am32.model.card Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.model.card

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/AllSpecial.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/AllSpecial.html new file mode 100644 index 00000000..f68e63b1 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/AllSpecial.html @@ -0,0 +1,200 @@ + + + + +AllSpecial + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class AllSpecial

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.card.pointstrategy.AllSpecial
+
+
+
+
+
All Implemented Interfaces:
+
PointStrategy
+
+
+
public class AllSpecial +extends Object +implements PointStrategy
+
Used for the point calculation of the only objective card which counts the number + of triplets of special type resources.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/AnglesCovered.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/AnglesCovered.html new file mode 100644 index 00000000..d7c73e68 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/AnglesCovered.html @@ -0,0 +1,198 @@ + + + + +AnglesCovered + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class AnglesCovered

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.card.pointstrategy.AnglesCovered
+
+
+
+
+
All Implemented Interfaces:
+
PointStrategy
+
+
+
public class AnglesCovered +extends Object +implements PointStrategy
+
Used for cards whose points are calculated on the basis of how many corners the card covers.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/CountResource.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/CountResource.html new file mode 100644 index 00000000..0d94bd3e --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/CountResource.html @@ -0,0 +1,296 @@ + + + + +CountResource + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class CountResource

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.card.pointstrategy.CountResource
+
+
+
+
+
All Implemented Interfaces:
+
PointStrategy
+
+
+
public class CountResource +extends Object +implements PointStrategy
+
CountResource is one of the classes that implement the PointStrategy interface used to calculate the + objective cards and the gold cards, which count identical resources or objects visible in the play area (field) + of the player.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/Diagonals.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/Diagonals.html new file mode 100644 index 00000000..77acf7f0 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/Diagonals.html @@ -0,0 +1,275 @@ + + + + +Diagonals + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class Diagonals

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.card.pointstrategy.Diagonals
+
+
+
+
+
All Implemented Interfaces:
+
PointStrategy
+
+
+
public class Diagonals +extends Object +implements PointStrategy
+
Diagonals is one of the classes that implement the PointStrategy interface used to calculate the + objective cards, which count 3 cards of the same kingdom on the diagonal line y=x or y=-x.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/Empty.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/Empty.html new file mode 100644 index 00000000..0c22cbcc --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/Empty.html @@ -0,0 +1,199 @@ + + + + +Empty + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class Empty

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.card.pointstrategy.Empty
+
+
+
+
+
All Implemented Interfaces:
+
PointStrategy
+
+
+
public class Empty +extends Object +implements PointStrategy
+
Empty is one of the classes that implement the PointStrategy interface used to calculate the + card whose placement returns always 1: all cards with a constant value regardless of other conditions.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationFour.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationFour.html new file mode 100644 index 00000000..aef0d6db --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationFour.html @@ -0,0 +1,222 @@ + + + + +LConfigurationFour + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class LConfigurationFour

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationFour
+
+
+
+
+
All Implemented Interfaces:
+
PointStrategy
+
+
+
public class LConfigurationFour +extends Object +implements PointStrategy
+
Used for the point calculation of the only objective card which counts the number of right facing Ls made from 2 + stacked vertical blue cards and 1 red card to the top right in the player's field.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationFourComparator.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationFourComparator.html new file mode 100644 index 00000000..0203976a --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationFourComparator.html @@ -0,0 +1,191 @@ + + + + +LConfigurationFourComparator + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class LConfigurationFourComparator

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationFourComparator
+
+
+
+
+
All Implemented Interfaces:
+
Comparator<CardPlaced>
+
+
+
class LConfigurationFourComparator +extends Object +implements Comparator<CardPlaced>
+
Comparator used to sort CardPlaced objects according the position of the cards contained in them + Used in stream sorted() method
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationOne.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationOne.html new file mode 100644 index 00000000..617e53e6 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationOne.html @@ -0,0 +1,202 @@ + + + + +LConfigurationOne + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class LConfigurationOne

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationOne
+
+
+
+
+
All Implemented Interfaces:
+
PointStrategy
+
+
+
public class LConfigurationOne +extends Object +implements PointStrategy
+
LConfigurationOne is one of the classes that implement the PointStrategy interface used to calculate the + objective cards, which in the bottom right has a Plant card and in the top left corner has a Fungi card + and then above that card has another Fungi card.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationThree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationThree.html new file mode 100644 index 00000000..17583632 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationThree.html @@ -0,0 +1,202 @@ + + + + +LConfigurationThree + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class LConfigurationThree

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationThree
+
+
+
+
+
All Implemented Interfaces:
+
PointStrategy
+
+
+
public class LConfigurationThree +extends Object +implements PointStrategy
+
LConfigurationThree is one of the classes that implement the PointStrategy interface used to calculate the + objective cards, which in the top left has an Animal card and in the bottom right corner has an Insect card + and then under that card has another Insect card.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationTwo.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationTwo.html new file mode 100644 index 00000000..91f1a4c5 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationTwo.html @@ -0,0 +1,222 @@ + + + + +LConfigurationTwo + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class LConfigurationTwo

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationTwo
+
+
+
+
+
All Implemented Interfaces:
+
PointStrategy
+
+
+
public class LConfigurationTwo +extends Object +implements PointStrategy
+
Used for the point calculation of the only objective card which counts the number of left facing Ls made from 2 + stacked vertical green cards and 1 purple card to the bottom left in the player's field.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationTwoComparator.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationTwoComparator.html new file mode 100644 index 00000000..353f4a8b --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/LConfigurationTwoComparator.html @@ -0,0 +1,191 @@ + + + + +LConfigurationTwoComparator + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class LConfigurationTwoComparator

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.card.pointstrategy.LConfigurationTwoComparator
+
+
+
+
+
All Implemented Interfaces:
+
Comparator<CardPlaced>
+
+
+
class LConfigurationTwoComparator +extends Object +implements Comparator<CardPlaced>
+
Comparator used to sort CardPlaced objects according the position of the cards contained in them + Used in stream sorted() method
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/ObjectType.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/ObjectType.html new file mode 100644 index 00000000..bb9bd57c --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/ObjectType.html @@ -0,0 +1,404 @@ + + + + +ObjectType + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Enum Class ObjectType

+
+
java.lang.Object +
java.lang.Enum<ObjectType> +
it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<ObjectType>, Constable
+
+
+
public enum ObjectType +extends Enum<ObjectType>
+
Stores all the possible resource object types. Includes all resources and objects. Each field is associated with + an integer. + Used to indicate all the possible resources and special objects. + Can be considered a subset of the CornerType enumeration.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/PointStrategy.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/PointStrategy.html new file mode 100644 index 00000000..dbf7b053 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/PointStrategy.html @@ -0,0 +1,162 @@ + + + + +PointStrategy + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Interface PointStrategy

+
+
+
+
+
All Known Implementing Classes:
+
AllSpecial, AnglesCovered, CountResource, Diagonals, Empty, LConfigurationFour, LConfigurationOne, LConfigurationThree, LConfigurationTwo
+
+
+
public interface PointStrategy
+
Following strategy pattern to describe different strategies used by cards to calculate points + and for each type count how many times it is realized in the indicated field.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/package-summary.html new file mode 100644 index 00000000..4a6c6d43 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/package-summary.html @@ -0,0 +1,157 @@ + + + + +it.polimi.ingsw.am32.model.card.pointstrategy + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.model.card.pointstrategy

+
+
+
+
package it.polimi.ingsw.am32.model.card.pointstrategy
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/package-tree.html new file mode 100644 index 00000000..842b5e24 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/card/pointstrategy/package-tree.html @@ -0,0 +1,97 @@ + + + + +it.polimi.ingsw.am32.model.card.pointstrategy Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.model.card.pointstrategy

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/CardDeck.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/CardDeck.html new file mode 100644 index 00000000..34d800dc --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/CardDeck.html @@ -0,0 +1,303 @@ + + + + +CardDeck + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class CardDeck

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.deck.CardDeck
+
+
+
+
+
public class CardDeck +extends Object
+
Contains a collection of Cards implemented as a stack.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/CardDeckBuilder.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/CardDeckBuilder.html new file mode 100644 index 00000000..93416cf7 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/CardDeckBuilder.html @@ -0,0 +1,245 @@ + + + + +CardDeckBuilder + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class CardDeckBuilder

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.deck.CardDeckBuilder
+
+
+
+
+
public class CardDeckBuilder +extends Object
+
This class is responsible for building a deck of Cards. + It uses the ObjectsBuilder class to perform Strings to Objects conversion.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/NonObjectiveCardDeck.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/NonObjectiveCardDeck.html new file mode 100644 index 00000000..ba6d62fd --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/NonObjectiveCardDeck.html @@ -0,0 +1,303 @@ + + + + +NonObjectiveCardDeck + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NonObjectiveCardDeck

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.deck.NonObjectiveCardDeck
+
+
+
+
+
public class NonObjectiveCardDeck +extends Object
+
Contains a collection of NonObjectiveCards implemented as a stack.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/NonObjectiveCardDeckBuilder.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/NonObjectiveCardDeckBuilder.html new file mode 100644 index 00000000..adc8904f --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/NonObjectiveCardDeckBuilder.html @@ -0,0 +1,245 @@ + + + + +NonObjectiveCardDeckBuilder + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NonObjectiveCardDeckBuilder

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.deck.NonObjectiveCardDeckBuilder
+
+
+
+
+
public class NonObjectiveCardDeckBuilder +extends Object
+
This class is responsible for building a deck of NonObjectiveCards. + It uses the ObjectsBuilder class to perform Strings to Objects conversion.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/ObjectsBuilder.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/ObjectsBuilder.html new file mode 100644 index 00000000..6b61ade4 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/ObjectsBuilder.html @@ -0,0 +1,234 @@ + + + + +ObjectsBuilder + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class ObjectsBuilder

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.deck.ObjectsBuilder
+
+
+
+
+
public class ObjectsBuilder +extends Object
+
This class contains methods to convert strings to enum values and to build PointStrategy objects from strings.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/package-summary.html new file mode 100644 index 00000000..dbc5cfba --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/package-summary.html @@ -0,0 +1,131 @@ + + + + +it.polimi.ingsw.am32.model.deck + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.model.deck

+
+
+
+
package it.polimi.ingsw.am32.model.deck
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/package-tree.html new file mode 100644 index 00000000..1b0987ee --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/package-tree.html @@ -0,0 +1,71 @@ + + + + +it.polimi.ingsw.am32.model.deck Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.model.deck

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/utils/DeckType.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/utils/DeckType.html new file mode 100644 index 00000000..e1294692 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/utils/DeckType.html @@ -0,0 +1,363 @@ + + + + +DeckType + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Enum Class DeckType

+
+
java.lang.Object +
java.lang.Enum<DeckType> +
it.polimi.ingsw.am32.model.deck.utils.DeckType
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<DeckType>, Constable
+
+
+
public enum DeckType +extends Enum<DeckType>
+
This enum represents the types of decks available in the game. + Each enum constant corresponds to a specific type of deck and is associated with the path to the JSON file that + contains the card data for that deck.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/utils/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/utils/package-summary.html new file mode 100644 index 00000000..637cd815 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/utils/package-summary.html @@ -0,0 +1,103 @@ + + + + +it.polimi.ingsw.am32.model.deck.utils + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.model.deck.utils

+
+
+
+
package it.polimi.ingsw.am32.model.deck.utils
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/utils/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/utils/package-tree.html new file mode 100644 index 00000000..d264a43b --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/deck/utils/package-tree.html @@ -0,0 +1,71 @@ + + + + +it.polimi.ingsw.am32.model.deck.utils Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.model.deck.utils

+
+Package Hierarchies: + +
+

Enum Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/AlreadyComputedPointsException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/AlreadyComputedPointsException.html new file mode 100644 index 00000000..990db3d1 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/AlreadyComputedPointsException.html @@ -0,0 +1,176 @@ + + + + +AlreadyComputedPointsException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class AlreadyComputedPointsException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.model.exceptions.AlreadyComputedPointsException
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class AlreadyComputedPointsException +extends Exception
+
This class represents a custom exception that is thrown when points have already been computed. + It extends the Exception class, meaning it is a checked exception. + Checked exceptions need to be declared in a method or constructor's throws clause if they can be thrown by the execution of the method or constructor and propagate outside the method or constructor boundary.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/DrawException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/DrawException.html new file mode 100644 index 00000000..f0af0fb3 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/DrawException.html @@ -0,0 +1,174 @@ + + + + +DrawException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class DrawException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.model.exceptions.DrawException
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class DrawException +extends Exception
+
This class represents a custom exception that is thrown when a draw operation fails. + It extends the base Exception class and provides a constructor to set a custom error message.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/DuplicateNicknameException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/DuplicateNicknameException.html new file mode 100644 index 00000000..1f083f4c --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/DuplicateNicknameException.html @@ -0,0 +1,176 @@ + + + + +DuplicateNicknameException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class DuplicateNicknameException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.model.exceptions.DuplicateNicknameException
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class DuplicateNicknameException +extends Exception
+
This class represents a custom exception that is thrown when a duplicate player is encountered. + It extends the Exception class, meaning it is a checked exception. + Checked exceptions need to be declared in a method or constructor's throws clause if they can be thrown by the execution of the method or constructor and propagate outside the method or constructor boundary.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/InvalidHandSizeException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/InvalidHandSizeException.html new file mode 100644 index 00000000..1bee7278 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/InvalidHandSizeException.html @@ -0,0 +1,178 @@ + + + + +InvalidHandSizeException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class InvalidHandSizeException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.model.exceptions.InvalidHandSizeException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class InvalidHandSizeException +extends RuntimeException
+
This class represents a custom exception that is thrown when an invalid hand size is encountered. + It extends the RuntimeException class, meaning it is an unchecked exception. + Unchecked exceptions do not need to be declared in a method or constructor's throws clause.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/InvalidPositionException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/InvalidPositionException.html new file mode 100644 index 00000000..7bb30c23 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/InvalidPositionException.html @@ -0,0 +1,176 @@ + + + + +InvalidPositionException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class InvalidPositionException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.model.exceptions.InvalidPositionException
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class InvalidPositionException +extends Exception
+
This class represents a custom exception that is thrown when an invalid position is encountered. + It extends the Exception class, meaning it is a checked exception. + Checked exceptions need to be declared in a method or constructor's throws clause if they can be thrown by the execution of the method or constructor and propagate outside the method or constructor boundary.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/InvalidSelectionException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/InvalidSelectionException.html new file mode 100644 index 00000000..f2146cbc --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/InvalidSelectionException.html @@ -0,0 +1,176 @@ + + + + +InvalidSelectionException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class InvalidSelectionException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.model.exceptions.InvalidSelectionException
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class InvalidSelectionException +extends Exception
+
This class represents a custom exception that is thrown when an invalid selection is made. + It extends the Exception class, meaning it is a checked exception. + Checked exceptions need to be declared in a method or constructor's throws clause if they can be thrown by the execution of the method or constructor and propagate outside the method or constructor boundary.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/MissingJSONException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/MissingJSONException.html new file mode 100644 index 00000000..10debf67 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/MissingJSONException.html @@ -0,0 +1,179 @@ + + + + +MissingJSONException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class MissingJSONException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.model.exceptions.MissingJSONException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class MissingJSONException +extends RuntimeException
+
This class represents a custom exception that is thrown when a required JSON file is missing. + It extends the RuntimeException class, meaning it is an unchecked exception. + Unchecked exceptions do not need to be declared in a method or constructor's throws clause.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/MissingRequirementsException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/MissingRequirementsException.html new file mode 100644 index 00000000..9c6e6608 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/MissingRequirementsException.html @@ -0,0 +1,176 @@ + + + + +MissingRequirementsException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class MissingRequirementsException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.model.exceptions.MissingRequirementsException
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class MissingRequirementsException +extends Exception
+
This class represents a custom exception that is thrown when the required elements for a certain operation are missing. + It extends the Exception class, meaning it is a checked exception. + Checked exceptions need to be declared in a method or constructor's throws clause if they can be thrown by the execution of the method or constructor and propagate outside the method or constructor boundary.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NonEmptyHandException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NonEmptyHandException.html new file mode 100644 index 00000000..09e27636 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NonEmptyHandException.html @@ -0,0 +1,178 @@ + + + + +NonEmptyHandException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NonEmptyHandException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.model.exceptions.NonEmptyHandException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class NonEmptyHandException +extends RuntimeException
+
This class represents a custom exception that is thrown when a non-empty hand is encountered. + It extends the RuntimeException class, meaning it is an unchecked exception. + Unchecked exceptions do not need to be declared in a method or constructor's throws clause.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NonNullColourException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NonNullColourException.html new file mode 100644 index 00000000..6230de30 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NonNullColourException.html @@ -0,0 +1,178 @@ + + + + +NonNullColourException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NonNullColourException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.model.exceptions.NonNullColourException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class NonNullColourException +extends RuntimeException
+
This class represents a custom exception that is thrown when a non-null color is encountered. + It extends the RuntimeException class, meaning it is an unchecked exception. + Unchecked exceptions do not need to be declared in a method or constructor's throws clause.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NonNullFieldException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NonNullFieldException.html new file mode 100644 index 00000000..440c8aec --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NonNullFieldException.html @@ -0,0 +1,176 @@ + + + + +NonNullFieldException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NonNullFieldException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.model.exceptions.NonNullFieldException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class NonNullFieldException +extends RuntimeException
+
This class represents a custom exception that is thrown when a non-null field is encountered where a null field was expected. + It extends the RuntimeException class, meaning it is an unchecked exception.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NullColourException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NullColourException.html new file mode 100644 index 00000000..e6b1953a --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NullColourException.html @@ -0,0 +1,176 @@ + + + + +NullColourException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NullColourException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.model.exceptions.NullColourException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class NullColourException +extends RuntimeException
+
This class represents a custom exception that is thrown when a player's color is not set. + It extends the base RuntimeException class and provides a constructor to set a custom error message.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NullFieldException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NullFieldException.html new file mode 100644 index 00000000..d6209ccb --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NullFieldException.html @@ -0,0 +1,178 @@ + + + + +NullFieldException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NullFieldException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.model.exceptions.NullFieldException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class NullFieldException +extends RuntimeException
+
This class represents a custom exception that is thrown when a null field is encountered. + It extends the RuntimeException class, meaning it is an unchecked exception. + Unchecked exceptions do not need to be declared in a method or constructor's throws clause.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NullHandException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NullHandException.html new file mode 100644 index 00000000..b00aafbf --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NullHandException.html @@ -0,0 +1,178 @@ + + + + +NullHandException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NullHandException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.model.exceptions.NullHandException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class NullHandException +extends RuntimeException
+
This class represents a custom exception that is thrown when a null hand is encountered. + It extends the RuntimeException class, meaning it is an unchecked exception. + Unchecked exceptions do not need to be declared in a method or constructor's throws clause.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NullPointStrategyException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NullPointStrategyException.html new file mode 100644 index 00000000..6aedd915 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/NullPointStrategyException.html @@ -0,0 +1,178 @@ + + + + +NullPointStrategyException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NullPointStrategyException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.model.exceptions.NullPointStrategyException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class NullPointStrategyException +extends RuntimeException
+
This class represents a custom exception that is thrown when a null point strategy is encountered. + It extends the RuntimeException class, meaning it is an unchecked exception. + Unchecked exceptions do not need to be declared in a method or constructor's throws clause.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/PlayerNotFoundException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/PlayerNotFoundException.html new file mode 100644 index 00000000..884604f3 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/PlayerNotFoundException.html @@ -0,0 +1,176 @@ + + + + +PlayerNotFoundException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class PlayerNotFoundException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.model.exceptions.PlayerNotFoundException
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class PlayerNotFoundException +extends Exception
+
This class represents a custom exception that is thrown when a player is not found. + It extends the Exception class, meaning it is a checked exception. + Checked exceptions need to be declared in a method or constructor's throws clause or caught within the method.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/RollbackException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/RollbackException.html new file mode 100644 index 00000000..79063693 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/RollbackException.html @@ -0,0 +1,177 @@ + + + + +RollbackException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class RollbackException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
it.polimi.ingsw.am32.model.exceptions.RollbackException
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class RollbackException +extends Exception
+
This class represents a custom exception named RollbackException. + It extends the Exception class, hence it is a checked exception. + This exception is thrown when a rollback operation is required in the application.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/SecretObjectiveCardException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/SecretObjectiveCardException.html new file mode 100644 index 00000000..7199b9cc --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/SecretObjectiveCardException.html @@ -0,0 +1,178 @@ + + + + +SecretObjectiveCardException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class SecretObjectiveCardException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.model.exceptions.SecretObjectiveCardException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class SecretObjectiveCardException +extends RuntimeException
+
This class represents a custom exception that is thrown when a secret objective card related error is encountered. + It extends the RuntimeException class, meaning it is an unchecked exception. + Unchecked exceptions do not need to be declared in a method or constructor's throws clause.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/WrongDeckTypeException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/WrongDeckTypeException.html new file mode 100644 index 00000000..0d530021 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/WrongDeckTypeException.html @@ -0,0 +1,178 @@ + + + + +WrongDeckTypeException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class WrongDeckTypeException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
it.polimi.ingsw.am32.model.exceptions.WrongDeckTypeException
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class WrongDeckTypeException +extends RuntimeException
+
This class represents a custom exception that is thrown when an incorrect deck type is used. + It extends the Exception class, meaning it is a checked exception. + Checked exceptions need to be declared in a method or constructor's throws clause if they can be thrown by the + execution of the method or constructor and propagate outside the method or constructor boundary.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/package-summary.html new file mode 100644 index 00000000..572fc140 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/package-summary.html @@ -0,0 +1,185 @@ + + + + +it.polimi.ingsw.am32.model.exceptions + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.model.exceptions

+
+
+
+
package it.polimi.ingsw.am32.model.exceptions
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/package-tree.html new file mode 100644 index 00000000..3b3cfb86 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/exceptions/package-tree.html @@ -0,0 +1,97 @@ + + + + +it.polimi.ingsw.am32.model.exceptions Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.model.exceptions

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/field/CardPlaced.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/field/CardPlaced.html new file mode 100644 index 00000000..01e32cd6 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/field/CardPlaced.html @@ -0,0 +1,361 @@ + + + + +CardPlaced + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class CardPlaced

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.field.CardPlaced
+
+
+
+
+
public class CardPlaced +extends Object
+
Used to store information about a currently placed card. Stores the position of the card in the player's field + along with its orientation. + The coordinates are those of the center of the card.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/field/Field.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/field/Field.html new file mode 100644 index 00000000..d2376920 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/field/Field.html @@ -0,0 +1,498 @@ + + + + +Field + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class Field

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.field.Field
+
+
+
+
+
public class Field +extends Object
+
Used to store information about the field of the player. It contains the cards placed and the resources available.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/field/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/field/package-summary.html new file mode 100644 index 00000000..f1e168d6 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/field/package-summary.html @@ -0,0 +1,117 @@ + + + + +it.polimi.ingsw.am32.model.field + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.model.field

+
+
+
+
package it.polimi.ingsw.am32.model.field
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/field/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/field/package-tree.html new file mode 100644 index 00000000..3b8706f9 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/field/package-tree.html @@ -0,0 +1,68 @@ + + + + +it.polimi.ingsw.am32.model.field Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.model.field

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/match/Match.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/match/Match.html new file mode 100644 index 00000000..297300a9 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/match/Match.html @@ -0,0 +1,1436 @@ + + + + +Match + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class Match

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.match.Match
+
+
+
+
+
All Implemented Interfaces:
+
ModelInterface
+
+
+
public class Match +extends Object +implements ModelInterface
+
Primary class used to represent a single instance of a game.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/match/MatchStatus.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/match/MatchStatus.html new file mode 100644 index 00000000..a541d63b --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/match/MatchStatus.html @@ -0,0 +1,388 @@ + + + + +MatchStatus + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Enum Class MatchStatus

+
+
java.lang.Object +
java.lang.Enum<MatchStatus> +
it.polimi.ingsw.am32.model.match.MatchStatus
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<MatchStatus>, Constable
+
+
+
public enum MatchStatus +extends Enum<MatchStatus>
+
The MatchStatus enum represents the different states a match can be in. + Each state is associated with a specific integer value.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/match/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/match/package-summary.html new file mode 100644 index 00000000..2e3dcbc3 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/match/package-summary.html @@ -0,0 +1,119 @@ + + + + +it.polimi.ingsw.am32.model.match + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.model.match

+
+
+
+
package it.polimi.ingsw.am32.model.match
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/match/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/match/package-tree.html new file mode 100644 index 00000000..ff70b653 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/match/package-tree.html @@ -0,0 +1,81 @@ + + + + +it.polimi.ingsw.am32.model.match Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.model.match

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/package-summary.html new file mode 100644 index 00000000..4e9b0a30 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/package-summary.html @@ -0,0 +1,113 @@ + + + + +it.polimi.ingsw.am32.model + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.model

+
+
+
+
package it.polimi.ingsw.am32.model
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/package-tree.html new file mode 100644 index 00000000..d221c2b4 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/package-tree.html @@ -0,0 +1,63 @@ + + + + +it.polimi.ingsw.am32.model Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.model

+
+Package Hierarchies: + +
+

Interface Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/player/Colour.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/player/Colour.html new file mode 100644 index 00000000..0c1266b8 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/player/Colour.html @@ -0,0 +1,375 @@ + + + + +Colour + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Enum Class Colour

+
+
java.lang.Object +
java.lang.Enum<Colour> +
it.polimi.ingsw.am32.model.player.Colour
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<Colour>, Constable
+
+
+
public enum Colour +extends Enum<Colour>
+
This enum represents the different colours a player can have in the game. + Each colour is associated with a unique integer value.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/player/Player.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/player/Player.html new file mode 100644 index 00000000..722f26b7 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/player/Player.html @@ -0,0 +1,778 @@ + + + + +Player + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class Player

+
+
java.lang.Object +
it.polimi.ingsw.am32.model.player.Player
+
+
+
+
+
public class Player +extends Object
+
This class is responsible for managing the player's actions and status.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/player/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/player/package-summary.html new file mode 100644 index 00000000..68c202d6 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/player/package-summary.html @@ -0,0 +1,119 @@ + + + + +it.polimi.ingsw.am32.model.player + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.model.player

+
+
+
+
package it.polimi.ingsw.am32.model.player
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/player/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/player/package-tree.html new file mode 100644 index 00000000..24588d3a --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/model/player/package-tree.html @@ -0,0 +1,81 @@ + + + + +it.polimi.ingsw.am32.model.player Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.model.player

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientAcceptor/RMIClientAcceptor.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientAcceptor/RMIClientAcceptor.html new file mode 100644 index 00000000..495a912b --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientAcceptor/RMIClientAcceptor.html @@ -0,0 +1,300 @@ + + + + +RMIClientAcceptor + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class RMIClientAcceptor

+
+
java.lang.Object +
java.rmi.server.RemoteObject +
java.rmi.server.RemoteServer +
java.rmi.server.UnicastRemoteObject +
it.polimi.ingsw.am32.network.ClientAcceptor.RMIClientAcceptor
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
RMIClientAcceptorInt, Serializable, Remote
+
+
+
public class RMIClientAcceptor +extends UnicastRemoteObject +implements RMIClientAcceptorInt
+
The class RMIClientAcceptor is the implementation of the RMI methods that the interface + RMIClientAcceptorInt expose to the clients.
+ an instance of RMIClientNode invoke those methods on the server + when the client hasn't joined yet a game.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientAcceptor/RMIClientAcceptorInt.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientAcceptor/RMIClientAcceptorInt.html new file mode 100644 index 00000000..9477bc01 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientAcceptor/RMIClientAcceptorInt.html @@ -0,0 +1,192 @@ + + + + +RMIClientAcceptorInt + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Interface RMIClientAcceptorInt

+
+
+
+
+
All Superinterfaces:
+
Remote
+
+
+
All Known Implementing Classes:
+
RMIClientAcceptor
+
+
+
public interface RMIClientAcceptorInt +extends Remote
+
The interface RMIClientAcceptorInt exposes the RMI methods that a + RMIClientNode instance can invoke on the server when the client hasn't + joined yet a game.
+ On the server a RMIClientAcceptor will implement this interface to process the invocation of the methods + included.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientAcceptor/SKClientAcceptor.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientAcceptor/SKClientAcceptor.html new file mode 100644 index 00000000..f6cf04ea --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientAcceptor/SKClientAcceptor.html @@ -0,0 +1,232 @@ + + + + +SKClientAcceptor + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class SKClientAcceptor

+
+
java.lang.Object +
it.polimi.ingsw.am32.network.ClientAcceptor.SKClientAcceptor
+
+
+
+
+
All Implemented Interfaces:
+
Runnable
+
+
+
public class SKClientAcceptor +extends Object +implements Runnable
+
The class SKClientAcceptor manages the new requests of connection to the server by the clients using socket + as network protocol.
+ Only one instance of this class is required to be created when the server is run. + Because this class is an implementation of the interface Runnable, is preferable to assign its instance to a + new thread to maximise parallelization.
+ Alternatively the method run() can be invoked directly. Doing this, however, will result in + the caller being stuck, waiting for new incoming connections.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientAcceptor/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientAcceptor/package-summary.html new file mode 100644 index 00000000..0adb7a7a --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientAcceptor/package-summary.html @@ -0,0 +1,106 @@ + + + + +it.polimi.ingsw.am32.network.ClientAcceptor + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.network.ClientAcceptor

+
+
+
+
package it.polimi.ingsw.am32.network.ClientAcceptor
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientAcceptor/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientAcceptor/package-tree.html new file mode 100644 index 00000000..ba1d5e70 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientAcceptor/package-tree.html @@ -0,0 +1,90 @@ + + + + +it.polimi.ingsw.am32.network.ClientAcceptor Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.network.ClientAcceptor

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/ClientNodeInterface.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/ClientNodeInterface.html new file mode 100644 index 00000000..6687d672 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/ClientNodeInterface.html @@ -0,0 +1,206 @@ + + + + +ClientNodeInterface + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Interface ClientNodeInterface

+
+
+
+
+
All Known Implementing Classes:
+
RMIClientNode, SKClientNode
+
+
+
public interface ClientNodeInterface
+
This ClientNodeInterface interface is used to identify all ClientNodes through which communication with the + server can happen.
+ It's objective is to mask behind the interface the complexity of managing the network part of the client, so that the + other classes of the client don't have to know how is the communication between server and client working.
+ It contains all the methods that another class in the client can invoke on any ClientNode.
+ It's important to know that it's necessary and also enough to create one instance of ClientNode per client for the + entire duration of the game.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/ClientPingTask.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/ClientPingTask.html new file mode 100644 index 00000000..06f37f03 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/ClientPingTask.html @@ -0,0 +1,256 @@ + + + + +ClientPingTask + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class ClientPingTask

+
+
java.lang.Object +
java.util.TimerTask +
it.polimi.ingsw.am32.network.ClientNode.ClientPingTask
+
+
+
+
+
+
All Implemented Interfaces:
+
Runnable
+
+
+
public class ClientPingTask +extends TimerTask
+
The ClientPingTask class contains the pointer to a ClientNode, given when the object is instantiated.
+ This class is used by a Timer to invoke the method ClientNodeInterface.pongTimeOverdue() + on the given node.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/RMIClientNode.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/RMIClientNode.html new file mode 100644 index 00000000..f61c9624 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/RMIClientNode.html @@ -0,0 +1,722 @@ + + + + +RMIClientNode + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class RMIClientNode

+
+
java.lang.Object +
java.rmi.server.RemoteObject +
java.rmi.server.RemoteServer +
java.rmi.server.UnicastRemoteObject +
it.polimi.ingsw.am32.network.ClientNode.RMIClientNode
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
ClientNodeInterface, RMIClientNodeInt, Serializable, Remote
+
+
+
public class RMIClientNode +extends UnicastRemoteObject +implements ClientNodeInterface, RMIClientNodeInt
+
RMIClientNode is the class that manage the connection with the server.
+ It implements the ClientNodeInterface interface and extends UnicastRemoteObject.
+ Is necessary and enough to instantiate one instance of this class to connect to the server.
+ If the connection were to go down, the instance will automatically try to reset and reconnect.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/RMIClientNodeInt.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/RMIClientNodeInt.html new file mode 100644 index 00000000..6ca93f15 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/RMIClientNodeInt.html @@ -0,0 +1,167 @@ + + + + +RMIClientNodeInt + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Interface RMIClientNodeInt

+
+
+
+
+
All Superinterfaces:
+
Remote
+
+
+
All Known Implementing Classes:
+
RMIClientNode
+
+
+
public interface RMIClientNodeInt +extends Remote
+
The interface RMIClientNodeInt exposes the RMI methods that a + RMIServerNode or RMIClientAcceptor + instance can invoke on the client.
+ On the client a RMIClientNode will implement this interface to process the invocation of the method included.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/SKClientNode.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/SKClientNode.html new file mode 100644 index 00000000..532fdbcc --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/SKClientNode.html @@ -0,0 +1,729 @@ + + + + +SKClientNode + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class SKClientNode

+
+
java.lang.Object +
it.polimi.ingsw.am32.network.ClientNode.SKClientNode
+
+
+
+
+
All Implemented Interfaces:
+
ClientNodeInterface, Runnable
+
+
+
public class SKClientNode +extends Object +implements ClientNodeInterface, Runnable
+
SKClientNode is the class that manage the connection with the server.
+ It implements the ClientNodeInterface interface and the method run() of Runnable interface + to handle the messages incoming from the server.
+ Is necessary and enough to instantiate one instance of this class to connect to the server.
+ If the connection were to go down, the instance will automatically try to reset and reconnect.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/package-summary.html new file mode 100644 index 00000000..80854e2d --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/package-summary.html @@ -0,0 +1,113 @@ + + + + +it.polimi.ingsw.am32.network.ClientNode + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.network.ClientNode

+
+
+
+
package it.polimi.ingsw.am32.network.ClientNode
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/package-tree.html new file mode 100644 index 00000000..15002b88 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ClientNode/package-tree.html @@ -0,0 +1,96 @@ + + + + +it.polimi.ingsw.am32.network.ClientNode Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.network.ClientNode

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/RMIServerNode.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/RMIServerNode.html new file mode 100644 index 00000000..eea5ef14 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/RMIServerNode.html @@ -0,0 +1,509 @@ + + + + +RMIServerNode + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class RMIServerNode

+
+
java.lang.Object +
java.rmi.server.RemoteObject +
java.rmi.server.RemoteServer +
java.rmi.server.UnicastRemoteObject +
it.polimi.ingsw.am32.network.ServerNode.RMIServerNode
+
+
+
+
+
+
+
+
All Implemented Interfaces:
+
RMIServerNodeInt, ServerNodeInterface, Serializable, Remote
+
+
+
public class RMIServerNode +extends UnicastRemoteObject +implements RMIServerNodeInt, ServerNodeInterface
+
Each instance of class RMIServerNode handle une RMI connection with a client.
+ If, at some point, the connection were to go down, this instance while begin automatically a termination process
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/RMIServerNodeInt.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/RMIServerNodeInt.html new file mode 100644 index 00000000..598c772c --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/RMIServerNodeInt.html @@ -0,0 +1,165 @@ + + + + +RMIServerNodeInt + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Interface RMIServerNodeInt

+
+
+
+
+
All Superinterfaces:
+
Remote
+
+
+
All Known Implementing Classes:
+
RMIServerNode
+
+
+
public interface RMIServerNodeInt +extends Remote
+
The interface RMIServerNodeInt exposes the RMI methods that a + RMIClientNode instance can invoke on the server.
+ On the server a RMIServerNode will implement this interface to process the invocation of the method included.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/SKServerNode.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/SKServerNode.html new file mode 100644 index 00000000..8b5ab106 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/SKServerNode.html @@ -0,0 +1,531 @@ + + + + +SKServerNode + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class SKServerNode

+
+
java.lang.Object +
it.polimi.ingsw.am32.network.ServerNode.SKServerNode
+
+
+
+
+
All Implemented Interfaces:
+
ServerNodeInterface, Runnable
+
+
+
public class SKServerNode +extends Object +implements Runnable, ServerNodeInterface
+
Each instance of class SKServerNode handles a socket connection with a client.
+ If, at some point, the connection were to go down, this instance will begin automatically a termination process.
+ The class implements the Runnable interface to allow the instance to be run in a separate thread.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/ServerNodeInterface.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/ServerNodeInterface.html new file mode 100644 index 00000000..0d71dae0 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/ServerNodeInterface.html @@ -0,0 +1,199 @@ + + + + +ServerNodeInterface + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Interface ServerNodeInterface

+
+
+
+
+
All Known Implementing Classes:
+
RMIServerNode, SKServerNode
+
+
+
public interface ServerNodeInterface
+
This ServerNodeInterface interface is used to identify all ServerNodes through which communication, with + clients, can happen.
+ It's objective is to mask behind the interface the complexity of managing the network part of the server, so that the + other classes of the server don't have to know how is the communication between server and client working.
+ It contains all the methods that another class in the server can invoke on any ServerNode.
+ It's important to know that each instance of ServerNode is assigned to a different client. If, at some point, the + communication to a client is impossible, the instance of ServerNode assigned to that client will follow a termination + process that will lead to the destruction of the instance itself and every object strictly linked to it. A new + instance will have to be created if the client were to reconnect later.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/ServerPingTask.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/ServerPingTask.html new file mode 100644 index 00000000..b31131f5 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/ServerPingTask.html @@ -0,0 +1,256 @@ + + + + +ServerPingTask + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class ServerPingTask

+
+
java.lang.Object +
java.util.TimerTask +
it.polimi.ingsw.am32.network.ServerNode.ServerPingTask
+
+
+
+
+
+
All Implemented Interfaces:
+
Runnable
+
+
+
public class ServerPingTask +extends TimerTask
+
The ServerPingTask class contains the pointer to a ServerNode, given when the object is instantiated.
+ This class is used by a Timer to invoke the method ServerNodeInterface.pingTimeOverdue() + on the given node.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/package-summary.html new file mode 100644 index 00000000..bc226994 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/package-summary.html @@ -0,0 +1,113 @@ + + + + +it.polimi.ingsw.am32.network.ServerNode + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.network.ServerNode

+
+
+
+
package it.polimi.ingsw.am32.network.ServerNode
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/package-tree.html new file mode 100644 index 00000000..236b4562 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/ServerNode/package-tree.html @@ -0,0 +1,96 @@ + + + + +it.polimi.ingsw.am32.network.ServerNode Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.network.ServerNode

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/ConnectionSetupFailedException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/ConnectionSetupFailedException.html new file mode 100644 index 00000000..8372aa54 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/ConnectionSetupFailedException.html @@ -0,0 +1,165 @@ + + + + +ConnectionSetupFailedException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class ConnectionSetupFailedException

+
+
java.lang.Object +
java.lang.Throwable +
it.polimi.ingsw.am32.network.exceptions.ConnectionSetupFailedException
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class ConnectionSetupFailedException +extends Throwable
+
A simple Exception that extends Throwable and add nothing else.
+ Used to notify the View that the instantiation of a ClientNode was unsuccessful.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/ErrorMessageCode.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/ErrorMessageCode.html new file mode 100644 index 00000000..b2e3b0db --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/ErrorMessageCode.html @@ -0,0 +1,358 @@ + + + + +ErrorMessageCode + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Enum Class ErrorMessageCode

+
+
java.lang.Object +
java.lang.Enum<ErrorMessageCode> +
it.polimi.ingsw.am32.network.exceptions.ErrorMessageCode
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<ErrorMessageCode>, Constable
+
+
+
public enum ErrorMessageCode +extends Enum<ErrorMessageCode>
+
Enumerates the error message codes. + The error message codes are used to identify the type of error that occurred.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/NodeClosedException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/NodeClosedException.html new file mode 100644 index 00000000..9fc36ef7 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/NodeClosedException.html @@ -0,0 +1,166 @@ + + + + +NodeClosedException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class NodeClosedException

+
+
java.lang.Object +
java.lang.Throwable +
it.polimi.ingsw.am32.network.exceptions.NodeClosedException
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class NodeClosedException +extends Throwable
+
A simple Exception that extends Throwable and add nothing else.
+ Used to notify the caller that the Node (Server or Client) on which the method was invoked, is not usable at the + moment.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/UninitializedException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/UninitializedException.html new file mode 100644 index 00000000..4764c4da --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/UninitializedException.html @@ -0,0 +1,166 @@ + + + + +UninitializedException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class UninitializedException

+
+
java.lang.Object +
java.lang.Throwable +
it.polimi.ingsw.am32.network.exceptions.UninitializedException
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class UninitializedException +extends Throwable
+
A simple Exception that extends Throwable and add nothing else.
+ Used to notify the SKClientAcceptor that the instantiation + of a SKClientNode was unsuccessful.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/UploadFailureException.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/UploadFailureException.html new file mode 100644 index 00000000..32513082 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/UploadFailureException.html @@ -0,0 +1,165 @@ + + + + +UploadFailureException + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class UploadFailureException

+
+
java.lang.Object +
java.lang.Throwable +
it.polimi.ingsw.am32.network.exceptions.UploadFailureException
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class UploadFailureException +extends Throwable
+
A simple Exception that extends Throwable and add nothing else.
+ Used to notify the caller that the message given to the Node (Server or Client) could not be sent.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/package-summary.html new file mode 100644 index 00000000..c408559b --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/package-summary.html @@ -0,0 +1,110 @@ + + + + +it.polimi.ingsw.am32.network.exceptions + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.network.exceptions

+
+
+
+
package it.polimi.ingsw.am32.network.exceptions
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/package-tree.html new file mode 100644 index 00000000..1e9e3547 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/network/exceptions/package-tree.html @@ -0,0 +1,88 @@ + + + + +it.polimi.ingsw.am32.network.exceptions Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.network.exceptions

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/package-summary.html new file mode 100644 index 00000000..3e83cdd8 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/package-summary.html @@ -0,0 +1,115 @@ + + + + +it.polimi.ingsw.am32 + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32

+
+
+
+
package it.polimi.ingsw.am32
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/package-tree.html new file mode 100644 index 00000000..426a49d3 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/package-tree.html @@ -0,0 +1,68 @@ + + + + +it.polimi.ingsw.am32 Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/Configuration.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/Configuration.html new file mode 100644 index 00000000..73b1abe5 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/Configuration.html @@ -0,0 +1,608 @@ + + + + +Configuration + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class Configuration

+
+
java.lang.Object +
it.polimi.ingsw.am32.utilities.Configuration
+
+
+
+
+
public class Configuration +extends Object
+
This class is responsible for managing and storing server configuration parameters. +
+ This class implements the singleton pattern allowing the server configuration to be unique and + retrievable everywhere in the project. +
+ Configuration options come from 3 sources: hardcoded, config file, startup parameters
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/IPAddressFinder.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/IPAddressFinder.html new file mode 100644 index 00000000..46fd6c04 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/IPAddressFinder.html @@ -0,0 +1,185 @@ + + + + +IPAddressFinder + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class IPAddressFinder

+
+
java.lang.Object +
it.polimi.ingsw.am32.utilities.IPAddressFinder
+
+
+
+
+
public class IPAddressFinder +extends Object
+
This class is used to find all IPv4 addresses of the current machine.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/IsValid.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/IsValid.html new file mode 100644 index 00000000..9681d7bb --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/IsValid.html @@ -0,0 +1,209 @@ + + + + +IsValid + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class IsValid

+
+
java.lang.Object +
it.polimi.ingsw.am32.utilities.IsValid
+
+
+
+
+
public class IsValid +extends Object
+
This class provides methods to check if an IP address and a port number are valid. + Used to validate the IP address and port number provided by the user.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/Log4J2ConfiguratorWrapper.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/Log4J2ConfiguratorWrapper.html new file mode 100644 index 00000000..31af1a65 --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/Log4J2ConfiguratorWrapper.html @@ -0,0 +1,184 @@ + + + + +Log4J2ConfiguratorWrapper + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +

Class Log4J2ConfiguratorWrapper

+
+
java.lang.Object +
it.polimi.ingsw.am32.utilities.Log4J2ConfiguratorWrapper
+
+
+
+
+
public class Log4J2ConfiguratorWrapper +extends Object
+
This class is a wrapper for configuring Log4J2. + It provides a method to set the log level and configure the logger.
+
+
+
+ +
+
+ +
+ +
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/package-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/package-summary.html new file mode 100644 index 00000000..6867a81f --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/package-summary.html @@ -0,0 +1,123 @@ + + + + +it.polimi.ingsw.am32.utilities + + + + + + + + + + + + + + +
+ +
+
+
+ +

Package it.polimi.ingsw.am32.utilities

+
+
+
+
package it.polimi.ingsw.am32.utilities
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/package-tree.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/package-tree.html new file mode 100644 index 00000000..03a87fac --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/it/polimi/ingsw/am32/utilities/package-tree.html @@ -0,0 +1,70 @@ + + + + +it.polimi.ingsw.am32.utilities Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package it.polimi.ingsw.am32.utilities

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/it.polimi.ingsw.am32/module-summary.html b/deliverables/JavaDoc/it.polimi.ingsw.am32/module-summary.html new file mode 100644 index 00000000..d41ec98f --- /dev/null +++ b/deliverables/JavaDoc/it.polimi.ingsw.am32/module-summary.html @@ -0,0 +1,278 @@ + + + + +it.polimi.ingsw.am32 + + + + + + + + + + + + + + +
+ +
+
+
+

Module it.polimi.ingsw.am32

+
+
+
+
module it.polimi.ingsw.am32
+
+ +
This module is the main module of the project.
+
+
+
+ +
+
+ + diff --git a/deliverables/JavaDoc/legal/ADDITIONAL_LICENSE_INFO b/deliverables/JavaDoc/legal/ADDITIONAL_LICENSE_INFO new file mode 100644 index 00000000..ff700cd0 --- /dev/null +++ b/deliverables/JavaDoc/legal/ADDITIONAL_LICENSE_INFO @@ -0,0 +1,37 @@ + ADDITIONAL INFORMATION ABOUT LICENSING + +Certain files distributed by Oracle America, Inc. and/or its affiliates are +subject to the following clarification and special exception to the GPLv2, +based on the GNU Project exception for its Classpath libraries, known as the +GNU Classpath Exception. + +Note that Oracle includes multiple, independent programs in this software +package. Some of those programs are provided under licenses deemed +incompatible with the GPLv2 by the Free Software Foundation and others. +For example, the package includes programs licensed under the Apache +License, Version 2.0 and may include FreeType. Such programs are licensed +to you under their original licenses. + +Oracle facilitates your further distribution of this package by adding the +Classpath Exception to the necessary parts of its GPLv2 code, which permits +you to use that code in combination with other independent modules not +licensed under the GPLv2. However, note that this would not permit you to +commingle code under an incompatible license with Oracle's GPLv2 licensed +code by, for example, cutting and pasting such code into a file also +containing Oracle's GPLv2 licensed code and then distributing the result. + +Additionally, if you were to remove the Classpath Exception from any of the +files to which it applies and distribute the result, you would likely be +required to license some or all of the other code in that distribution under +the GPLv2 as well, and since the GPLv2 is incompatible with the license terms +of some items included in the distribution by Oracle, removing the Classpath +Exception could therefore effectively compromise your ability to further +distribute the package. + +Failing to distribute notices associated with some files may also create +unexpected legal consequences. + +Proceed with caution and we recommend that you obtain the advice of a lawyer +skilled in open source matters before removing the Classpath Exception or +making modifications to this package which may subsequently be redistributed +and/or involve the use of third party software. diff --git a/deliverables/JavaDoc/legal/ASSEMBLY_EXCEPTION b/deliverables/JavaDoc/legal/ASSEMBLY_EXCEPTION new file mode 100644 index 00000000..42966666 --- /dev/null +++ b/deliverables/JavaDoc/legal/ASSEMBLY_EXCEPTION @@ -0,0 +1,27 @@ + +OPENJDK ASSEMBLY EXCEPTION + +The OpenJDK source code made available by Oracle America, Inc. (Oracle) at +openjdk.org ("OpenJDK Code") is distributed under the terms of the GNU +General Public License version 2 +only ("GPL2"), with the following clarification and special exception. + + Linking this OpenJDK Code statically or dynamically with other code + is making a combined work based on this library. Thus, the terms + and conditions of GPL2 cover the whole combination. + + As a special exception, Oracle gives you permission to link this + OpenJDK Code with certain code licensed by Oracle as indicated at + https://openjdk.org/legal/exception-modules-2007-05-08.html + ("Designated Exception Modules") to produce an executable, + regardless of the license terms of the Designated Exception Modules, + and to copy and distribute the resulting executable under GPL2, + provided that the Designated Exception Modules continue to be + governed by the licenses under which they were offered by Oracle. + +As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code +to build an executable that includes those portions of necessary code that +Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 +with the Classpath exception). If you modify or add to the OpenJDK code, +that new GPL2 code may still be combined with Designated Exception Modules +if the new code is made subject to this exception by its copyright holder. diff --git a/deliverables/JavaDoc/legal/LICENSE b/deliverables/JavaDoc/legal/LICENSE new file mode 100644 index 00000000..8b400c7a --- /dev/null +++ b/deliverables/JavaDoc/legal/LICENSE @@ -0,0 +1,347 @@ +The GNU General Public License (GPL) + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software is +covered by the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom to +distribute copies of free software (and charge for this service if you wish), +that you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs; and that you know you +can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of the +software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for +a fee, you must give the recipients all the rights that you have. You must +make sure that they, too, receive or can get the source code. And you must +show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If the +software is modified by someone else and passed on, we want its recipients to +know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program proprietary. +To prevent this, we have made it clear that any patent must be licensed for +everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms of +this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is included +without limitation in the term "modification".) Each licensee is addressed as +"you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is +not restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by +running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as +you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this License +and to the absence of any warranty; and give any other recipients of the +Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may +at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all of +these conditions: + + a) You must cause the modified files to carry prominent notices stating + that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in whole or + in part contains or is derived from the Program or any part thereof, to be + licensed as a whole at no charge to all third parties under the terms of + this License. + + c) If the modified program normally reads commands interactively when run, + you must cause it, when started running for such interactive use in the + most ordinary way, to print or display an announcement including an + appropriate copyright notice and a notice that there is no warranty (or + else, saying that you provide a warranty) and that users may redistribute + the program under these conditions, and telling the user how to view a copy + of this License. (Exception: if the Program itself is interactive but does + not normally print such an announcement, your work based on the Program is + not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, and +its terms, do not apply to those sections when you distribute them as separate +works. But when you distribute the same sections as part of a whole which is a +work based on the Program, the distribution of the whole must be on the terms +of this License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Program. + +In addition, mere aggregation of another work not based on the Program with the +Program (or with a work based on the Program) on a volume of a storage or +distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under +Section 2) in object code or executable form under the terms of Sections 1 and +2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable source + code, which must be distributed under the terms of Sections 1 and 2 above + on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three years, to + give any third party, for a charge no more than your cost of physically + performing source distribution, a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of Sections 1 + and 2 above on a medium customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed only + for noncommercial distribution and only if you received the program in + object code or executable form with such an offer, in accord with + Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code +distributed need not include anything that is normally distributed (in either +source or binary form) with the major components (compiler, kernel, and so on) +of the operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the source +code from the same place counts as distribution of the source code, even though +third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as +expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, or +rights, from you under this License will not have their licenses terminated so +long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the Program +or its derivative works. These actions are prohibited by law if you do not +accept this License. Therefore, by modifying or distributing the Program (or +any work based on the Program), you indicate your acceptance of this License to +do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by +third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), conditions +are imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from the +conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not distribute the Program at all. +For example, if a patent license would not permit royalty-free redistribution +of the Program by all those who receive copies directly or indirectly through +you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or +other property right claims or to contest validity of any such claims; this +section has the sole purpose of protecting the integrity of the free software +distribution system, which is implemented by public license practices. Many +people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose that +choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Program under this License may add an explicit +geographical distribution limitation excluding those countries, so that +distribution is permitted only in or among countries not thus excluded. In +such case, this License incorporates the limitation as if written in the body +of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the +General Public License from time to time. Such new versions will be similar in +spirit to the present version, but may differ in detail to address new problems +or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any later +version", you have the option of following the terms and conditions either of +that version or of any later version published by the Free Software Foundation. +If the Program does not specify a version number of this License, you may +choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status of +all derivatives of our free software and of promoting the sharing and reuse of +software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, +YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE +PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR +INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA +BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER +OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + One line to give the program's name and a brief idea of what it does. + + Copyright (C) + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it +starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes + with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free + software, and you are welcome to redistribute it under certain conditions; + type 'show c' for details. + +The hypothetical commands 'show w' and 'show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than 'show w' and 'show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + 'Gnomovision' (which makes passes at compilers) written by James Hacker. + + signature of Ty Coon, 1 April 1989 + + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General Public +License instead of this License. + + +"CLASSPATH" EXCEPTION TO THE GPL + +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." + + Linking this library statically or dynamically with other modules is making + a combined work based on this library. Thus, the terms and conditions of + the GNU General Public License cover the whole combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent modules, + and to copy and distribute the resulting executable under terms of your + choice, provided that you also meet, for each linked independent module, + the terms and conditions of the license of that module. An independent + module is a module which is not derived from or based on this library. If + you modify this library, you may extend this exception to your version of + the library, but you are not obligated to do so. If you do not wish to do + so, delete this exception statement from your version. diff --git a/deliverables/JavaDoc/legal/jquery.md b/deliverables/JavaDoc/legal/jquery.md new file mode 100644 index 00000000..d468b318 --- /dev/null +++ b/deliverables/JavaDoc/legal/jquery.md @@ -0,0 +1,72 @@ +## jQuery v3.6.1 + +### jQuery License +``` +jQuery v 3.6.1 +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +****************************************** + +The jQuery JavaScript Library v3.6.1 also includes Sizzle.js + +Sizzle.js includes the following license: + +Copyright JS Foundation and other contributors, https://js.foundation/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/sizzle + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +********************* + +``` diff --git a/deliverables/JavaDoc/legal/jqueryUI.md b/deliverables/JavaDoc/legal/jqueryUI.md new file mode 100644 index 00000000..8bda9d7a --- /dev/null +++ b/deliverables/JavaDoc/legal/jqueryUI.md @@ -0,0 +1,49 @@ +## jQuery UI v1.13.2 + +### jQuery UI License +``` +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +``` diff --git a/deliverables/JavaDoc/member-search-index.js b/deliverables/JavaDoc/member-search-index.js new file mode 100644 index 00000000..3464e3a5 --- /dev/null +++ b/deliverables/JavaDoc/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"it.polimi.ingsw.am32.controller","c":"GamesManager","l":"accessGame(String, int, ServerNodeInterface)","u":"accessGame(java.lang.String,int,it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AccessGameConfirmMessage","l":"AccessGameConfirmMessage(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"AccessGameMessage","l":"AccessGameMessage(int, String)","u":"%3Cinit%3E(int,java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.field","c":"Field","l":"activeRes"},{"p":"it.polimi.ingsw.am32.model.deck","c":"CardDeck","l":"addCard(Card)","u":"addCard(it.polimi.ingsw.am32.model.card.Card)"},{"p":"it.polimi.ingsw.am32.model.deck","c":"NonObjectiveCardDeck","l":"addCard(NonObjectiveCard)","u":"addCard(it.polimi.ingsw.am32.model.card.NonObjectiveCard)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"ChatArea","l":"addIncomingMessageToChat(String, String)","u":"addIncomingMessageToChat(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.chat","c":"Chat","l":"addMessage(ChatMessage)","u":"addMessage(it.polimi.ingsw.am32.chat.ChatMessage)"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListener","l":"addMessage(CtoSLobbyMessage)","u":"addMessage(it.polimi.ingsw.am32.message.ClientToServer.CtoSLobbyMessage)"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListenerInterface","l":"addMessage(CtoSLobbyMessage)","u":"addMessage(it.polimi.ingsw.am32.message.ClientToServer.CtoSLobbyMessage)"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListener","l":"addMessage(CtoSMessage)","u":"addMessage(it.polimi.ingsw.am32.message.ClientToServer.CtoSMessage)"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListenerInterface","l":"addMessage(CtoSMessage)","u":"addMessage(it.polimi.ingsw.am32.message.ClientToServer.CtoSMessage)"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualView","l":"addMessage(StoCMessage)","u":"addMessage(it.polimi.ingsw.am32.message.ServerToClient.StoCMessage)"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualViewInterface","l":"addMessage(StoCMessage)","u":"addMessage(it.polimi.ingsw.am32.message.ServerToClient.StoCMessage)"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"addObjectivePoints()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"addObjectivePoints()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"addPlayer(String)","u":"addPlayer(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"addPlayer(String)","u":"addPlayer(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"addPlayer(String, ServerNodeInterface)","u":"addPlayer(java.lang.String,it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface)"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"addTimerTask(ServerPingTask)","u":"addTimerTask(it.polimi.ingsw.am32.network.ServerNode.ServerPingTask)"},{"p":"it.polimi.ingsw.am32.client","c":"PlayerPub","l":"addToField(CardPlacedView)","u":"addToField(it.polimi.ingsw.am32.client.CardPlacedView)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"aliveLock"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"aliveLock"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"aliveLock"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"aliveLock"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"AllSpecial","l":"AllSpecial()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"AlreadyComputedPointsException","l":"AlreadyComputedPointsException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"alreadyEnteredTerminatingPhase"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"AnglesCovered","l":"AnglesCovered()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.model.card","c":"CornerType","l":"ANIMAL"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"ObjectType","l":"ANIMAL"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"ANIMAL"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"ANIMALCARD"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"ANSI_BLACK"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"ANSI_BLUE"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"ANSI_GREEN"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"ANSI_PURPLE"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"ANSI_RED"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"ANSI_RESET"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"ANSI_YELLOW"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"app"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"areWeTerminating()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"areWeTerminating()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"askCreateGame()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"askCreateGame()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"askCreateGame()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"askForLocalIPAddress()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"askIfWantToReconnect()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"askJoinGame()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"askJoinGame()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"askJoinGame()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"askListener"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListener","l":"AskListener(ClientNodeInterface)","u":"%3Cinit%3E(it.polimi.ingsw.am32.network.ClientNode.ClientNodeInterface)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"askNickname()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"askReconnectGame()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"askReconnectGame()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"askReconnectGame()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"askSelectGameMode()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"askSelectGameMode()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"askSelectGameMode()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AssignedSecretObjectiveCardMessage","l":"AssignedSecretObjectiveCardMessage(String, ArrayList, ArrayList, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AssignedSecretObjectiveCardMessage","l":"assignedSecretObjectiveCards"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AssignedStarterCardMessage","l":"AssignedStarterCardMessage(String, int)","u":"%3Cinit%3E(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"assignRandomColoursToPlayers()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"assignRandomColoursToPlayers()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"assignRandomStartingGoldCardsToPlayers()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"assignRandomStartingGoldCardsToPlayers()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"assignRandomStartingInitialCardsToPlayers()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"assignRandomStartingInitialCardsToPlayers()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"assignRandomStartingResourceCardsToPlayers()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"assignRandomStartingResourceCardsToPlayers()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"assignRandomStartingSecretObjectivesToPlayers()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"assignRandomStartingSecretObjectivesToPlayers()"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"assignStartingCard(NonObjectiveCard)","u":"assignStartingCard(it.polimi.ingsw.am32.model.card.NonObjectiveCard)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"attemptingReconnection"},{"p":"it.polimi.ingsw.am32.model.field","c":"Field","l":"availableSpace(int, int)","u":"availableSpace(int,int)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"availableSpaces"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmStarterCardSideSelectionMessage","l":"availableSpaces"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"availableSpacesPlayer()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"backupMatchStatus"},{"p":"it.polimi.ingsw.am32.model.player","c":"Colour","l":"BLACK"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"BLANK"},{"p":"it.polimi.ingsw.am32.model.player","c":"Colour","l":"BLUE"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"board"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"BoardView","l":"board"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"boards"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"BoardView","l":"BoardView(int[], String[][])","u":"%3Cinit%3E(int[],java.lang.String[][])"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"bottomLeft"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"bottomLeftBack"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"bottomRight"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"bottomRightBack"},{"p":"it.polimi.ingsw.am32.model.deck","c":"CardDeckBuilder","l":"buildCardDeck(DeckType)","u":"buildCardDeck(it.polimi.ingsw.am32.model.deck.utils.DeckType)"},{"p":"it.polimi.ingsw.am32.model.deck","c":"NonObjectiveCardDeckBuilder","l":"buildNonObjectiveCardDeck(DeckType)","u":"buildNonObjectiveCardDeck(it.polimi.ingsw.am32.model.deck.utils.DeckType)"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"AllSpecial","l":"calculateOccurrences(Field, int, int)","u":"calculateOccurrences(it.polimi.ingsw.am32.model.field.Field,int,int)"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"AnglesCovered","l":"calculateOccurrences(Field, int, int)","u":"calculateOccurrences(it.polimi.ingsw.am32.model.field.Field,int,int)"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"CountResource","l":"calculateOccurrences(Field, int, int)","u":"calculateOccurrences(it.polimi.ingsw.am32.model.field.Field,int,int)"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"Diagonals","l":"calculateOccurrences(Field, int, int)","u":"calculateOccurrences(it.polimi.ingsw.am32.model.field.Field,int,int)"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"Empty","l":"calculateOccurrences(Field, int, int)","u":"calculateOccurrences(it.polimi.ingsw.am32.model.field.Field,int,int)"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"LConfigurationFour","l":"calculateOccurrences(Field, int, int)","u":"calculateOccurrences(it.polimi.ingsw.am32.model.field.Field,int,int)"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"LConfigurationOne","l":"calculateOccurrences(Field, int, int)","u":"calculateOccurrences(it.polimi.ingsw.am32.model.field.Field,int,int)"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"LConfigurationThree","l":"calculateOccurrences(Field, int, int)","u":"calculateOccurrences(it.polimi.ingsw.am32.model.field.Field,int,int)"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"LConfigurationTwo","l":"calculateOccurrences(Field, int, int)","u":"calculateOccurrences(it.polimi.ingsw.am32.model.field.Field,int,int)"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"PointStrategy","l":"calculateOccurrences(Field, int, int)","u":"calculateOccurrences(it.polimi.ingsw.am32.model.field.Field,int,int)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"canAttemptReconnection"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"ClientPingTask","l":"cancel()"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"ServerPingTask","l":"cancel()"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"CARD_DRAWN"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"CARD_PLACED"},{"p":"it.polimi.ingsw.am32.model.card","c":"Card","l":"Card(int, int, PointStrategy)","u":"%3Cinit%3E(int,int,it.polimi.ingsw.am32.model.card.pointstrategy.PointStrategy)"},{"p":"it.polimi.ingsw.am32.model.deck","c":"CardDeck","l":"CardDeck(ArrayList, DeckType)","u":"%3Cinit%3E(java.util.ArrayList,it.polimi.ingsw.am32.model.deck.utils.DeckType)"},{"p":"it.polimi.ingsw.am32.model.deck","c":"CardDeckBuilder","l":"CardDeckBuilder()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"DrawCardMessage","l":"cardId"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"PlaceCardMessage","l":"cardId"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"SelectedSecretObjectiveCardMessage","l":"cardId"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AssignedStarterCardMessage","l":"cardId"},{"p":"it.polimi.ingsw.am32.client","c":"CardPlacedView","l":"cardImage"},{"p":"it.polimi.ingsw.am32.client","c":"CardPlacedView","l":"cardImage()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"cardImg"},{"p":"it.polimi.ingsw.am32.model.field","c":"CardPlaced","l":"CardPlaced(NonObjectiveCard, int, int, boolean)","u":"%3Cinit%3E(it.polimi.ingsw.am32.model.card.NonObjectiveCard,int,int,boolean)"},{"p":"it.polimi.ingsw.am32.client","c":"CardPlacedView","l":"CardPlacedView(int, ArrayList, int, int, boolean)","u":"%3Cinit%3E(int,java.util.ArrayList,int,int,boolean)"},{"p":"it.polimi.ingsw.am32.model.deck","c":"CardDeck","l":"cards"},{"p":"it.polimi.ingsw.am32.model.deck","c":"NonObjectiveCardDeck","l":"cards"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"CardType"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualView","l":"changeNode(ServerNodeInterface)","u":"changeNode(it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface)"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualViewInterface","l":"changeNode(ServerNodeInterface)","u":"changeNode(it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"chat"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"CHAT_ERROR"},{"p":"it.polimi.ingsw.am32.chat","c":"Chat","l":"Chat()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"ChatArea","l":"chatArea"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"chatArea"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"ChatArea","l":"ChatArea(int, int, int, int, ArrayList, GraphicalUI)","u":"%3Cinit%3E(int,int,int,int,java.util.ArrayList,it.polimi.ingsw.am32.client.view.gui.GraphicalUI)"},{"p":"it.polimi.ingsw.am32.chat","c":"Chat","l":"chatHistory"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"chatHistory"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"chatHistory"},{"p":"it.polimi.ingsw.am32.chat","c":"ChatMessage","l":"ChatMessage(String, String, boolean, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,boolean,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"ChatMessage","l":"ChatMessage(String, String, boolean, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,boolean,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"chatMode"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"checkConnection()"},{"p":"it.polimi.ingsw.am32.model.field","c":"Field","l":"checkResRequirements(int[], int[])","u":"checkResRequirements(int[],int[])"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"CHOOSE_CONNECTION"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"chooseConnection()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"chooseConnection()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"chooseConnection()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"chooseSecretObjectiveCard(String, int)","u":"chooseSecretObjectiveCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"chooseStarterCardSide(String, boolean)","u":"chooseStarterCardSide(java.lang.String,boolean)"},{"p":"it.polimi.ingsw.am32","c":"Client","l":"chooseUI()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AssignedSecretObjectiveCardMessage","l":"chosenCommonObjectiveCards"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmSelectedSecretObjectiveCardMessage","l":"chosenSecretObjectiveCard"},{"p":"it.polimi.ingsw.am32.controller","c":"GamesManager","l":"clearInstance()"},{"p":"it.polimi.ingsw.am32","c":"Client","l":"Client()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListener","l":"clientNode"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"clientNode"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"clientNode"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"clientPingTask"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"clientPingTask"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"ClientPingTask","l":"ClientPingTask(ClientNodeInterface)","u":"%3Cinit%3E(it.polimi.ingsw.am32.network.ClientNode.ClientNodeInterface)"},{"p":"it.polimi.ingsw.am32.network.exceptions","c":"ErrorMessageCode","l":"code"},{"p":"it.polimi.ingsw.am32.client","c":"PlayerPub","l":"colour"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"PlayerPubView","l":"colour"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"colour"},{"p":"it.polimi.ingsw.am32.model.player","c":"Colour","l":"Colour(int)","u":"%3Cinit%3E(int)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"ColourCard(String)","u":"ColourCard(java.lang.String)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"PlaceCardMessage","l":"column"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"commonObjCards"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"commonObjCardView"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"commonObjectives"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"LConfigurationFourComparator","l":"compare(CardPlaced, CardPlaced)","u":"compare(it.polimi.ingsw.am32.model.field.CardPlaced,it.polimi.ingsw.am32.model.field.CardPlaced)"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"LConfigurationTwoComparator","l":"compare(CardPlaced, CardPlaced)","u":"compare(it.polimi.ingsw.am32.model.field.CardPlaced,it.polimi.ingsw.am32.model.field.CardPlaced)"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"conditionCount"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"ConditionCount"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"config"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"config"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"Configuration(String[])","u":"%3Cinit%3E(java.lang.String[])"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmSelectedSecretObjectiveCardMessage","l":"ConfirmSelectedSecretObjectiveCardMessage(String, int)","u":"%3Cinit%3E(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmStarterCardSideSelectionMessage","l":"ConfirmStarterCardSideSelectionMessage(String, int, boolean, ArrayList, int[], int)","u":"%3Cinit%3E(java.lang.String,int,boolean,java.util.ArrayList,int[],int)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"connect()"},{"p":"it.polimi.ingsw.am32.controller","c":"PlayerQuadruple","l":"connected"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerConnectedMessage","l":"connectedNickname"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualView","l":"connectionNode"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualView","l":"connectionNodeLock"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"connectionRoot"},{"p":"it.polimi.ingsw.am32.network.exceptions","c":"ConnectionSetupFailedException","l":"ConnectionSetupFailedException()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"InboundChatMessage","l":"content"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"OutboundChatMessage","l":"content"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"convertToColour(int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"convertToColour(int)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"convertToColour(int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"convertToImagePath(int, boolean)","u":"convertToImagePath(int,boolean)"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"Corner"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"CornerBack"},{"p":"it.polimi.ingsw.am32.model.card","c":"CornerType","l":"CornerType(int)","u":"%3Cinit%3E(int)"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"CountResource","l":"count"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"CountResource","l":"CountResource(ObjectType, int)","u":"%3Cinit%3E(it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType,int)"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"CREATE_GAME"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"CREATE_GAME_FAILURE"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"createAlert(String)","u":"createAlert(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"createBottomLinePanel()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"createButton(String)","u":"createButton(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"createButton(String, int, int)","u":"createButton(java.lang.String,int,int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"createButton(String, int, String, int, int)","u":"createButton(java.lang.String,int,java.lang.String,int,int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"createComboBox(List, String, int, int, int, int)","u":"createComboBox(java.util.List,java.lang.String,int,int,int,int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"createDeckArea()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"createFieldPlayer(String, boolean)","u":"createFieldPlayer(java.lang.String,boolean)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"createFieldPlayer(String, boolean)","u":"createFieldPlayer(java.lang.String,boolean)"},{"p":"it.polimi.ingsw.am32.controller","c":"GamesManager","l":"createGame(String, int, ServerNodeInterface)","u":"createGame(java.lang.String,int,it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface)"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"createInstance(String[])","u":"createInstance(java.lang.String[])"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"createLabel(String, int)","u":"createLabel(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"createLabel(String, int, int)","u":"createLabel(java.lang.String,int,int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"createNoticeEventPanel()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"createPlayerInfoPanel()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"createTextField(String, int, int, int, int)","u":"createTextField(java.lang.String,int,int,int,int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"createTopLinePanel()"},{"p":"it.polimi.ingsw.am32.controller.exceptions","c":"CriticalFailureException","l":"CriticalFailureException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"ctoSProcessingLock"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"ctoSProcessingLock"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"cToSProcessingLock"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"cToSProcessingLock"},{"p":"it.polimi.ingsw.am32.controller.exceptions","c":"CTRDuplicateNicknameException","l":"CTRDuplicateNicknameException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller.exceptions","c":"CTRPlayerNotFoundException","l":"CTRPlayerNotFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"currentEvent"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"currentGoldCards"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DeckSizeUpdateMessage","l":"currentGoldCards"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"currentGoldCards"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"currentPlayer"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"currentPlayer"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"currentPlayerNickname"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"currentResourceCards"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DeckSizeUpdateMessage","l":"currentResourceCards"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"currentResourceCards"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"currentTurnNumber"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"deckArea"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DeckSizeUpdateMessage","l":"DeckSizeUpdateMessage(String, int, int, int[], int[], int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int[],int[],int,int)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"DrawCardMessage","l":"deckType"},{"p":"it.polimi.ingsw.am32.model.deck","c":"CardDeck","l":"deckType"},{"p":"it.polimi.ingsw.am32.model.deck","c":"NonObjectiveCardDeck","l":"deckType"},{"p":"it.polimi.ingsw.am32.model.deck.utils","c":"DeckType","l":"DeckType(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"deletePlayer(String)","u":"deletePlayer(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"deletePlayer(String)","u":"deletePlayer(java.lang.String)"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"destroy()"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"destroy()"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"destroyCalled"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"destroyCalled"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"Diagonals","l":"Diagonals(ObjectType, boolean)","u":"%3Cinit%3E(it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType,boolean)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"disconnect(ServerNodeInterface)","u":"disconnect(it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"disconnectBeforeGameStart(PlayerQuadruple)","u":"disconnectBeforeGameStart(it.polimi.ingsw.am32.controller.PlayerQuadruple)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"disconnectCurrentPlayerAfterPlacing(PlayerQuadruple)","u":"disconnectCurrentPlayerAfterPlacing(it.polimi.ingsw.am32.controller.PlayerQuadruple)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"disconnectCurrentPlayerBeforePlacing(PlayerQuadruple)","u":"disconnectCurrentPlayerBeforePlacing(it.polimi.ingsw.am32.controller.PlayerQuadruple)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"disconnectDuringLobby(PlayerQuadruple)","u":"disconnectDuringLobby(it.polimi.ingsw.am32.controller.PlayerQuadruple)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerDisconnectMessage","l":"disconnectedNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerReconnectedMessage","l":"disconnectedNickname"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"disconnectNotCurrentPlayer(PlayerQuadruple)","u":"disconnectNotCurrentPlayer(it.polimi.ingsw.am32.controller.PlayerQuadruple)"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"DRAW_CARD"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"DRAW_CARD_FAILURE"},{"p":"it.polimi.ingsw.am32.model.deck","c":"CardDeck","l":"draw()"},{"p":"it.polimi.ingsw.am32.model.deck","c":"NonObjectiveCardDeck","l":"draw()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"drawCard(int, int)","u":"drawCard(int,int)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"drawCard(int, int)","u":"drawCard(int,int)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"drawCard(String, int, int)","u":"drawCard(java.lang.String,int,int)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DrawCardConfirmationMessage","l":"DrawCardConfirmationMessage(String, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DrawCardFailedMessage","l":"DrawCardFailedMessage(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"DrawCardMessage","l":"DrawCardMessage(String, int, int)","u":"%3Cinit%3E(java.lang.String,int,int)"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"DrawException","l":"DrawException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"dropShadow"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageExceptionEnumeration","l":"DUPLICATE_NICKNAME_EXCEPTION"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"DuplicateNicknameException","l":"DuplicateNicknameException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"CtoSMessage","l":"elaborateMessage(GameController)","u":"elaborateMessage(it.polimi.ingsw.am32.controller.GameController)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"DrawCardMessage","l":"elaborateMessage(GameController)","u":"elaborateMessage(it.polimi.ingsw.am32.controller.GameController)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"InboundChatMessage","l":"elaborateMessage(GameController)","u":"elaborateMessage(it.polimi.ingsw.am32.controller.GameController)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"PingMessage","l":"elaborateMessage(GameController)","u":"elaborateMessage(it.polimi.ingsw.am32.controller.GameController)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"PlaceCardMessage","l":"elaborateMessage(GameController)","u":"elaborateMessage(it.polimi.ingsw.am32.controller.GameController)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"RequestGameStatusMessage","l":"elaborateMessage(GameController)","u":"elaborateMessage(it.polimi.ingsw.am32.controller.GameController)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"RequestPlayerFieldMessage","l":"elaborateMessage(GameController)","u":"elaborateMessage(it.polimi.ingsw.am32.controller.GameController)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"SelectedSecretObjectiveCardMessage","l":"elaborateMessage(GameController)","u":"elaborateMessage(it.polimi.ingsw.am32.controller.GameController)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"SelectedStarterCardSideMessage","l":"elaborateMessage(GameController)","u":"elaborateMessage(it.polimi.ingsw.am32.controller.GameController)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"AccessGameMessage","l":"elaborateMessage(ServerNodeInterface)","u":"elaborateMessage(it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"CtoSLobbyMessage","l":"elaborateMessage(ServerNodeInterface)","u":"elaborateMessage(it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"NewGameMessage","l":"elaborateMessage(ServerNodeInterface)","u":"elaborateMessage(it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"ReconnectGameMessage","l":"elaborateMessage(ServerNodeInterface)","u":"elaborateMessage(it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface)"},{"p":"it.polimi.ingsw.am32.model.card","c":"CornerType","l":"EMPTY"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"EMPTY"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"Empty","l":"Empty()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"endGameDueToDisconnectionTimeout"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"endGamePane"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"endMatchDueToDisconnection()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"endMatchDueToDisconnectionTimerTask"},{"p":"it.polimi.ingsw.am32.controller","c":"EndMatchDueToDisconnectionTimerTask","l":"EndMatchDueToDisconnectionTimerTask(GameController)","u":"%3Cinit%3E(it.polimi.ingsw.am32.controller.GameController)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"enterEndPhase()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"enterLobbyPhase()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"enterLobbyPhase()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"enterPlayingPhase()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"enterPlayingPhase()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"enterPreparationPhase()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"enterPreparationPhase()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"enterPreparationPhase()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"enterTerminatedPhase()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"enterTerminatedPhase()"},{"p":"it.polimi.ingsw.am32.client","c":"CardPlacedView","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.polimi.ingsw.am32.model.field","c":"CardPlaced","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ErrorMessage","l":"ErrorMessage(String, String, int)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.network.exceptions","c":"ErrorMessageCode","l":"ErrorMessageCode(int)","u":"%3Cinit%3E(int)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ErrorMessage","l":"errorType"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"Event(int)","u":"%3Cinit%3E(int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"eventLabel"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageException","l":"exceptionType"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"executorService"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"executorService"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"executorService"},{"p":"it.polimi.ingsw.am32.network.ClientAcceptor","c":"RMIClientAcceptor","l":"extraPing()"},{"p":"it.polimi.ingsw.am32.network.ClientAcceptor","c":"RMIClientAcceptorInt","l":"extraPing()"},{"p":"it.polimi.ingsw.am32.client","c":"PlayerPub","l":"field"},{"p":"it.polimi.ingsw.am32.model.field","c":"Field","l":"Field(NonObjectiveCard, boolean)","u":"%3Cinit%3E(it.polimi.ingsw.am32.model.card.NonObjectiveCard,boolean)"},{"p":"it.polimi.ingsw.am32.model.field","c":"Field","l":"fieldCards"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListener","l":"flushMessages()"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListenerInterface","l":"flushMessages()"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualView","l":"flushMessages()"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualViewInterface","l":"flushMessages()"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageExceptionEnumeration","l":"FULL_LOBBY_EXCEPTION"},{"p":"it.polimi.ingsw.am32.controller.exceptions","c":"FullLobbyException","l":"FullLobbyException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.card","c":"CornerType","l":"FUNGI"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"ObjectType","l":"FUNGI"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"FUNGI"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"FUNGICARD"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageExceptionEnumeration","l":"GAME_ALREADY_ENDED_EXCEPTION"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageExceptionEnumeration","l":"GAME_ALREADY_STARTED_EXCEPTION"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"GAME_CREATED"},{"p":"it.polimi.ingsw.am32.controller","c":"GameControllerStatus","l":"GAME_ENDED"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"GAME_JOINED"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageExceptionEnumeration","l":"GAME_NOT_FOUND_EXCEPTION"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageExceptionEnumeration","l":"GAME_NOT_YET_STARTED_EXCEPTION"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"GAME_RECONNECTED"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"GAME_START"},{"p":"it.polimi.ingsw.am32.controller.exceptions","c":"GameAlreadyEndedException","l":"GameAlreadyEndedException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller.exceptions","c":"GameAlreadyStartedException","l":"GameAlreadyStartedException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"gameCommonObjectives"},{"p":"it.polimi.ingsw.am32.controller","c":"EndMatchDueToDisconnectionTimerTask","l":"gameController"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"gameController"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"gameController"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"GameController(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameControllerStatus","l":"GameControllerStatus(int)","u":"%3Cinit%3E(int)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"gameCurrentGoldCards"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"gameCurrentResourceCards"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"gameField"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"gameGoldDeckSize"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"gameID"},{"p":"it.polimi.ingsw.am32.controller.exceptions","c":"GameNotFoundException","l":"GameNotFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller.exceptions","c":"GameNotYetStartedException","l":"GameNotYetStartedException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"gameResourcesDeckSize"},{"p":"it.polimi.ingsw.am32.controller","c":"GamesManager","l":"games"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"gameSize"},{"p":"it.polimi.ingsw.am32.controller","c":"GamesManager","l":"GamesManager()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"GameStartedMessage","l":"GameStartedMessage(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"generateResponseGameStatusMessage(String)","u":"generateResponseGameStatusMessage(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.field","c":"Field","l":"getActiveRes(ObjectType)","u":"getActiveRes(it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType)"},{"p":"it.polimi.ingsw.am32.model.field","c":"Field","l":"getAllRes()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getAvailableSpacesPlayer(String)","u":"getAvailableSpacesPlayer(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getAvailableSpacesPlayer(String)","u":"getAvailableSpacesPlayer(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"BoardView","l":"getBoard()"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"getBottomLeft()"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"getBottomLeftBack()"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"getBottomRight()"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"getBottomRightBack()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"getBox(ImageView)","u":"getBox(javafx.scene.image.ImageView)"},{"p":"it.polimi.ingsw.am32.model.field","c":"Field","l":"getCardFromPosition(int, int)","u":"getCardFromPosition(int,int)"},{"p":"it.polimi.ingsw.am32.model.deck","c":"CardDeck","l":"getCards()"},{"p":"it.polimi.ingsw.am32.model.deck","c":"NonObjectiveCardDeck","l":"getCards()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"getChat()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"ChatArea","l":"getChatArea()"},{"p":"it.polimi.ingsw.am32.network.exceptions","c":"ErrorMessageCode","l":"getCode()"},{"p":"it.polimi.ingsw.am32.client","c":"PlayerPub","l":"getColour()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"PlayerPubView","l":"getColour()"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"getColour()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getCommonObjectives()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getCommonObjectives()"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"getConditionCount()"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"getConditionCount()"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualView","l":"getConnectionNode()"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"getCorner()"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"getCornerBack()"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"CountResource","l":"getCount()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getCurrentGoldCards()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getCurrentGoldCards()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getCurrentPlayerNickname()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getCurrentPlayerNickname()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getCurrentResourcesCards()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getCurrentResourcesCards()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getCurrentTurnNumber()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getCurrentTurnNumber()"},{"p":"it.polimi.ingsw.am32.model.deck","c":"CardDeck","l":"getDeckType()"},{"p":"it.polimi.ingsw.am32.model.deck","c":"NonObjectiveCardDeck","l":"getDeckType()"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"getEndGameDueToDisconnectionTimeout()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"getEvent()"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"getEvent(int)"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageException","l":"getExceptionType()"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"getExecutorService()"},{"p":"it.polimi.ingsw.am32.client","c":"PlayerPub","l":"getField()"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"getField()"},{"p":"it.polimi.ingsw.am32.model.field","c":"Field","l":"getFieldCards()"},{"p":"it.polimi.ingsw.am32.controller","c":"GamesManager","l":"getGames()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"getGameSize()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getGoldCardDeckSize()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getGoldCardDeckSize()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getGoldCardsDeck()"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"getHand()"},{"p":"it.polimi.ingsw.am32.chat","c":"Chat","l":"getHistory()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"getId()"},{"p":"it.polimi.ingsw.am32.model.card","c":"Card","l":"getId()"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"getID()"},{"p":"it.polimi.ingsw.am32.client","c":"ObjectiveCardFactory","l":"getID()"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"getInitialCard()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getInitialCardPlayer(String)","u":"getInitialCardPlayer(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getInitialCardPlayer(String)","u":"getInitialCardPlayer(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"getInput()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"getInputInt()"},{"p":"it.polimi.ingsw.am32.controller","c":"GamesManager","l":"getInstance()"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"getInstance()"},{"p":"it.polimi.ingsw.am32.utilities","c":"IPAddressFinder","l":"getIPv4Addresses()"},{"p":"it.polimi.ingsw.am32.model.field","c":"CardPlaced","l":"getIsUp()"},{"p":"it.polimi.ingsw.am32.model.deck.utils","c":"DeckType","l":"getJSONPath()"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"getKingdom()"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"getKingdom()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"BoardView","l":"getLimits()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"getLobbyPlayerCount()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getMatchStatus()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getMatchStatus()"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"getMaxPingCount()"},{"p":"it.polimi.ingsw.am32.chat","c":"ChatMessage","l":"getMessageContent()"},{"p":"it.polimi.ingsw.am32.client","c":"ChatMessage","l":"getMessageContent()"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualView","l":"getMessageQueue()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"getModel()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getNextGoldCardKingdom()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getNextGoldCardKingdom()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getNextResourceCardKingdom()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getNextResourceCardKingdom()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"PlayerPubView","l":"getNickname()"},{"p":"it.polimi.ingsw.am32.controller","c":"PlayerQuadruple","l":"getNickname()"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"getNickname()"},{"p":"it.polimi.ingsw.am32.controller","c":"PlayerQuadruple","l":"getNode()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"getNodeList()"},{"p":"it.polimi.ingsw.am32.model.field","c":"CardPlaced","l":"getNonObjectiveCard()"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"getPermRes()"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"getPermRes()"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"getPingTimeInterval()"},{"p":"it.polimi.ingsw.am32.chat","c":"Chat","l":"getPlayerChatHistory(String)","u":"getPlayerChatHistory(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getPlayerColour(String)","u":"getPlayerColour(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getPlayerColour(String)","u":"getPlayerColour(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getPlayerField(String)","u":"getPlayerField(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getPlayerField(String)","u":"getPlayerField(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getPlayerHand(String)","u":"getPlayerHand(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getPlayerHand(String)","u":"getPlayerHand(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getPlayerPoints(String)","u":"getPlayerPoints(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getPlayerPoints(String)","u":"getPlayerPoints(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getPlayerResources(String)","u":"getPlayerResources(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getPlayerResources(String)","u":"getPlayerResources(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getPlayers()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getPlayerSecretObjective(String)","u":"getPlayerSecretObjective(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getPlayerSecretObjective(String)","u":"getPlayerSecretObjective(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getPlayersNicknames()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getPlayersNicknames()"},{"p":"it.polimi.ingsw.am32.client","c":"PlayerPub","l":"getPoints()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"PlayerPubView","l":"getPoints()"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"getPoints()"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"getPointsGainedFromObjectives()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getPointsGainedFromObjectives(String)","u":"getPointsGainedFromObjectives(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getPointsGainedFromObjectives(String)","u":"getPointsGainedFromObjectives(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"getPointStrategy()"},{"p":"it.polimi.ingsw.am32.client","c":"ObjectiveCardFactory","l":"getPointStrategy()"},{"p":"it.polimi.ingsw.am32.model.card","c":"Card","l":"getPointStrategy()"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"getPointStrategyCount()"},{"p":"it.polimi.ingsw.am32.client","c":"ObjectiveCardFactory","l":"getPointStrategyCount()"},{"p":"it.polimi.ingsw.am32.client","c":"ObjectiveCardFactory","l":"getPointStrategyLeftToRight()"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"getPointStrategyType()"},{"p":"it.polimi.ingsw.am32.client","c":"ObjectiveCardFactory","l":"getPointStrategyType()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUIApplication","l":"getPrimaryStage()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidSelectedSecretObjectiveCardMessage","l":"getReason()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidStarterCardSideSelectionMessage","l":"getReason()"},{"p":"it.polimi.ingsw.am32.chat","c":"ChatMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.client","c":"ChatMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AccessGameConfirmMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AssignedSecretObjectiveCardMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AssignedStarterCardMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmSelectedSecretObjectiveCardMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmStarterCardSideSelectionMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DeckSizeUpdateMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DrawCardConfirmationMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DrawCardFailedMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ErrorMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"GameStartedMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidInboundChatMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidSelectedSecretObjectiveCardMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidStarterCardSideSelectionMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"LobbyPlayerListMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchStatusMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchWinnersMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"NegativeResponsePlayerFieldMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"NewGameConfirmationMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"OutboundChatMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardConfirmationMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardFailedMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardRollbackMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerConnectedMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerDisconnectMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerReconnectedMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerTurnMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PongMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ReconnectGameConfirmMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ResponsePlayerFieldMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"StoCMessage","l":"getRecipientNickname()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getResourceCardDeckSize()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getResourceCardDeckSize()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getResourceCardsDeck()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"PlayerPubView","l":"getResourceLabels()"},{"p":"it.polimi.ingsw.am32.client","c":"PlayerPub","l":"getResources()"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"getRmiPort()"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"getSecretObjective()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getSecretObjectiveCardsPlayer(String)","u":"getSecretObjectiveCardsPlayer(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getSecretObjectiveCardsPlayer(String)","u":"getSecretObjectiveCardsPlayer(java.lang.String)"},{"p":"it.polimi.ingsw.am32.chat","c":"ChatMessage","l":"getSenderNickname()"},{"p":"it.polimi.ingsw.am32.client","c":"ChatMessage","l":"getSenderNickname()"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"getServerIp()"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"getSocketPort()"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"getSocketReadTimeout()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"getStatus()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"getThisPlayerNickname()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"getTimer()"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"getTmpSecretObj()"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"getTopLeft()"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"getTopLeftBack()"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"getTopRight()"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"getTopRightBack()"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"getType()"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"CountResource","l":"getType()"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"Diagonals","l":"getType()"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"getValue()"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"getValue()"},{"p":"it.polimi.ingsw.am32.client","c":"ObjectiveCardFactory","l":"getValue()"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageExceptionEnumeration","l":"getValue()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameControllerStatus","l":"getValue()"},{"p":"it.polimi.ingsw.am32.model.card","c":"Card","l":"getValue()"},{"p":"it.polimi.ingsw.am32.model.card","c":"CornerType","l":"getValue()"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"ObjectType","l":"getValue()"},{"p":"it.polimi.ingsw.am32.model.match","c":"MatchStatus","l":"getValue()"},{"p":"it.polimi.ingsw.am32.model.player","c":"Colour","l":"getValue()"},{"p":"it.polimi.ingsw.am32.controller","c":"PlayerQuadruple","l":"getVirtualView()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"getWelcomeRoot()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"getWinners()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"getWinners()"},{"p":"it.polimi.ingsw.am32.model.field","c":"CardPlaced","l":"getX()"},{"p":"it.polimi.ingsw.am32.model.field","c":"CardPlaced","l":"getY()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"glow"},{"p":"it.polimi.ingsw.am32.model.deck.utils","c":"DeckType","l":"GOLD"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"goldCardDeckFacingKingdom"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DeckSizeUpdateMessage","l":"goldCardDeckFacingKingdom"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"goldCardDeckFacingKingdom"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DeckSizeUpdateMessage","l":"goldCardDeckSize"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"goldCardsDeck"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"goldDeckSize"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"goldDeckView"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"goldSize"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUIApplication","l":"graphicalUI"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"GraphicalUI()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUIApplication","l":"GraphicalUIApplication()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.model.player","c":"Colour","l":"GREEN"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"ChatArea","l":"gui"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"hand"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"hand"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"handleAvailableSpaceClick(ImageView, int, int)","u":"handleAvailableSpaceClick(javafx.scene.image.ImageView,int,int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"handleBoardAction(StackPane)","u":"handleBoardAction(javafx.scene.layout.StackPane)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"handleButtonClick(Button, Button, Button, Effect)","u":"handleButtonClick(javafx.scene.control.Button,javafx.scene.control.Button,javafx.scene.control.Button,javafx.scene.effect.Effect)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"handleButtonJoinAndReconnectClick(TextField, TextField)","u":"handleButtonJoinAndReconnectClick(javafx.scene.control.TextField,javafx.scene.control.TextField)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"handleDeckCardsClicks(ImageView, int, int)","u":"handleDeckCardsClicks(javafx.scene.image.ImageView,int,int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"handleDeckClicks()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"handleEvent(Event, String)","u":"handleEvent(it.polimi.ingsw.am32.client.Event,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"handleEvent(Event, String)","u":"handleEvent(it.polimi.ingsw.am32.client.Event,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"handleEvent(Event, String)","u":"handleEvent(it.polimi.ingsw.am32.client.Event,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"handleFailureCase(Event, String)","u":"handleFailureCase(it.polimi.ingsw.am32.client.Event,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"handleFailureCase(Event, String)","u":"handleFailureCase(it.polimi.ingsw.am32.client.Event,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"handleFailureCase(Event, String)","u":"handleFailureCase(it.polimi.ingsw.am32.client.Event,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"handleHandClicks()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"handleLastConnectedPlayerIfPresent()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"handleNoticeClicks(Group)","u":"handleNoticeClicks(javafx.scene.Group)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"handlePlayerNicknameClick(String)","u":"handlePlayerNicknameClick(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"handView"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"handViewCardSide"},{"p":"it.polimi.ingsw.am32.client","c":"CardPlacedView","l":"hashCode()"},{"p":"it.polimi.ingsw.am32.model.field","c":"CardPlaced","l":"hashCode()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"icon(String)","u":"icon(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"iconArray(int[])"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"iconArrayElement(int)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"iconCard(String)","u":"iconCard(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"id"},{"p":"it.polimi.ingsw.am32.model.card","c":"Card","l":"id"},{"p":"it.polimi.ingsw.am32.client","c":"CardPlacedView","l":"ID"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"ID"},{"p":"it.polimi.ingsw.am32.client","c":"ObjectiveCardFactory","l":"ID"},{"p":"it.polimi.ingsw.am32.client","c":"CardPlacedView","l":"ID()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"imagesMap"},{"p":"it.polimi.ingsw.am32","c":"Client","l":"in"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"in"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"InboundChatMessage","l":"InboundChatMessage(String, String, boolean, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,boolean,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"indexCardPlaced"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"ChatArea","l":"initializeChatArea(int, int, int, int, ArrayList)","u":"initializeChatArea(int,int,int,int,java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"initializeGameField(boolean)"},{"p":"it.polimi.ingsw.am32.model.card","c":"CornerType","l":"INKWELL"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"ObjectType","l":"INKWELL"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"INKWELL"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"ChatArea","l":"inputMessageField"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"inputObtStr"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"inputObtStr"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"INSECARD"},{"p":"it.polimi.ingsw.am32.model.card","c":"CornerType","l":"INSECT"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"ObjectType","l":"INSECT"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"INSECT"},{"p":"it.polimi.ingsw.am32.controller","c":"GamesManager","l":"instance"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"instance"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageExceptionEnumeration","l":"INVALID_PLAYER_NUMBER_EXCEPTION"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"InvalidHandSizeException","l":"InvalidHandSizeException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidInboundChatMessage","l":"InvalidInboundChatMessage(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller.exceptions","c":"InvalidPlayerNumberException","l":"InvalidPlayerNumberException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"InvalidPositionException","l":"InvalidPositionException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidSelectedSecretObjectiveCardMessage","l":"InvalidSelectedSecretObjectiveCardMessage(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"InvalidSelectionException","l":"InvalidSelectionException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidStarterCardSideSelectionMessage","l":"InvalidStarterCardSideSelectionMessage(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"ip"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"ip"},{"p":"it.polimi.ingsw.am32.utilities","c":"IPAddressFinder","l":"IPAddressFinder()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.controller","c":"PlayerQuadruple","l":"isConnected()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"isCurrentPlayerConnected()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"isDisconnected"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"isDisconnected"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"isFirstPlayer()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"isFirstPlayer()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"isInThread"},{"p":"it.polimi.ingsw.am32.utilities","c":"IsValid","l":"isIpValid(String)","u":"isIpValid(java.lang.String)"},{"p":"it.polimi.ingsw.am32.chat","c":"ChatMessage","l":"isMulticastFlag()"},{"p":"it.polimi.ingsw.am32.client","c":"ChatMessage","l":"isMulticastFlag()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"isMyTurn"},{"p":"it.polimi.ingsw.am32.client","c":"PlayerPub","l":"isOnline"},{"p":"it.polimi.ingsw.am32.utilities","c":"IsValid","l":"isPortValid(int)"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualView","l":"isTerminating()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"PlaceCardMessage","l":"isUp"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"SelectedStarterCardSideMessage","l":"isUp"},{"p":"it.polimi.ingsw.am32.model.field","c":"CardPlaced","l":"isUp"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"isValid"},{"p":"it.polimi.ingsw.am32.utilities","c":"IsValid","l":"IsValid()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"jejuHallasanFont"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"JOIN_GAME"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"JOIN_GAME_FAILURE"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"JSON_CONFIG_FILE_NAME"},{"p":"it.polimi.ingsw.am32.model.deck.utils","c":"DeckType","l":"JSONPath"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"kingdom"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"Kingdom"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"LAST_TURN"},{"p":"it.polimi.ingsw.am32.model.match","c":"MatchStatus","l":"LAST_TURN"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"lastOnlinePlayer"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"launch()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"launch()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"launch()"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"LConfigurationFour","l":"LConfigurationFour()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"LConfigurationFourComparator","l":"LConfigurationFourComparator()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"LConfigurationOne","l":"LConfigurationOne()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"LConfigurationThree","l":"LConfigurationThree()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"LConfigurationTwo","l":"LConfigurationTwo()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"LConfigurationTwoComparator","l":"LConfigurationTwoComparator()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"Diagonals","l":"leftToRight"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"BoardView","l":"limits"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"listenForIncomingMessages()"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"listenForIncomingMessages()"},{"p":"it.polimi.ingsw.am32.model.deck","c":"CardDeckBuilder","l":"loadCardsFromDisk(DeckType)","u":"loadCardsFromDisk(it.polimi.ingsw.am32.model.deck.utils.DeckType)"},{"p":"it.polimi.ingsw.am32.model.deck","c":"NonObjectiveCardDeckBuilder","l":"loadCardsFromDisk(DeckType)","u":"loadCardsFromDisk(it.polimi.ingsw.am32.model.deck.utils.DeckType)"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"LOBBY"},{"p":"it.polimi.ingsw.am32.controller","c":"GameControllerStatus","l":"LOBBY"},{"p":"it.polimi.ingsw.am32.model.match","c":"MatchStatus","l":"LOBBY"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageException","l":"LobbyMessageException(LobbyMessageExceptionEnumeration, String)","u":"%3Cinit%3E(it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageExceptionEnumeration,java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageExceptionEnumeration","l":"LobbyMessageExceptionEnumeration(int)","u":"%3Cinit%3E(int)"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListener","l":"lobbyMessageQueue"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"LobbyPlayerListMessage","l":"LobbyPlayerListMessage(String, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"lock"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"lockInput"},{"p":"it.polimi.ingsw.am32.utilities","c":"Log4J2ConfiguratorWrapper","l":"Log4J2ConfiguratorWrapper()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListener","l":"logger"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"logger"},{"p":"it.polimi.ingsw.am32.controller","c":"EndMatchDueToDisconnectionTimerTask","l":"logger"},{"p":"it.polimi.ingsw.am32.controller","c":"GamesManager","l":"logger"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualView","l":"logger"},{"p":"it.polimi.ingsw.am32.network.ClientAcceptor","c":"RMIClientAcceptor","l":"logger"},{"p":"it.polimi.ingsw.am32.network.ClientAcceptor","c":"SKClientAcceptor","l":"logger"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"logger"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"logger"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"logger"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"logger"},{"p":"it.polimi.ingsw.am32","c":"Server","l":"logger"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"logger"},{"p":"it.polimi.ingsw.am32","c":"Client","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUIApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"it.polimi.ingsw.am32","c":"Server","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"it.polimi.ingsw.am32.chat.exceptions","c":"MalformedMessageException","l":"MalformedMessageException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.exceptions","c":"MalformedMessageException","l":"MalformedMessageException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"manageReconnectionRequests()"},{"p":"it.polimi.ingsw.am32.model.card","c":"CornerType","l":"MANUSCRIPT"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"ObjectType","l":"MANUSCRIPT"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"MANUSCRIPT"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"masterPane"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"Match()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"AccessGameMessage","l":"matchId"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"ReconnectGameMessage","l":"matchId"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"NewGameConfirmationMessage","l":"matchId"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"matchStatus"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchStatusMessage","l":"matchStatus"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"matchStatus"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"matchStatus"},{"p":"it.polimi.ingsw.am32.model.match","c":"MatchStatus","l":"MatchStatus(int)","u":"%3Cinit%3E(int)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchStatusMessage","l":"MatchStatusMessage(String, int)","u":"%3Cinit%3E(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchWinnersMessage","l":"MatchWinnersMessage(String, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"maxPingCount"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ErrorMessage","l":"message"},{"p":"it.polimi.ingsw.am32.network.exceptions","c":"ErrorMessageCode","l":"MESSAGE_TYPE_NOT_RECOGNIZED"},{"p":"it.polimi.ingsw.am32.chat","c":"ChatMessage","l":"messageContent"},{"p":"it.polimi.ingsw.am32.client","c":"ChatMessage","l":"messageContent"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"ChatArea","l":"messageDisplayArea"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListener","l":"messageQueue"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualView","l":"messageQueue"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"ChatArea","l":"messageScrollPane"},{"p":"it.polimi.ingsw.am32.client.exceptions","c":"MissingJSONException","l":"MissingJSONException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"MissingJSONException","l":"MissingJSONException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"MissingRequirementsException","l":"MissingRequirementsException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"model"},{"p":"it.polimi.ingsw.am32.chat","c":"ChatMessage","l":"multicastFlag"},{"p":"it.polimi.ingsw.am32.client","c":"ChatMessage","l":"multicastFlag"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"InboundChatMessage","l":"multicastFlag"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"NegativeResponsePlayerFieldMessage","l":"NegativeResponsePlayerFieldMessage(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"networkIsDown"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"NEW_PLAYER_JOIN"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardConfirmationMessage","l":"newAvailableFieldSpaces"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"newAvailableFieldSpaces"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"NewGameConfirmationMessage","l":"NewGameConfirmationMessage(String, int)","u":"%3Cinit%3E(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"NewGameMessage","l":"NewGameMessage(String, int)","u":"%3Cinit%3E(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"nextTurn()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"nextTurn()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"PlayerPubView","l":"nickname"},{"p":"it.polimi.ingsw.am32.controller","c":"PlayerQuadruple","l":"nickname"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"nickname"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"nickname"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"nickname"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"nickname"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"nickname"},{"p":"it.polimi.ingsw.am32.controller","c":"PlayerQuadruple","l":"node"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"ClientPingTask","l":"node"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"ServerPingTask","l":"node"},{"p":"it.polimi.ingsw.am32.network.exceptions","c":"NodeClosedException","l":"NodeClosedException()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"nodeDisconnected()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"nodeDisconnected()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"nodeDisconnected()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"nodeList"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"nodePreState"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"nodeReconnected()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"nodeReconnected()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"nodeReconnected()"},{"p":"it.polimi.ingsw.am32.model.card","c":"CornerType","l":"NON_COVERABLE"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"NON_COVERABLE"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"NonEmptyHandException","l":"NonEmptyHandException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"NonNullColourException","l":"NonNullColourException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"NonNullFieldException","l":"NonNullFieldException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"NonObjCardFactory(String, int, int, String, String, int, String, String[], String[], int[], int[])","u":"%3Cinit%3E(java.lang.String,int,int,java.lang.String,java.lang.String,int,java.lang.String,java.lang.String[],java.lang.String[],int[],int[])"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"nonObjCards"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"NonObjectiveCard(int, int, PointStrategy, CornerType, CornerType, CornerType, CornerType, CornerType, CornerType, CornerType, CornerType, int[], int[], ObjectType)","u":"%3Cinit%3E(int,int,it.polimi.ingsw.am32.model.card.pointstrategy.PointStrategy,it.polimi.ingsw.am32.model.card.CornerType,it.polimi.ingsw.am32.model.card.CornerType,it.polimi.ingsw.am32.model.card.CornerType,it.polimi.ingsw.am32.model.card.CornerType,it.polimi.ingsw.am32.model.card.CornerType,it.polimi.ingsw.am32.model.card.CornerType,it.polimi.ingsw.am32.model.card.CornerType,it.polimi.ingsw.am32.model.card.CornerType,int[],int[],it.polimi.ingsw.am32.model.card.pointstrategy.ObjectType)"},{"p":"it.polimi.ingsw.am32.model.deck","c":"NonObjectiveCardDeck","l":"NonObjectiveCardDeck(ArrayList, DeckType)","u":"%3Cinit%3E(java.util.ArrayList,it.polimi.ingsw.am32.model.deck.utils.DeckType)"},{"p":"it.polimi.ingsw.am32.model.deck","c":"NonObjectiveCardDeckBuilder","l":"NonObjectiveCardDeckBuilder()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"notice"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"noticeEventPanel"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"notifyAskListener(CtoSLobbyMessage)","u":"notifyAskListener(it.polimi.ingsw.am32.message.ClientToServer.CtoSLobbyMessage)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"notifyAskListener(CtoSMessage)","u":"notifyAskListener(it.polimi.ingsw.am32.message.ClientToServer.CtoSMessage)"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"notLinkedPingTask"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"notLinkedSocketTimer"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"NullColourException","l":"NullColourException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"NullFieldException","l":"NullFieldException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"NullHandException","l":"NullHandException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.chat.exceptions","c":"NullMessageException","l":"NullMessageException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"NullPointStrategyException","l":"NullPointStrategyException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.deck.utils","c":"DeckType","l":"OBJECTIVE"},{"p":"it.polimi.ingsw.am32.client","c":"ObjectiveCardFactory","l":"ObjectiveCardFactory(int, int, String, String, int, boolean)","u":"%3Cinit%3E(int,int,java.lang.String,java.lang.String,int,boolean)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"objectiveCards"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"objectiveCardsDeck"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"objectivePointsState"},{"p":"it.polimi.ingsw.am32.model.deck","c":"CardDeckBuilder","l":"objectsBuilder"},{"p":"it.polimi.ingsw.am32.model.deck","c":"NonObjectiveCardDeckBuilder","l":"objectsBuilder"},{"p":"it.polimi.ingsw.am32.model.deck","c":"ObjectsBuilder","l":"ObjectsBuilder()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"ObjectType","l":"ObjectType(int)","u":"%3Cinit%3E(int)"},{"p":"it.polimi.ingsw.am32.model.field","c":"Field","l":"oldActiveRes"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"oldPoints"},{"p":"it.polimi.ingsw.am32","c":"Client","l":"out"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"out"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"OutboundChatMessage","l":"OutboundChatMessage(String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"outputObtStr"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"outputObtStr"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"performMove(int, int, int, boolean)","u":"performMove(int,int,int,boolean)"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"permRes"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"PermRes"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"pickRandomCommonObjectives()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"pickRandomCommonObjectives()"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"pingCount"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"pingCount"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"PINGINTERVAL"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"PINGINTERVAL"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"PingMessage","l":"PingMessage(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"pingTimeInterval"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"pingTimeOverdue()"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"ServerNodeInterface","l":"pingTimeOverdue()"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"pingTimeOverdue()"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"PLACE_CARD"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"PLACE_CARD_FAILURE"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"placeCard(int, int, int, boolean)","u":"placeCard(int,int,int,boolean)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"placeCard(int, int, int, boolean)","u":"placeCard(int,int,int,boolean)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"placeCard(String, int, int, int, boolean)","u":"placeCard(java.lang.String,int,int,int,boolean)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardConfirmationMessage","l":"PlaceCardConfirmationMessage(String, String, int, int[], boolean, int, int[], ArrayList)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,int[],boolean,int,int[],java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardFailedMessage","l":"PlaceCardFailedMessage(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.field","c":"Field","l":"placeCardInField(NonObjectiveCard, int, int, boolean)","u":"placeCardInField(it.polimi.ingsw.am32.model.card.NonObjectiveCard,int,int,boolean)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"PlaceCardMessage","l":"PlaceCardMessage(String, int, int, int, boolean)","u":"%3Cinit%3E(java.lang.String,int,int,int,boolean)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardRollbackMessage","l":"PlaceCardRollbackMessage(String, String, int, int, int[])","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,int,int[])"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardConfirmationMessage","l":"placedCard"},{"p":"it.polimi.ingsw.am32.model.field","c":"CardPlaced","l":"placedCard"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardConfirmationMessage","l":"placedCardCoordinates"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardConfirmationMessage","l":"placedSide"},{"p":"it.polimi.ingsw.am32.model.card","c":"CornerType","l":"PLANT"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"ObjectType","l":"PLANT"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"PLANT"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"PLANTCARD"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageExceptionEnumeration","l":"PLAYER_ALREADY_CONNECTED_EXCEPTION"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"PLAYER_DISCONNECTED"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageExceptionEnumeration","l":"PLAYER_NOT_FOUND_EXCEPTION"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"PLAYER_RECONNECTED"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"Player(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller.exceptions","c":"PlayerAlreadyConnectedException","l":"PlayerAlreadyConnectedException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"playerAssignedSecretObjectiveCards"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmStarterCardSideSelectionMessage","l":"playerColour"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"playerColours"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"playerConnected"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerConnectedMessage","l":"PlayerConnectedMessage(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerDisconnectMessage","l":"PlayerDisconnectMessage(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"playerField"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ResponsePlayerFieldMessage","l":"playerField"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"playerFields"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"PlayerGameStatusMessage(String, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, int, int, int[], ArrayList, ArrayList>, int[], ArrayList, ArrayList, ArrayList, int, int, int, ArrayList, String, ArrayList, int, int)","u":"%3Cinit%3E(java.lang.String,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,int,int,int[],java.util.ArrayList,java.util.ArrayList,int[],java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,int,int,int,java.util.ArrayList,java.lang.String,java.util.ArrayList,int,int)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AssignedSecretObjectiveCardMessage","l":"playerHand"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DrawCardConfirmationMessage","l":"playerHand"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"playerHand"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"ChatArea","l":"playerList"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"LobbyPlayerListMessage","l":"playerList"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"playerListView"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"RequestPlayerFieldMessage","l":"playerNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"NegativeResponsePlayerFieldMessage","l":"playerNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardConfirmationMessage","l":"playerNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardRollbackMessage","l":"playerNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerTurnMessage","l":"playerNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ResponsePlayerFieldMessage","l":"playerNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"playerNicknames"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"PlayerNotFoundException","l":"PlayerNotFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"playerNum"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"NewGameMessage","l":"playerNum"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"playerOrder"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardConfirmationMessage","l":"playerPoints"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardRollbackMessage","l":"playerPoints"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"playerPoints"},{"p":"it.polimi.ingsw.am32.client","c":"PlayerPub","l":"PlayerPub(String, int, ArrayList, int[], boolean)","u":"%3Cinit%3E(java.lang.String,int,java.util.ArrayList,int[],boolean)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"PlayerPubView","l":"PlayerPubView(Label, ImageView, Label, Label[])","u":"%3Cinit%3E(javafx.scene.control.Label,javafx.scene.image.ImageView,javafx.scene.control.Label,javafx.scene.control.Label[])"},{"p":"it.polimi.ingsw.am32.controller","c":"PlayerQuadruple","l":"PlayerQuadruple(ServerNodeInterface, String, boolean, VirtualView)","u":"%3Cinit%3E(it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface,java.lang.String,boolean,it.polimi.ingsw.am32.controller.VirtualView)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerReconnectedMessage","l":"PlayerReconnectedMessage(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmStarterCardSideSelectionMessage","l":"playerResources"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardConfirmationMessage","l":"playerResources"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardRollbackMessage","l":"playerResources"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"playerResources"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ResponsePlayerFieldMessage","l":"playerResources"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"players"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchWinnersMessage","l":"players"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"players"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"playerSecretObjective"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"playersResourcesSummary"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"playerStartingCard"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerTurnMessage","l":"PlayerTurnMessage(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"playerViews"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"PLAYING"},{"p":"it.polimi.ingsw.am32.model.match","c":"MatchStatus","l":"PLAYING"},{"p":"it.polimi.ingsw.am32.client","c":"PlayerPub","l":"points"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"PlayerPubView","l":"points"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchWinnersMessage","l":"points"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"points"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"pointsGainedFromObjectives"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchWinnersMessage","l":"pointsGainedFromSecrets"},{"p":"it.polimi.ingsw.am32.model.card","c":"Card","l":"pointStrategy"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"PointStrategy"},{"p":"it.polimi.ingsw.am32.client","c":"ObjectiveCardFactory","l":"PointStrategy"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"PointStrategyCount"},{"p":"it.polimi.ingsw.am32.client","c":"ObjectiveCardFactory","l":"PointStrategyCount"},{"p":"it.polimi.ingsw.am32.client","c":"ObjectiveCardFactory","l":"PointStrategyLeftToRight"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"PointStrategyType"},{"p":"it.polimi.ingsw.am32.client","c":"ObjectiveCardFactory","l":"PointStrategyType"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"pongCount"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"pongCount"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"PONGMAXCOUNT"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"PONGMAXCOUNT"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PongMessage","l":"PongMessage(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"pongPlayer(String)","u":"pongPlayer(java.lang.String)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"ClientNodeInterface","l":"pongTimeOverdue()"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"pongTimeOverdue()"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"pongTimeOverdue()"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"port"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"port"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"portValidator(int, int)","u":"portValidator(int,int)"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"PREPARATION"},{"p":"it.polimi.ingsw.am32.model.match","c":"MatchStatus","l":"PREPARATION"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"prePingTask"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUIApplication","l":"primaryStage"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListener","l":"processLobbyMessages()"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListener","l":"processMessage()"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualView","l":"processMessage()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AccessGameConfirmMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AssignedSecretObjectiveCardMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AssignedStarterCardMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmSelectedSecretObjectiveCardMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmStarterCardSideSelectionMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DeckSizeUpdateMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DrawCardConfirmationMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DrawCardFailedMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ErrorMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"GameStartedMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidInboundChatMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidSelectedSecretObjectiveCardMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidStarterCardSideSelectionMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"LobbyPlayerListMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchStatusMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchWinnersMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"NegativeResponsePlayerFieldMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"NewGameConfirmationMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"OutboundChatMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardConfirmationMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardFailedMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardRollbackMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerConnectedMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerDisconnectMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerReconnectedMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerTurnMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PongMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ReconnectGameConfirmMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ResponsePlayerFieldMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"StoCMessage","l":"processMessage(View)","u":"processMessage(it.polimi.ingsw.am32.client.View)"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListener","l":"processRegularMessage()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"publicInfo"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"purgeTimer()"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"putCardInHand(NonObjectiveCard)","u":"putCardInHand(it.polimi.ingsw.am32.model.card.NonObjectiveCard)"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListener","l":"queuesLock"},{"p":"it.polimi.ingsw.am32.model.card","c":"CornerType","l":"QUILL"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"ObjectType","l":"QUILL"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"QUILL"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"randomizePlayersOrder()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"randomizePlayersOrder()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"readInputThread()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DrawCardFailedMessage","l":"reason"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidInboundChatMessage","l":"reason"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidSelectedSecretObjectiveCardMessage","l":"reason"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidStarterCardSideSelectionMessage","l":"reason"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardFailedMessage","l":"reason"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"receiveSecretObjective(Card, Card)","u":"receiveSecretObjective(it.polimi.ingsw.am32.model.card.Card,it.polimi.ingsw.am32.model.card.Card)"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"receiveSecretObjectiveChoiceFromPlayer(String, int)","u":"receiveSecretObjectiveChoiceFromPlayer(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"receiveSecretObjectiveChoiceFromPlayer(String, int)","u":"receiveSecretObjectiveChoiceFromPlayer(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.chat","c":"ChatMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.client","c":"ChatMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"InboundChatMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AccessGameConfirmMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AssignedSecretObjectiveCardMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AssignedStarterCardMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmSelectedSecretObjectiveCardMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmStarterCardSideSelectionMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DeckSizeUpdateMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DrawCardConfirmationMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DrawCardFailedMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ErrorMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"GameStartedMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidInboundChatMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidSelectedSecretObjectiveCardMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidStarterCardSideSelectionMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"LobbyPlayerListMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchStatusMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchWinnersMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"NegativeResponsePlayerFieldMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"NewGameConfirmationMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardConfirmationMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardFailedMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardRollbackMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerConnectedMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerDisconnectMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerReconnectedMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerTurnMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PongMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ReconnectGameConfirmMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ResponsePlayerFieldMessage","l":"recipientNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"OutboundChatMessage","l":"recipientString"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"RECONNECT_GAME"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"RECONNECT_GAME_FAILURE"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"reconnect(String, ServerNodeInterface)","u":"reconnect(java.lang.String,it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"reconnectCalled"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"reconnectCalled"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ReconnectGameConfirmMessage","l":"ReconnectGameConfirmMessage(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"ReconnectGameMessage","l":"ReconnectGameMessage(String, int)","u":"%3Cinit%3E(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.controller","c":"GamesManager","l":"reconnectToGame(String, int, ServerNodeInterface)","u":"reconnectToGame(java.lang.String,int,it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface)"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"LConfigurationFour","l":"recursiveOccurrences(ArrayList)","u":"recursiveOccurrences(java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"LConfigurationTwo","l":"recursiveOccurrences(ArrayList)","u":"recursiveOccurrences(java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.model.player","c":"Colour","l":"RED"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"registry"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"REMOTEOBJECTNAME"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardRollbackMessage","l":"removedCard"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"requestDrawCard()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"requestDrawCard()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"requestDrawCard()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"RequestGameStatusMessage","l":"RequestGameStatusMessage(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"requestPlaceCard()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"requestPlaceCard()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"requestPlaceCard()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"RequestPlayerFieldMessage","l":"RequestPlayerFieldMessage(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"requestReconnection()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"requestSelectSecretObjectiveCard()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"requestSelectSecretObjectiveCard()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"requestSelectSecretObjectiveCard()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"requestSelectStarterCardSide(int)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"requestSelectStarterCardSide(int)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"requestSelectStarterCardSide(int)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"resetConnection()"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"resetConnection()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"resetSelectionPaneContext()"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"resetTimeCounter()"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"resetTimeCounter()"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"resetTimeCounter()"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"ServerNodeInterface","l":"resetTimeCounter()"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"resetTimeCounter()"},{"p":"it.polimi.ingsw.am32.model.deck.utils","c":"DeckType","l":"RESOURCE"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"resourceCardDeckFacingKingdom"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DeckSizeUpdateMessage","l":"resourceCardDeckFacingKingdom"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"resourceCardDeckFacingKingdom"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DeckSizeUpdateMessage","l":"resourceCardDeckSize"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"resourceCardsDeck"},{"p":"it.polimi.ingsw.am32.model.field","c":"Field","l":"resourceCornersConverter(CornerType, CornerType, CornerType, CornerType)","u":"resourceCornersConverter(it.polimi.ingsw.am32.model.card.CornerType,it.polimi.ingsw.am32.model.card.CornerType,it.polimi.ingsw.am32.model.card.CornerType,it.polimi.ingsw.am32.model.card.CornerType)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"resourceDeckSize"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"resourceDeckView"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"PlayerPubView","l":"resourceLabels"},{"p":"it.polimi.ingsw.am32.client","c":"PlayerPub","l":"resources"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"resourceSize"},{"p":"it.polimi.ingsw.am32.model.field","c":"Field","l":"resourcesObtained(NonObjectiveCard, boolean)","u":"resourcesObtained(it.polimi.ingsw.am32.model.card.NonObjectiveCard,boolean)"},{"p":"it.polimi.ingsw.am32.model.field","c":"Field","l":"resourcesSize"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ResponsePlayerFieldMessage","l":"ResponsePlayerFieldMessage(String, String, ArrayList, int[])","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList,int[])"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"retrieveResourceURI(String)","u":"retrieveResourceURI(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"returnToMyField"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"rmiClientAcceptor"},{"p":"it.polimi.ingsw.am32.network.ClientAcceptor","c":"RMIClientAcceptor","l":"RMIClientAcceptor()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"RMIClientNode(View, String, int)","u":"%3Cinit%3E(it.polimi.ingsw.am32.client.View,java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"rmiPort"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"RMIServerNode(RMIClientNodeInt)","u":"%3Cinit%3E(it.polimi.ingsw.am32.network.ClientNode.RMIClientNodeInt)"},{"p":"it.polimi.ingsw.am32.model.field","c":"Field","l":"rollback()"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"RollbackException","l":"RollbackException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"rollbackMove()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"rollbackPlacement()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"rollbackPlacement()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"PlaceCardMessage","l":"row"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"ruleBookImages"},{"p":"it.polimi.ingsw.am32.client.listener","c":"AskListener","l":"run()"},{"p":"it.polimi.ingsw.am32.controller","c":"EndMatchDueToDisconnectionTimerTask","l":"run()"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualView","l":"run()"},{"p":"it.polimi.ingsw.am32.network.ClientAcceptor","c":"SKClientAcceptor","l":"run()"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"ClientPingTask","l":"run()"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"run()"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"ServerPingTask","l":"run()"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"run()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"searchNonObjCardById(int)"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"secObjOptions"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"secretObjCards"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"secretObjCardSelected"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"secretObjCardView"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"secretObjective"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"SecretObjectiveCardException","l":"SecretObjectiveCardException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"secretObjectiveSelection(int)"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchWinnersMessage","l":"secrets"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"SELECT_GAME_MODE"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"SELECT_SECRET_OBJ_CARD"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"SELECT_SECRET_OBJ_CARD_FAILURE"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"SELECT_STARTER_CARD_SIDE"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"SELECT_STARTER_CARD_SIDE_FAILURE"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"SELECTED_SECRET_OBJ_CARD"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"SELECTED_STARTER_CARD_SIDE"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"selectedCardId"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"SelectedSecretObjectiveCardMessage","l":"SelectedSecretObjectiveCardMessage(String, int)","u":"%3Cinit%3E(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"SelectedStarterCardSideMessage","l":"SelectedStarterCardSideMessage(String, boolean)","u":"%3Cinit%3E(java.lang.String,boolean)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"selectionPane"},{"p":"it.polimi.ingsw.am32.chat","c":"ChatMessage","l":"senderNickname"},{"p":"it.polimi.ingsw.am32.client","c":"ChatMessage","l":"senderNickname"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"AccessGameMessage","l":"senderNickname"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"DrawCardMessage","l":"senderNickname"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"InboundChatMessage","l":"senderNickname"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"NewGameMessage","l":"senderNickname"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"PingMessage","l":"senderNickname"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"PlaceCardMessage","l":"senderNickname"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"ReconnectGameMessage","l":"senderNickname"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"RequestGameStatusMessage","l":"senderNickname"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"RequestPlayerFieldMessage","l":"senderNickname"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"SelectedSecretObjectiveCardMessage","l":"senderNickname"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"SelectedStarterCardSideMessage","l":"senderNickname"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"OutboundChatMessage","l":"senderNickname"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"sendGameStatus(String)","u":"sendGameStatus(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"sendPlayerField(String, String)","u":"sendPlayerField(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32","c":"Server","l":"Server(String[])","u":"%3Cinit%3E(java.lang.String[])"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"serverIp"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"serverIpValidator(String, String)","u":"serverIpValidator(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"serverNode"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"serverPingTask"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"serverPingTask"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"ServerPingTask","l":"ServerPingTask(ServerNodeInterface)","u":"%3Cinit%3E(it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"service"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"ChatArea","l":"setActive(boolean)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"setApp(GraphicalUIApplication)","u":"setApp(it.polimi.ingsw.am32.client.view.gui.GraphicalUIApplication)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"setCardsReceived(ArrayList, ArrayList, ArrayList)","u":"setCardsReceived(java.util.ArrayList,java.util.ArrayList,java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"setCardsReceived(ArrayList, ArrayList, ArrayList)","u":"setCardsReceived(java.util.ArrayList,java.util.ArrayList,java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"setCardsReceived(ArrayList, ArrayList, ArrayList)","u":"setCardsReceived(java.util.ArrayList,java.util.ArrayList,java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"setColour(Colour)","u":"setColour(it.polimi.ingsw.am32.model.player.Colour)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"PlayerPubView","l":"setColour(Image)","u":"setColour(javafx.scene.image.Image)"},{"p":"it.polimi.ingsw.am32.controller","c":"PlayerQuadruple","l":"setConnected(boolean)"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"setGameController(GameController)","u":"setGameController(it.polimi.ingsw.am32.controller.GameController)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"setGameView()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"setImg()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"setLastTurn()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"setLastTurn()"},{"p":"it.polimi.ingsw.am32.utilities","c":"Log4J2ConfiguratorWrapper","l":"setLogLevelAndConfigure(Level)","u":"setLogLevelAndConfigure(org.apache.logging.log4j.Level)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"setNextPlayer(Optional)","u":"setNextPlayer(java.util.Optional)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"PlayerPubView","l":"setNickname(String)","u":"setNickname(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller","c":"PlayerQuadruple","l":"setNode(ServerNodeInterface)","u":"setNode(it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface)"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"setNonObjCardArray()"},{"p":"it.polimi.ingsw.am32.client","c":"ObjectiveCardFactory","l":"setObjectiveCardArray()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"PlayerPubView","l":"setPoints(int)"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"setPoints(int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"PlayerPubView","l":"setResourceLabels(int[])"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"setRMIClient(String, int)","u":"setRMIClient(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"setRMIClient(String, int)","u":"setRMIClient(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"setRMIClient(String, int)","u":"setRMIClient(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"setSocketClient(String, int)","u":"setSocketClient(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"setSocketClient(String, int)","u":"setSocketClient(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"setSocketClient(String, int)","u":"setSocketClient(java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"setStarterCard(int)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"setStarterCard(int)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"setStarterCard(int)"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualView","l":"setTerminating()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"setTerminating()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"setTerminating()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"setupInitialCardSideSelectionArea(int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"setUpPlayersData()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"setUpPlayersData()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"setUpPlayersData()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"setupSecretObjectiveCardSelectionArea(int, int)","u":"setupSecretObjectiveCardSelectionArea(int,int)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"showBoard(String)","u":"showBoard(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"showCard(int, boolean)","u":"showCard(int,boolean)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"showCard(int, boolean)","u":"showCard(int,boolean)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"showCard(int, boolean)","u":"showCard(int,boolean)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"showChatHistory(List)","u":"showChatHistory(java.util.List)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"showChatHistory(List)","u":"showChatHistory(java.util.List)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"showChatHistory(List)","u":"showChatHistory(java.util.List)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"showDeck()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"showDeck()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"showDeck()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"showHand()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"showHand()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"showHand()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"showHelpInfo()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"showHelpInfo()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"showHelpInfo()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"showMatchWinners(ArrayList, ArrayList, ArrayList, ArrayList, ArrayList)","u":"showMatchWinners(java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"showMatchWinners(ArrayList, ArrayList, ArrayList, ArrayList, ArrayList)","u":"showMatchWinners(java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"showMatchWinners(ArrayList, ArrayList, ArrayList, ArrayList, ArrayList)","u":"showMatchWinners(java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"showObjectiveCards(ArrayList)","u":"showObjectiveCards(java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"showPlayerInGame()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"showPlayersField(String)","u":"showPlayersField(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"showPlayersField(String)","u":"showPlayersField(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"showPlayersField(String)","u":"showPlayersField(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"showPointsAndResource(String)","u":"showPointsAndResource(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"showPointsAndResource(String)","u":"showPointsAndResource(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"showPointsAndResource(String)","u":"showPointsAndResource(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"showRuleBook()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"showWelcome()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"showWelcome()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"showWelcome()"},{"p":"it.polimi.ingsw.am32.model.deck","c":"CardDeck","l":"shuffle()"},{"p":"it.polimi.ingsw.am32.model.deck","c":"NonObjectiveCardDeck","l":"shuffle()"},{"p":"it.polimi.ingsw.am32.client","c":"CardPlacedView","l":"side"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmStarterCardSideSelectionMessage","l":"side"},{"p":"it.polimi.ingsw.am32.client","c":"CardPlacedView","l":"side()"},{"p":"it.polimi.ingsw.am32.network.ClientAcceptor","c":"SKClientAcceptor","l":"SKClientAcceptor()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"SKClientNode(View, String, int)","u":"%3Cinit%3E(it.polimi.ingsw.am32.client.View,java.lang.String,int)"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"SKServerNode(Socket)","u":"%3Cinit%3E(java.net.Socket)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"socket"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"socket"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"socketPort"},{"p":"it.polimi.ingsw.am32.utilities","c":"Configuration","l":"socketReadTimeout"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"SOCKETTIMEOUT"},{"p":"it.polimi.ingsw.am32","c":"Server","l":"start()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUIApplication","l":"start(Stage)","u":"start(javafx.stage.Stage)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"startCard"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"startChatting()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"startChatting()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"startChatting()"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"startConnection()"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"startConnection()"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"STARTERCARD"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"starterCardsDeck"},{"p":"it.polimi.ingsw.am32.model.deck.utils","c":"DeckType","l":"STARTING"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmStarterCardSideSelectionMessage","l":"startingCardId"},{"p":"it.polimi.ingsw.am32","c":"Server","l":"startRMIServer()"},{"p":"it.polimi.ingsw.am32","c":"Server","l":"startSocketServer()"},{"p":"it.polimi.ingsw.am32.model.match","c":"Match","l":"startTurns()"},{"p":"it.polimi.ingsw.am32.model","c":"ModelInterface","l":"startTurns()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"status"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"Status"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"statusIsAlive"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"statusIsAlive"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"statusIsAlive"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"statusIsAlive"},{"p":"it.polimi.ingsw.am32.network.exceptions","c":"ErrorMessageCode","l":"STOCLOBBYMESSAGE_SENT_BUT_GAMECONTROLLER_ALREADY_PRESENT"},{"p":"it.polimi.ingsw.am32.network.exceptions","c":"ErrorMessageCode","l":"STOCMESSAGE_SENT_BEFORE_STOCLOBBYMESSAGE"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"stoCProcessingLock"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"stoCProcessingLock"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"sToCProcessingLock"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"sToCProcessingLock"},{"p":"it.polimi.ingsw.am32.model.deck","c":"ObjectsBuilder","l":"stringsToPointStrategy(String, String, int, boolean)","u":"stringsToPointStrategy(java.lang.String,java.lang.String,int,boolean)"},{"p":"it.polimi.ingsw.am32.model.deck","c":"ObjectsBuilder","l":"stringToCornerType(String)","u":"stringToCornerType(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.deck","c":"ObjectsBuilder","l":"stringToObjectType(String)","u":"stringToObjectType(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"stuckTurnFlag"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"ChatArea","l":"submissionArea"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"ChatArea","l":"submitButton"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"ChatArea","l":"submitChatMessage()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"submitChatMessage(ChatMessage)","u":"submitChatMessage(it.polimi.ingsw.am32.chat.ChatMessage)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"submitVirtualViewMessage(StoCMessage)","u":"submitVirtualViewMessage(it.polimi.ingsw.am32.message.ServerToClient.StoCMessage)"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"TERMINATED"},{"p":"it.polimi.ingsw.am32.model.match","c":"MatchStatus","l":"TERMINATED"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualView","l":"terminating"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"TERMINATING"},{"p":"it.polimi.ingsw.am32.model.match","c":"MatchStatus","l":"TERMINATING"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"TextUI()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"thisPlayerNickname"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"THREADSLEEPINTERVAL"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"THREADSLEEPINTERVAL"},{"p":"it.polimi.ingsw.am32.controller","c":"GameController","l":"timer"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"timer"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"timer"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"tmpSecretObj"},{"p":"it.polimi.ingsw.am32.chat","c":"ChatMessage","l":"toArray()"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"topLeft"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"topLeftBack"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"topRight"},{"p":"it.polimi.ingsw.am32.model.card","c":"NonObjectiveCard","l":"topRightBack"},{"p":"it.polimi.ingsw.am32.chat","c":"ChatMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.client","c":"CardPlacedView","l":"toString()"},{"p":"it.polimi.ingsw.am32.client","c":"ChatMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"AccessGameMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"CtoSLobbyMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"CtoSMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"DrawCardMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"InboundChatMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"NewGameMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"PingMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"PlaceCardMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"ReconnectGameMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"RequestGameStatusMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"RequestPlayerFieldMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"SelectedSecretObjectiveCardMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","c":"SelectedStarterCardSideMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AccessGameConfirmMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AssignedSecretObjectiveCardMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"AssignedStarterCardMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmSelectedSecretObjectiveCardMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ConfirmStarterCardSideSelectionMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DeckSizeUpdateMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DrawCardConfirmationMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"DrawCardFailedMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ErrorMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"GameStartedMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidInboundChatMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidSelectedSecretObjectiveCardMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"InvalidStarterCardSideSelectionMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"LobbyPlayerListMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchStatusMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchWinnersMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"NegativeResponsePlayerFieldMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"NewGameConfirmationMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"OutboundChatMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardConfirmationMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardFailedMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlaceCardRollbackMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerConnectedMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerDisconnectMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerGameStatusMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerReconnectedMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PlayerTurnMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"PongMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ReconnectGameConfirmMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"ResponsePlayerFieldMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"StoCMessage","l":"toString()"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"CountResource","l":"type"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"Diagonals","l":"type"},{"p":"it.polimi.ingsw.am32.network.exceptions","c":"UninitializedException","l":"UninitializedException()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"updateAfterDrawCard(ArrayList)","u":"updateAfterDrawCard(java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"updateAfterDrawCard(ArrayList)","u":"updateAfterDrawCard(java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"updateAfterDrawCard(ArrayList)","u":"updateAfterDrawCard(java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"updateAfterPlacedCard(String, int, int, int, boolean, ArrayList, int[], int)","u":"updateAfterPlacedCard(java.lang.String,int,int,int,boolean,java.util.ArrayList,int[],int)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"updateAfterPlacedCard(String, int, int, int, boolean, ArrayList, int[], int)","u":"updateAfterPlacedCard(java.lang.String,int,int,int,boolean,java.util.ArrayList,int[],int)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"updateAfterPlacedCard(String, int, int, int, boolean, ArrayList, int[], int)","u":"updateAfterPlacedCard(java.lang.String,int,int,int,boolean,java.util.ArrayList,int[],int)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"updateBoardViewLimits(int, int, int[])","u":"updateBoardViewLimits(int,int,int[])"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"updateChat(String, String, String)","u":"updateChat(java.lang.String,java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"updateChat(String, String, String)","u":"updateChat(java.lang.String,java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"updateChat(String, String, String)","u":"updateChat(java.lang.String,java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"PlayerPub","l":"updateColour(String)","u":"updateColour(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"updateConfirmSelectedSecretCard(int)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"updateConfirmSelectedSecretCard(int)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"updateConfirmSelectedSecretCard(int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"updateConfirmStarterCard(int, int, boolean, ArrayList, int[])","u":"updateConfirmStarterCard(int,int,boolean,java.util.ArrayList,int[])"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"updateConfirmStarterCard(int, int, boolean, ArrayList, int[])","u":"updateConfirmStarterCard(int,int,boolean,java.util.ArrayList,int[])"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"updateConfirmStarterCard(int, int, boolean, ArrayList, int[])","u":"updateConfirmStarterCard(int,int,boolean,java.util.ArrayList,int[])"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"updateCurrentEvent(Event)","u":"updateCurrentEvent(it.polimi.ingsw.am32.client.Event)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"updateDeck(int, int, int[], int[], int, int)","u":"updateDeck(int,int,int[],int[],int,int)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"updateDeck(int, int, int[], int[], int, int)","u":"updateDeck(int,int,int[],int[],int,int)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"updateDeck(int, int, int[], int[], int, int)","u":"updateDeck(int,int,int[],int[],int,int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"updateMatchStatus(int)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"updateMatchStatus(int)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"updateMatchStatus(int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"updateNewGameConfirm(int, String)","u":"updateNewGameConfirm(int,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"updateNewGameConfirm(int, String)","u":"updateNewGameConfirm(int,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"updateNewGameConfirm(int, String)","u":"updateNewGameConfirm(int,java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"PlayerPub","l":"updateOnline(boolean)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"updatePlacedCardConfirm(String, int, int[], boolean, int, int[], ArrayList)","u":"updatePlacedCardConfirm(java.lang.String,int,int[],boolean,int,int[],java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"updatePlacedCardConfirm(String, int, int[], boolean, int, int[], ArrayList)","u":"updatePlacedCardConfirm(java.lang.String,int,int[],boolean,int,int[],java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"updatePlacedCardConfirm(String, int, int[], boolean, int, int[], ArrayList)","u":"updatePlacedCardConfirm(java.lang.String,int,int[],boolean,int,int[],java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"updatePlayerData(ArrayList, ArrayList, ArrayList, ArrayList, int, int[], ArrayList>, int[], ArrayList, ArrayList, ArrayList, int, int, int, ArrayList, String, ArrayList, int, int, ArrayList, ArrayList, int)","u":"updatePlayerData(java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,int,int[],java.util.ArrayList,int[],java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,int,int,int,java.util.ArrayList,java.lang.String,java.util.ArrayList,int,int,java.util.ArrayList,java.util.ArrayList,int)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"updatePlayerData(ArrayList, ArrayList, ArrayList, ArrayList, int, int[], ArrayList>, int[], ArrayList, ArrayList, ArrayList, int, int, int, ArrayList, String, ArrayList, int, int, ArrayList, ArrayList, int)","u":"updatePlayerData(java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,int,int[],java.util.ArrayList,int[],java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,int,int,int,java.util.ArrayList,java.lang.String,java.util.ArrayList,int,int,java.util.ArrayList,java.util.ArrayList,int)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"updatePlayerData(ArrayList, ArrayList, ArrayList, ArrayList, int, int[], ArrayList>, int[], ArrayList, ArrayList, ArrayList, int, int, int, ArrayList, String, ArrayList, int, int, ArrayList, ArrayList, int)","u":"updatePlayerData(java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,int,int[],java.util.ArrayList,int[],java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,int,int,int,java.util.ArrayList,java.lang.String,java.util.ArrayList,int,int,java.util.ArrayList,java.util.ArrayList,int)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"updatePlayerList(ArrayList)","u":"updatePlayerList(java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"updatePlayerList(ArrayList)","u":"updatePlayerList(java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"updatePlayerList(ArrayList)","u":"updatePlayerList(java.util.ArrayList)"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"updatePlayerTurn(String)","u":"updatePlayerTurn(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"updatePlayerTurn(String)","u":"updatePlayerTurn(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"updatePlayerTurn(String)","u":"updatePlayerTurn(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"PlayerPub","l":"updatePoints(int)"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"updatePointsForObjectives(Card[])","u":"updatePointsForObjectives(it.polimi.ingsw.am32.model.card.Card[])"},{"p":"it.polimi.ingsw.am32.model.player","c":"Player","l":"updatePointsForSecretObjective()"},{"p":"it.polimi.ingsw.am32.client","c":"PlayerPub","l":"updateResources(int[])"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"updateRollback(String, int, int, int[])","u":"updateRollback(java.lang.String,int,int,int[])"},{"p":"it.polimi.ingsw.am32.client.view.tui","c":"TextUI","l":"updateRollback(String, int, int, int[])","u":"updateRollback(java.lang.String,int,int,int[])"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"updateRollback(String, int, int, int[])","u":"updateRollback(java.lang.String,int,int,int[])"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUIApplication","l":"updateScene(Parent, int, int)","u":"updateScene(javafx.scene.Parent,int,int)"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"uploadCtoS(CtoSMessage)","u":"uploadCtoS(it.polimi.ingsw.am32.message.ClientToServer.CtoSMessage)"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNodeInt","l":"uploadCtoS(CtoSMessage)","u":"uploadCtoS(it.polimi.ingsw.am32.message.ClientToServer.CtoSMessage)"},{"p":"it.polimi.ingsw.am32.network.exceptions","c":"UploadFailureException","l":"UploadFailureException()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"uploadStoC(StoCMessage)","u":"uploadStoC(it.polimi.ingsw.am32.message.ServerToClient.StoCMessage)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNodeInt","l":"uploadStoC(StoCMessage)","u":"uploadStoC(it.polimi.ingsw.am32.message.ServerToClient.StoCMessage)"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"RMIServerNode","l":"uploadToClient(StoCMessage)","u":"uploadToClient(it.polimi.ingsw.am32.message.ServerToClient.StoCMessage)"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"ServerNodeInterface","l":"uploadToClient(StoCMessage)","u":"uploadToClient(it.polimi.ingsw.am32.message.ServerToClient.StoCMessage)"},{"p":"it.polimi.ingsw.am32.network.ServerNode","c":"SKServerNode","l":"uploadToClient(StoCMessage)","u":"uploadToClient(it.polimi.ingsw.am32.message.ServerToClient.StoCMessage)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"ClientNodeInterface","l":"uploadToServer(CtoSLobbyMessage)","u":"uploadToServer(it.polimi.ingsw.am32.message.ClientToServer.CtoSLobbyMessage)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"uploadToServer(CtoSLobbyMessage)","u":"uploadToServer(it.polimi.ingsw.am32.message.ClientToServer.CtoSLobbyMessage)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"uploadToServer(CtoSLobbyMessage)","u":"uploadToServer(it.polimi.ingsw.am32.message.ClientToServer.CtoSLobbyMessage)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"ClientNodeInterface","l":"uploadToServer(CtoSMessage)","u":"uploadToServer(it.polimi.ingsw.am32.message.ClientToServer.CtoSMessage)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"uploadToServer(CtoSMessage)","u":"uploadToServer(it.polimi.ingsw.am32.message.ClientToServer.CtoSMessage)"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"uploadToServer(CtoSMessage)","u":"uploadToServer(it.polimi.ingsw.am32.message.ClientToServer.CtoSMessage)"},{"p":"it.polimi.ingsw.am32.network.ClientAcceptor","c":"RMIClientAcceptor","l":"uploadToServer(RMIClientNodeInt, CtoSLobbyMessage)","u":"uploadToServer(it.polimi.ingsw.am32.network.ClientNode.RMIClientNodeInt,it.polimi.ingsw.am32.message.ClientToServer.CtoSLobbyMessage)"},{"p":"it.polimi.ingsw.am32.network.ClientAcceptor","c":"RMIClientAcceptorInt","l":"uploadToServer(RMIClientNodeInt, CtoSLobbyMessage)","u":"uploadToServer(it.polimi.ingsw.am32.network.ClientNode.RMIClientNodeInt,it.polimi.ingsw.am32.message.ClientToServer.CtoSLobbyMessage)"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"value"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageExceptionEnumeration","l":"value"},{"p":"it.polimi.ingsw.am32.controller","c":"GameControllerStatus","l":"value"},{"p":"it.polimi.ingsw.am32.model.card","c":"Card","l":"value"},{"p":"it.polimi.ingsw.am32.model.card","c":"CornerType","l":"value"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"ObjectType","l":"value"},{"p":"it.polimi.ingsw.am32.model.match","c":"MatchStatus","l":"value"},{"p":"it.polimi.ingsw.am32.model.player","c":"Colour","l":"value"},{"p":"it.polimi.ingsw.am32.client","c":"NonObjCardFactory","l":"Value"},{"p":"it.polimi.ingsw.am32.client","c":"ObjectiveCardFactory","l":"Value"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageExceptionEnumeration","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameControllerStatus","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.card","c":"CornerType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"ObjectType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.deck.utils","c":"DeckType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.match","c":"MatchStatus","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.polimi.ingsw.am32.model.player","c":"Colour","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.polimi.ingsw.am32.network.exceptions","c":"ErrorMessageCode","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"values()"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","c":"LobbyMessageExceptionEnumeration","l":"values()"},{"p":"it.polimi.ingsw.am32.controller","c":"GameControllerStatus","l":"values()"},{"p":"it.polimi.ingsw.am32.model.card","c":"CornerType","l":"values()"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","c":"ObjectType","l":"values()"},{"p":"it.polimi.ingsw.am32.model.deck.utils","c":"DeckType","l":"values()"},{"p":"it.polimi.ingsw.am32.model.match","c":"MatchStatus","l":"values()"},{"p":"it.polimi.ingsw.am32.model.player","c":"Colour","l":"values()"},{"p":"it.polimi.ingsw.am32.network.exceptions","c":"ErrorMessageCode","l":"values()"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"RMIClientNode","l":"view"},{"p":"it.polimi.ingsw.am32.network.ClientNode","c":"SKClientNode","l":"view"},{"p":"it.polimi.ingsw.am32.client","c":"View","l":"View()","u":"%3Cinit%3E()"},{"p":"it.polimi.ingsw.am32.controller","c":"PlayerQuadruple","l":"virtualView"},{"p":"it.polimi.ingsw.am32.controller","c":"VirtualView","l":"VirtualView(ServerNodeInterface)","u":"%3Cinit%3E(it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface)"},{"p":"it.polimi.ingsw.am32.controller.exceptions","c":"VirtualViewNotFoundException","l":"VirtualViewNotFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.controller","c":"GameControllerStatus","l":"WAITING_CARD_DRAW"},{"p":"it.polimi.ingsw.am32.controller","c":"GameControllerStatus","l":"WAITING_CARD_PLACEMENT"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"WAITING_FOR_START"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"WAITING_FOR_TURN"},{"p":"it.polimi.ingsw.am32.controller","c":"GameControllerStatus","l":"WAITING_SECRET_OBJECTIVE_CARD_CHOICE"},{"p":"it.polimi.ingsw.am32.controller","c":"GameControllerStatus","l":"WAITING_STARTER_CARD_CHOICE"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"waitingRoot"},{"p":"it.polimi.ingsw.am32.client","c":"Event","l":"WELCOME"},{"p":"it.polimi.ingsw.am32.client.view.gui","c":"GraphicalUI","l":"welcomeRoot"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","c":"MatchWinnersMessage","l":"winners"},{"p":"it.polimi.ingsw.am32.model.exceptions","c":"WrongDeckTypeException","l":"WrongDeckTypeException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"it.polimi.ingsw.am32.client","c":"CardPlacedView","l":"x"},{"p":"it.polimi.ingsw.am32.model.field","c":"CardPlaced","l":"x"},{"p":"it.polimi.ingsw.am32.client","c":"CardPlacedView","l":"x()"},{"p":"it.polimi.ingsw.am32.client","c":"CardPlacedView","l":"y"},{"p":"it.polimi.ingsw.am32.model.field","c":"CardPlaced","l":"y"},{"p":"it.polimi.ingsw.am32.client","c":"CardPlacedView","l":"y()"},{"p":"it.polimi.ingsw.am32.model.player","c":"Colour","l":"YELLOW"}];updateSearchResults(); \ No newline at end of file diff --git a/deliverables/JavaDoc/module-search-index.js b/deliverables/JavaDoc/module-search-index.js new file mode 100644 index 00000000..51ed58a9 --- /dev/null +++ b/deliverables/JavaDoc/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [{"l":"it.polimi.ingsw.am32"}];updateSearchResults(); \ No newline at end of file diff --git a/deliverables/JavaDoc/overview-tree.html b/deliverables/JavaDoc/overview-tree.html new file mode 100644 index 00000000..0048543c --- /dev/null +++ b/deliverables/JavaDoc/overview-tree.html @@ -0,0 +1,329 @@ + + + + +Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For All Packages

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+

Record Class Hierarchy

+ +
+
+ + diff --git a/deliverables/JavaDoc/package-search-index.js b/deliverables/JavaDoc/package-search-index.js new file mode 100644 index 00000000..a92fcbdf --- /dev/null +++ b/deliverables/JavaDoc/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.chat"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.chat.exceptions"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.client"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.client.exceptions"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.client.listener"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.client.view.gui"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.client.view.tui"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.controller"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.controller.exceptions"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.controller.exceptions.abstraction"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.message.ClientToServer"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.message.ServerToClient"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.model"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.model.card"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.model.card.pointstrategy"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.model.deck"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.model.deck.utils"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.model.exceptions"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.model.field"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.model.match"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.model.player"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.network.ClientAcceptor"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.network.ClientNode"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.network.exceptions"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.network.ServerNode"},{"m":"it.polimi.ingsw.am32","l":"it.polimi.ingsw.am32.utilities"}];updateSearchResults(); \ No newline at end of file diff --git a/deliverables/JavaDoc/resource-files/copy.svg b/deliverables/JavaDoc/resource-files/copy.svg new file mode 100644 index 00000000..7c46ab15 --- /dev/null +++ b/deliverables/JavaDoc/resource-files/copy.svg @@ -0,0 +1,33 @@ + + + + + + + + diff --git a/deliverables/JavaDoc/resource-files/glass.png b/deliverables/JavaDoc/resource-files/glass.png new file mode 100644 index 00000000..a7f591f4 Binary files /dev/null and b/deliverables/JavaDoc/resource-files/glass.png differ diff --git a/deliverables/JavaDoc/resource-files/jquery-ui.min.css b/deliverables/JavaDoc/resource-files/jquery-ui.min.css new file mode 100644 index 00000000..693327f0 --- /dev/null +++ b/deliverables/JavaDoc/resource-files/jquery-ui.min.css @@ -0,0 +1,6 @@ +/*! jQuery UI - v1.13.2 - 2023-02-27 +* http://jqueryui.com +* Includes: core.css, autocomplete.css, menu.css +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;-ms-filter:"alpha(opacity=0)"}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0} \ No newline at end of file diff --git a/deliverables/JavaDoc/resource-files/link.svg b/deliverables/JavaDoc/resource-files/link.svg new file mode 100644 index 00000000..7ccc5ed0 --- /dev/null +++ b/deliverables/JavaDoc/resource-files/link.svg @@ -0,0 +1,31 @@ + + + + + + + + diff --git a/deliverables/JavaDoc/resource-files/stylesheet.css b/deliverables/JavaDoc/resource-files/stylesheet.css new file mode 100644 index 00000000..46c39a09 --- /dev/null +++ b/deliverables/JavaDoc/resource-files/stylesheet.css @@ -0,0 +1,1275 @@ +/* + * Javadoc style sheet + */ + +@import url('fonts/dejavu.css'); + +/* + * These CSS custom properties (variables) define the core color and font + * properties used in this stylesheet. + */ +:root { + /* body, block and code fonts */ + --body-font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + --block-font-family: 'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + --code-font-family: 'DejaVu Sans Mono', monospace; + /* Base font sizes for body and code elements */ + --body-font-size: 14px; + --code-font-size: 14px; + /* Text colors for body and block elements */ + --body-text-color: #353833; + --block-text-color: #474747; + /* Background colors for various structural elements */ + --body-background-color: #ffffff; + --section-background-color: #f8f8f8; + --detail-background-color: #ffffff; + /* Colors for navigation bar and table captions */ + --navbar-background-color: #4D7A97; + --navbar-text-color: #ffffff; + /* Background color for subnavigation and various headers */ + --subnav-background-color: #dee3e9; + /* Background and text colors for selected tabs and navigation items */ + --selected-background-color: #f8981d; + --selected-text-color: #253441; + --selected-link-color: #1f389c; + /* Background colors for generated tables */ + --even-row-color: #ffffff; + --odd-row-color: #eeeeef; + /* Text color for page title */ + --title-color: #2c4557; + /* Text colors for links */ + --link-color: #4A6782; + --link-color-active: #bb7a2a; + /* Snippet colors */ + --snippet-background-color: #ebecee; + --snippet-text-color: var(--block-text-color); + --snippet-highlight-color: #f7c590; + /* Border colors for structural elements and user defined tables */ + --border-color: #ededed; + --table-border-color: #000000; + /* Search input colors */ + --search-input-background-color: #ffffff; + --search-input-text-color: #000000; + --search-input-placeholder-color: #909090; + /* Highlight color for active search tag target */ + --search-tag-highlight-color: #ffff00; + /* Adjustments for icon and active background colors of copy-to-clipboard buttons */ + --copy-icon-brightness: 100%; + --copy-button-background-color-active: rgba(168, 168, 176, 0.3); + /* Colors for invalid tag notifications */ + --invalid-tag-background-color: #ffe6e6; + --invalid-tag-text-color: #000000; +} +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ +body { + background-color:var(--body-background-color); + color:var(--body-text-color); + font-family:var(--body-font-family); + font-size:var(--body-font-size); + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +:not(input)[id] { + scroll-margin-top: 78px; +} +a:link, a:visited { + text-decoration:none; + color:var(--link-color); +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:var(--link-color-active); +} +pre { + font-family:var(--code-font-family); + font-size:1em; +} +h1 { + font-size:1.428em; +} +h2 { + font-size:1.285em; +} +h3 { + font-size:1.14em; +} +h4 { + font-size:1.072em; +} +h5 { + font-size:1.001em; +} +h6 { + font-size:0.93em; +} +/* Disable font boosting for selected elements */ +h1, h2, h3, h4, h5, h6, div.member-signature { + max-height: 1000em; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:var(--code-font-family); +} +:not(h1, h2, h3, h4, h5, h6) > code, +:not(h1, h2, h3, h4, h5, h6) > tt { + font-size:var(--code-font-size); + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:var(--code-font-family); + font-size:1em; + padding-top:4px; +} +.summary-table dt code { + font-family:var(--code-font-family); + font-size:1em; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +button { + font-family: var(--body-font-family); + font-size: 1em; +} +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.about-language { + float:right; + padding:0 21px 8px 8px; + font-size:0.915em; + margin-top:-9px; + height:2.9em; +} +.legal-copy { + margin-left:.5em; +} +/* + * Styles for navigation bar. + */ +@media screen { + header { + position:sticky; + top:0; + z-index:1; + background: var(--body-background-color); + } +} +.top-nav { + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); + float:left; + width:100%; + clear:right; + min-height:2.8em; + padding:10px 0 0 0; + overflow:hidden; + font-size:0.857em; +} +button#navbar-toggle-button { + display:none; +} +ul.sub-nav-list-small { + display: none; +} +.sub-nav { + background-color:var(--subnav-background-color); + float:left; + width:100%; + overflow:hidden; + font-size:0.857em; +} +.sub-nav div { + clear:left; + float:left; + padding:6px; + text-transform:uppercase; +} +.sub-nav .sub-nav-list { + padding-top:4px; +} +ul.nav-list { + display:block; + margin:0 25px 0 0; + padding:0; +} +ul.sub-nav-list { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.nav-list li { + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list-search { + float:right; + margin:0; + padding:6px; + clear:none; + text-align:right; + position:relative; +} +ul.sub-nav-list li { + list-style:none; + float:left; +} +.top-nav a:link, .top-nav a:active, .top-nav a:visited { + color:var(--navbar-text-color); + text-decoration:none; + text-transform:uppercase; +} +.top-nav a:hover { + color:var(--link-color-active); +} +.nav-bar-cell1-rev { + background-color:var(--selected-background-color); + color:var(--selected-text-color); + margin: auto 5px; +} +.skip-nav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Hide navigation links and search box in print layout + */ +@media print { + ul.nav-list, div.sub-nav { + display:none; + } +} +/* + * Styles for page header. + */ +.title { + color:var(--title-color); + margin:10px 0; +} +.sub-title { + margin:5px 0 0 0; +} +ul.contents-list { + margin: 0 0 15px 0; + padding: 0; + list-style: none; +} +ul.contents-list li { + font-size:0.93em; +} +/* + * Styles for headings. + */ +body.class-declaration-page .summary h2, +body.class-declaration-page .details h2, +body.class-use-page h2, +body.module-declaration-page .block-list h2 { + font-style: italic; + padding:0; + margin:15px 0; +} +body.class-declaration-page .summary h3, +body.class-declaration-page .details h3 { + background-color:var(--subnav-background-color); + border:1px solid var(--border-color); + margin:0 0 6px -8px; + padding:7px 5px; + overflow-x:auto; +} +/* + * Styles for page layout containers. + */ +main { + clear:both; + padding:10px 20px; + position:relative; +} +section[id$=-description] :is(dl, ol, ul, p, div, blockquote, pre):last-child, +section[id$=-description] :is(dl, ol, ul):last-child > :is(li, dd):last-child { + margin-bottom:4px; +} +dl.notes > dt { + font-family: var(--body-font-family); + font-size:0.856em; + font-weight:bold; + margin:10px 0 0 0; + color:var(--body-text-color); +} +dl.notes > dd { + margin:5px 10px 10px 0; + font-size:1em; + font-family:var(--block-font-family) +} +dl.name-value > dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +dl.name-value > dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +div.inheritance { + margin:0; + padding:0; +} +div.inheritance div.inheritance { + margin-left:2em; +} +ul.block-list, +ul.details-list, +ul.member-list, +ul.summary-list { + margin:10px 0 10px 0; + padding:0; +} +ul.block-list > li, +ul.details-list > li, +ul.member-list > li, +ul.summary-list > li { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.ref-list { + padding:0; + margin:0; +} +ul.ref-list > li { + list-style:none; +} +.summary-table dl, .summary-table dl dt, .summary-table dl dd { + margin-top:0; + margin-bottom:1px; +} +ul.tag-list, ul.tag-list-long { + padding-left: 0; + list-style: none; +} +ul.tag-list li { + display: inline; +} +ul.tag-list li:not(:last-child):after, +ul.tag-list-long li:not(:last-child):after +{ + content: ", "; + white-space: pre-wrap; +} +ul.preview-feature-list { + list-style: none; + margin:0; + padding:0.1em; + line-height: 1.6em; +} +/* + * Styles for tables. + */ +.summary-table, .details-table { + width:100%; + border-spacing:0; + border:1px solid var(--border-color); + border-top:0; + padding:0; +} +.caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:var(--selected-text-color); + clear:none; + overflow:hidden; + padding: 10px 0 0 1px; + margin:0; +} +.caption a:link, .caption a:visited { + color:var(--selected-link-color); +} +.caption a:hover, +.caption a:active { + color:var(--navbar-text-color); +} +.caption span { + font-weight:bold; + white-space:nowrap; + padding:5px 12px 7px 12px; + display:inline-block; + float:left; + background-color:var(--selected-background-color); + border: none; + height:16px; +} +div.table-tabs { + padding: 10px 0 0 1px; + margin: 0; +} +div.table-tabs > button { + border: none; + cursor: pointer; + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 8px; +} +div.table-tabs > .active-table-tab { + background: var(--selected-background-color); + color: var(--selected-text-color); +} +div.table-tabs > button.table-tab { + background: var(--navbar-background-color); + color: var(--navbar-text-color); +} +.two-column-search-results { + display: grid; + grid-template-columns: minmax(400px, max-content) minmax(400px, auto); +} +div.checkboxes { + line-height: 2em; +} +div.checkboxes > span { + margin-left: 10px; +} +div.checkboxes > label { + margin-left: 8px; + white-space: nowrap; +} +div.checkboxes > label > input { + margin: 0 2px; +} +.two-column-summary { + display: grid; + grid-template-columns: minmax(25%, max-content) minmax(25%, auto); +} +.three-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(20%, max-content) minmax(20%, auto); +} +.three-column-release-summary { + display: grid; + grid-template-columns: minmax(40%, max-content) minmax(10%, max-content) minmax(40%, auto); +} +.four-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, max-content) minmax(15%, auto); +} +@media screen and (max-width: 1000px) { + .four-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); + } +} +@media screen and (max-width: 800px) { + .two-column-search-results { + display: grid; + grid-template-columns: minmax(40%, max-content) minmax(40%, auto); + } + .three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(25%, auto); + } + .three-column-release-summary { + display: grid; + grid-template-columns: minmax(70%, max-content) minmax(30%, max-content) + } + .three-column-summary .col-last, + .three-column-release-summary .col-last{ + grid-column-end: span 2; + } +} +@media screen and (max-width: 600px) { + .two-column-summary { + display: grid; + grid-template-columns: 1fr; + } +} +.summary-table > div, .details-table > div { + text-align:left; + padding: 8px 3px 3px 7px; + overflow: auto hidden; + scrollbar-width: thin; +} +.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { + vertical-align:top; + padding-right:0; + padding-top:8px; + padding-bottom:3px; +} +.table-header { + background:var(--subnav-background-color); + font-weight: bold; +} +/* Sortable table columns */ +.table-header[onclick] { + cursor: pointer; +} +.table-header[onclick]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + '); + background-size:100% 100%; + width:9px; + height:14px; + margin-left:4px; + margin-bottom:-3px; +} +.table-header[onclick].sort-asc::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + +} +.table-header[onclick].sort-desc::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} +.col-first, .col-first { + font-size:0.93em; +} +.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { + font-size:0.93em; +} +.col-first, .col-second, .col-constructor-name { + vertical-align:top; + overflow: auto; +} +.col-last { + white-space:normal; +} +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-constructor-name a:link, .col-constructor-name a:visited, +.col-summary-item-name a:link, .col-summary-item-name a:visited { + font-weight:bold; +} +.even-row-color, .even-row-color .table-header { + background-color:var(--even-row-color); +} +.odd-row-color, .odd-row-color .table-header { + background-color:var(--odd-row-color); +} +/* + * Styles for contents. + */ +div.block { + font-size:var(--body-font-size); + font-family:var(--block-font-family); +} +.col-last div { + padding-top:0; +} +.col-last a { + padding-bottom:3px; +} +.module-signature, +.package-signature, +.type-signature, +.member-signature { + font-family:var(--code-font-family); + font-size:1em; + margin:8px 0 14px 0; + white-space: pre-wrap; +} +.module-signature, +.package-signature, +.type-signature { + margin-top: 0; +} +.member-signature .type-parameters-long, +.member-signature .parameters, +.member-signature .exceptions { + display: inline-block; + vertical-align: top; + white-space: pre; +} +.member-signature .type-parameters { + white-space: normal; +} +/* + * Styles for formatting effect. + */ +.source-line-no { + /* Color of line numbers in source pages can be set via custom property below */ + color:var(--source-linenumber-color, green); + padding:0 30px 0 0; +} +.block { + display:block; + margin:0 10px 5px 0; + color:var(--block-text-color); +} +.deprecated-label, .description-from-type-label, .implementation-label, .member-name-link, +.module-label-in-package, .module-label-in-type, .package-label-in-type, +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label, .restricted-label { + font-weight:bold; +} +.deprecation-comment, .help-footnote, .preview-comment, .restricted-comment { + font-style:italic; +} +.deprecation-block, .preview-block, .restricted-block { + font-size:1em; + font-family:var(--block-font-family); + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecation-comment { + font-style:normal; +} +details.invalid-tag, span.invalid-tag { + font-size:1em; + font-family:var(--block-font-family); + color: var(--invalid-tag-text-color); + background: var(--invalid-tag-background-color); + border: thin solid var(--table-border-color); + border-radius:2px; + padding: 2px 4px; + display:inline-block; +} +details summary { + cursor: pointer; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +nav { + overflow:hidden; +} +/* + * Styles for javadoc search. + */ +.ui-menu .ui-state-active { + /* Overrides the color of selection used in jQuery UI */ + background: var(--selected-background-color); + color: var(--selected-text-color); + /* Workaround for browser bug, see JDK-8275889 */ + margin: -1px 0; + border-top: 1px solid var(--selected-background-color); + border-bottom: 1px solid var(--selected-background-color); +} +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); + box-sizing: border-box; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:auto; + overflow-x:auto; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); + overscroll-behavior: contain; +} +ul.ui-autocomplete { + position:fixed; + z-index:1; + background-color: var(--body-background-color); +} +ul.ui-autocomplete li { + float:left; + clear:both; + min-width:100%; + box-sizing: border-box; +} +ul.ui-autocomplete li.ui-static-link { + position:sticky; + bottom:0; + left:0; + background: var(--subnav-background-color); + padding: 5px 0; + font-family: var(--body-font-family); + font-size: 0.93em; + font-weight: bolder; + z-index: 2; +} +li.ui-static-link a, li.ui-static-link a:visited { + text-decoration:none; + color:var(--link-color); + float:right; + margin-right:20px; +} +.ui-autocomplete .result-item { + font-size: inherit; +} +.ui-autocomplete .result-highlight { + font-weight:bold; +} +.ui-menu .ui-menu-item-wrapper { + padding-top: 0.4em; + padding-bottom: 0.4em; +} +#search-input, #page-search-input { + background-image:url('glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + background-color: var(--search-input-background-color); + color: var(--search-input-text-color); + border-color: var(--border-color); + padding-left:20px; + width: 250px; + margin: 0; +} +#search-input { + margin-left: 4px; +} +#reset-button { + background-color: transparent; + background-image:url('x.png'); + background-repeat:no-repeat; + background-size:contain; + border:0; + border-radius:0; + width:12px; + height:12px; + position:absolute; + right:12px; + top:10px; + font-size:0; +} +::placeholder { + color:var(--search-input-placeholder-color); + opacity: 1; +} +.search-tag-desc-result { + font-style:italic; + font-size:11px; +} +.search-tag-holder-result { + font-style:italic; + font-size:12px; +} +.search-tag-result:target { + background-color:var(--search-tag-highlight-color); +} +details.page-search-details { + display: inline-block; +} +div#result-container { + font-size: 1em; +} +div#result-container a.search-result-link { + padding: 0; + margin: 4px 0; + width: 100%; +} +#result-container .result-highlight { + font-weight:bolder; +} +.page-search-info { + background-color: var(--subnav-background-color); + border-radius: 3px; + border: 0 solid var(--border-color); + padding: 0 8px; + overflow: hidden; + height: 0; + transition: all 0.2s ease; +} +div.table-tabs > button.table-tab { + background: var(--navbar-background-color); + color: var(--navbar-text-color); +} +.page-search-header { + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 3px; + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); + display: inline-block; +} +button.page-search-header { + border: none; + cursor: pointer; +} +span#page-search-link { + text-decoration: underline; +} +.module-graph span, .sealed-graph span { + display:none; + position:absolute; +} +.module-graph:hover span, .sealed-graph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.inherited-list { + margin: 10px 0 10px 0; +} +.horizontal-scroll { + overflow: auto hidden; +} +section.class-description { + line-height: 1.4; +} +.summary section[class$="-summary"], .details section[class$="-details"], +.class-uses .detail, .serialized-class-details { + padding: 0 20px 5px 10px; + border: 1px solid var(--border-color); + background-color: var(--section-background-color); +} +.inherited-list, section[class$="-details"] .detail { + padding:0 0 5px 8px; + background-color:var(--detail-background-color); + border:none; +} +.vertical-separator { + padding: 0 5px; +} +ul.help-section-list { + margin: 0; +} +ul.help-subtoc > li { + display: inline-block; + padding-right: 5px; + font-size: smaller; +} +ul.help-subtoc > li::before { + content: "\2022" ; + padding-right:2px; +} +.help-note { + font-style: italic; +} +/* + * Indicator icon for external links. + */ +main a[href*="://"]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + background-size:100% 100%; + width:7px; + height:7px; + margin-left:2px; + margin-bottom:4px; +} +main a[href*="://"]:hover::after, +main a[href*="://"]:focus::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} +/* + * Styles for header/section anchor links + */ +a.anchor-link { + opacity: 0; + transition: opacity 0.1s; +} +:hover > a.anchor-link { + opacity: 80%; +} +a.anchor-link:hover, +a.anchor-link:focus-visible, +a.anchor-link.visible { + opacity: 100%; +} +a.anchor-link > img { + width: 0.9em; + height: 0.9em; +} +/* + * Styles for copy-to-clipboard buttons + */ +button.copy { + opacity: 70%; + border: none; + border-radius: 3px; + position: relative; + background:none; + transition: opacity 0.3s; + cursor: pointer; +} +:hover > button.copy { + opacity: 80%; +} +button.copy:hover, +button.copy:active, +button.copy:focus-visible, +button.copy.visible { + opacity: 100%; +} +button.copy img { + position: relative; + background: none; + filter: brightness(var(--copy-icon-brightness)); +} +button.copy:active { + background-color: var(--copy-button-background-color-active); +} +button.copy span { + color: var(--body-text-color); + position: relative; + top: -0.1em; + transition: all 0.1s; + font-size: 0.76rem; + line-height: 1.2em; + opacity: 0; +} +button.copy:hover span, +button.copy:focus-visible span, +button.copy.visible span { + opacity: 100%; +} +/* search page copy button */ +button#page-search-copy { + margin-left: 0.4em; + padding:0.3em; + top:0.13em; +} +button#page-search-copy img { + width: 1.2em; + height: 1.2em; + padding: 0.01em 0; + top: 0.15em; +} +button#page-search-copy span { + color: var(--body-text-color); + line-height: 1.2em; + padding: 0.2em; + top: -0.18em; +} +div.page-search-info:hover button#page-search-copy span { + opacity: 100%; +} +/* snippet copy button */ +button.snippet-copy { + position: absolute; + top: 6px; + right: 6px; + height: 1.7em; + padding: 2px; +} +button.snippet-copy img { + width: 18px; + height: 18px; + padding: 0.05em 0; +} +button.snippet-copy span { + line-height: 1.2em; + padding: 0.2em; + position: relative; + top: -0.5em; +} +div.snippet-container:hover button.snippet-copy span { + opacity: 100%; +} +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid var(--table-border-color); +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid var(--table-border-color); +} +table.striped { + border-collapse: collapse; + border: 1px solid var(--table-border-color); +} +table.striped > thead { + background-color: var(--subnav-background-color); +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid var(--table-border-color); +} +table.striped > tbody > tr:nth-child(even) { + background-color: var(--odd-row-color) +} +table.striped > tbody > tr:nth-child(odd) { + background-color: var(--even-row-color) +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid var(--table-border-color); + border-right: 1px solid var(--table-border-color); +} +table.striped > tbody > tr > th { + font-weight: normal; +} +/** + * Tweak style for small screens. + */ +@media screen and (max-width: 920px) { + header { + max-height: 100vh; + overflow-y: auto; + } + div#navbar-top { + height: 2.8em; + transition: height 0.35s ease; + } + ul.nav-list { + display: block; + width: 40%; + float:left; + clear: left; + margin: 10px 0 0 0; + padding: 0; + } + ul.nav-list li { + float: none; + padding: 6px; + margin-left: 10px; + margin-top: 2px; + } + ul.sub-nav-list-small { + display:block; + height: 100%; + width: 50%; + float: right; + clear: right; + background-color: var(--subnav-background-color); + color: var(--body-text-color); + margin: 6px 0 0 0; + padding: 0; + } + ul.sub-nav-list-small ul { + padding-left: 20px; + } + ul.sub-nav-list-small a:link, ul.sub-nav-list-small a:visited { + color:var(--link-color); + } + ul.sub-nav-list-small a:hover { + color:var(--link-color-active); + } + ul.sub-nav-list-small li { + list-style:none; + float:none; + padding: 6px; + margin-top: 1px; + text-transform:uppercase; + } + ul.sub-nav-list-small > li { + margin-left: 10px; + } + ul.sub-nav-list-small li p { + margin: 5px 0; + } + div#navbar-sub-list { + display: none; + } + .top-nav a:link, .top-nav a:active, .top-nav a:visited { + display: block; + } + button#navbar-toggle-button { + width: 3.4em; + height: 2.8em; + background-color: transparent; + display: block; + float: left; + border: 0; + margin: 0 10px; + cursor: pointer; + font-size: 10px; + } + button#navbar-toggle-button .nav-bar-toggle-icon { + display: block; + width: 24px; + height: 3px; + margin: 1px 0 4px 0; + border-radius: 2px; + transition: all 0.1s; + background-color: var(--navbar-text-color); + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(1) { + transform: rotate(45deg); + transform-origin: 10% 10%; + width: 26px; + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(2) { + opacity: 0; + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(3) { + transform: rotate(-45deg); + transform-origin: 10% 90%; + width: 26px; + } +} +@media screen and (max-width: 800px) { + .about-language { + padding-right: 16px; + } + ul.nav-list li { + margin-left: 5px; + } + ul.sub-nav-list-small > li { + margin-left: 5px; + } + main { + padding: 10px; + } + .summary section[class$="-summary"], .details section[class$="-details"], + .class-uses .detail, .serialized-class-details { + padding: 0 8px 5px 8px; + } + body { + -webkit-text-size-adjust: none; + } +} +@media screen and (max-width: 400px) { + .about-language { + font-size: 10px; + padding-right: 12px; + } +} +@media screen and (max-width: 400px) { + .nav-list-search { + width: 94%; + } + #search-input, #page-search-input { + width: 70%; + } +} +@media screen and (max-width: 320px) { + .nav-list-search > label { + display: none; + } + .nav-list-search { + width: 90%; + } + #search-input, #page-search-input { + width: 80%; + } +} + +pre.snippet { + background-color: var(--snippet-background-color); + color: var(--snippet-text-color); + padding: 10px; + margin: 12px 0; + overflow: auto; + white-space: pre; +} +div.snippet-container { + position: relative; +} +@media screen and (max-width: 800px) { + pre.snippet { + padding-top: 26px; + } + button.snippet-copy { + top: 4px; + right: 4px; + } +} +pre.snippet .italic { + font-style: italic; +} +pre.snippet .bold { + font-weight: bold; +} +pre.snippet .highlighted { + background-color: var(--snippet-highlight-color); + border-radius: 10%; +} diff --git a/deliverables/JavaDoc/resource-files/x.png b/deliverables/JavaDoc/resource-files/x.png new file mode 100644 index 00000000..30548a75 Binary files /dev/null and b/deliverables/JavaDoc/resource-files/x.png differ diff --git a/deliverables/JavaDoc/script-files/jquery-3.6.1.min.js b/deliverables/JavaDoc/script-files/jquery-3.6.1.min.js new file mode 100644 index 00000000..2c69bc90 --- /dev/null +++ b/deliverables/JavaDoc/script-files/jquery-3.6.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthC(E(s),E(n))?o.important="horizontal":o.important="vertical",c.using.call(this,t,o)}),l.offset(x.extend(u,{using:t}))})},x.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,l=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=x(t.target),i=x(x.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],x.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case x.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case x.ui.keyCode.END:this._move("last","last",t);break;case x.ui.keyCode.UP:this.previous(t);break;case x.ui.keyCode.DOWN:this.next(t);break;case x.ui.keyCode.LEFT:this.collapse(t);break;case x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=x(this),e=t.prev(),i=x("").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(i=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("
    ").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(t,e){var i,s;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){x(t.target).trigger(t.originalEvent)});s=e.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value),(i=e.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("
    ").text(i))},100))},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==x.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=x("
    ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var e=this.menu.element[0];return t.target===this.element[0]||t.target===e||x.contains(e,t.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t=!(t=!(t=t&&(t.jquery||t.nodeType?x(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front, dialog"):t).length?this.document[0].body:t},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,e){e(x.ui.autocomplete.filter(i,t.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(t,e){n.xhr&&n.xhr.abort(),n.xhr=x.ajax({url:s,data:t,dataType:"json",success:function(t){e(t)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),e=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;t&&(e||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(x("
    ").text(e.label)).appendTo(t)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),x.extend(x.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,e){var i=new RegExp(x.ui.autocomplete.escapeRegex(e),"i");return x.grep(t,function(t){return i.test(t.label||t.value||t)})}}),x.widget("ui.autocomplete",x.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(1").text(e))},100))}});x.ui.autocomplete}); \ No newline at end of file diff --git a/deliverables/JavaDoc/script-files/script.js b/deliverables/JavaDoc/script-files/script.js new file mode 100644 index 00000000..cd9ee635 --- /dev/null +++ b/deliverables/JavaDoc/script-files/script.js @@ -0,0 +1,236 @@ +/* + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; + +var oddRowColor = "odd-row-color"; +var evenRowColor = "even-row-color"; +var sortAsc = "sort-asc"; +var sortDesc = "sort-desc"; +var tableTab = "table-tab"; +var activeTableTab = "active-table-tab"; + +function loadScripts(doc, tag) { + createElem(doc, tag, 'script-files/search.js'); + + createElem(doc, tag, 'module-search-index.js'); + createElem(doc, tag, 'package-search-index.js'); + createElem(doc, tag, 'type-search-index.js'); + createElem(doc, tag, 'member-search-index.js'); + createElem(doc, tag, 'tag-search-index.js'); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +// Helper for making content containing release names comparable lexicographically +function makeComparable(s) { + return s.toLowerCase().replace(/(\d+)/g, + function(n, m) { + return ("000" + m).slice(-4); + }); +} + +// Switches between two styles depending on a condition +function toggleStyle(classList, condition, trueStyle, falseStyle) { + if (condition) { + classList.remove(falseStyle); + classList.add(trueStyle); + } else { + classList.remove(trueStyle); + classList.add(falseStyle); + } +} + +// Sorts the rows in a table lexicographically by the content of a specific column +function sortTable(header, columnIndex, columns) { + var container = header.parentElement; + var descending = header.classList.contains(sortAsc); + container.querySelectorAll("div.table-header").forEach( + function(header) { + header.classList.remove(sortAsc); + header.classList.remove(sortDesc); + } + ) + var cells = container.children; + var rows = []; + for (var i = columns; i < cells.length; i += columns) { + rows.push(Array.prototype.slice.call(cells, i, i + columns)); + } + var comparator = function(a, b) { + var ka = makeComparable(a[columnIndex].textContent); + var kb = makeComparable(b[columnIndex].textContent); + if (ka < kb) + return descending ? 1 : -1; + if (ka > kb) + return descending ? -1 : 1; + return 0; + }; + var sorted = rows.sort(comparator); + var visible = 0; + sorted.forEach(function(row) { + if (row[0].style.display !== 'none') { + var isEvenRow = visible++ % 2 === 0; + } + row.forEach(function(cell) { + toggleStyle(cell.classList, isEvenRow, evenRowColor, oddRowColor); + container.appendChild(cell); + }) + }); + toggleStyle(header.classList, descending, sortDesc, sortAsc); +} + +// Toggles the visibility of a table category in all tables in a page +function toggleGlobal(checkbox, selected, columns) { + var display = checkbox.checked ? '' : 'none'; + document.querySelectorAll("div.table-tabs").forEach(function(t) { + var id = t.parentElement.getAttribute("id"); + var selectedClass = id + "-tab" + selected; + // if selected is empty string it selects all uncategorized entries + var selectUncategorized = !Boolean(selected); + var visible = 0; + document.querySelectorAll('div.' + id) + .forEach(function(elem) { + if (selectUncategorized) { + if (elem.className.indexOf(selectedClass) === -1) { + elem.style.display = display; + } + } else if (elem.classList.contains(selectedClass)) { + elem.style.display = display; + } + if (elem.style.display === '') { + var isEvenRow = visible++ % (columns * 2) < columns; + toggleStyle(elem.classList, isEvenRow, evenRowColor, oddRowColor); + } + }); + var displaySection = visible === 0 ? 'none' : ''; + t.parentElement.style.display = displaySection; + document.querySelector("li#contents-" + id).style.display = displaySection; + }) +} + +// Shows the elements of a table belonging to a specific category +function show(tableId, selected, columns) { + if (tableId !== selected) { + document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') + .forEach(function(elem) { + elem.style.display = 'none'; + }); + } + document.querySelectorAll('div.' + selected) + .forEach(function(elem, index) { + elem.style.display = ''; + var isEvenRow = index % (columns * 2) < columns; + toggleStyle(elem.classList, isEvenRow, evenRowColor, oddRowColor); + }); + updateTabs(tableId, selected); +} + +function updateTabs(tableId, selected) { + document.querySelector('div#' + tableId +' .summary-table') + .setAttribute('aria-labelledby', selected); + document.querySelectorAll('button[id^="' + tableId + '"]') + .forEach(function(tab, index) { + if (selected === tab.id || (tableId === selected && index === 0)) { + tab.className = activeTableTab; + tab.setAttribute('aria-selected', true); + tab.setAttribute('tabindex',0); + } else { + tab.className = tableTab; + tab.setAttribute('aria-selected', false); + tab.setAttribute('tabindex',-1); + } + }); +} + +function switchTab(e) { + var selected = document.querySelector('[aria-selected=true]'); + if (selected) { + if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { + // left or up arrow key pressed: move focus to previous tab + selected.previousSibling.click(); + selected.previousSibling.focus(); + e.preventDefault(); + } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { + // right or down arrow key pressed: move focus to next tab + selected.nextSibling.click(); + selected.nextSibling.focus(); + e.preventDefault(); + } + } +} + +var updateSearchResults = function() {}; + +function indexFilesLoaded() { + return moduleSearchIndex + && packageSearchIndex + && typeSearchIndex + && memberSearchIndex + && tagSearchIndex; +} +// Copy the contents of the local snippet to the clipboard +function copySnippet(button) { + copyToClipboard(button.nextElementSibling.innerText); + switchCopyLabel(button, button.firstElementChild); +} +function copyToClipboard(content) { + var textarea = document.createElement("textarea"); + textarea.style.height = 0; + document.body.appendChild(textarea); + textarea.value = content; + textarea.select(); + document.execCommand("copy"); + document.body.removeChild(textarea); +} +function switchCopyLabel(button, span) { + var copied = span.getAttribute("data-copied"); + button.classList.add("visible"); + var initialLabel = span.innerHTML; + span.innerHTML = copied; + setTimeout(function() { + button.classList.remove("visible"); + setTimeout(function() { + if (initialLabel !== copied) { + span.innerHTML = initialLabel; + } + }, 100); + }, 1900); +} +// Dynamically set scroll margin to accomodate for draft header +document.addEventListener("DOMContentLoaded", function(e) { + document.querySelectorAll(':not(input)[id]').forEach( + function(c) { + c.style["scroll-margin-top"] = Math.ceil(document.querySelector("header").offsetHeight) + "px" + }); +}); diff --git a/deliverables/JavaDoc/script-files/search-page.js b/deliverables/JavaDoc/script-files/search-page.js new file mode 100644 index 00000000..540c90f5 --- /dev/null +++ b/deliverables/JavaDoc/script-files/search-page.js @@ -0,0 +1,284 @@ +/* + * Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +"use strict"; +$(function() { + var copy = $("#page-search-copy"); + var expand = $("#page-search-expand"); + var searchLink = $("span#page-search-link"); + var redirect = $("input#search-redirect"); + function setSearchUrlTemplate() { + var href = document.location.href.split(/[#?]/)[0]; + href += "?q=" + "%s"; + if (redirect.is(":checked")) { + href += "&r=1"; + } + searchLink.html(href); + copy[0].onmouseenter(); + } + function copyLink(e) { + copyToClipboard(this.previousSibling.innerText); + switchCopyLabel(this, this.lastElementChild); + } + copy.click(copyLink); + copy[0].onmouseenter = function() {}; + redirect.click(setSearchUrlTemplate); + setSearchUrlTemplate(); + copy.prop("disabled", false); + redirect.prop("disabled", false); + expand.click(function (e) { + var searchInfo = $("div.page-search-info"); + if(this.parentElement.hasAttribute("open")) { + searchInfo.attr("style", "border-width: 0;"); + } else { + searchInfo.attr("style", "border-width: 1px;").height(searchInfo.prop("scrollHeight")); + } + }); +}); +$(window).on("load", function() { + var input = $("#page-search-input"); + var reset = $("#page-search-reset"); + var notify = $("#page-search-notify"); + var resultSection = $("div#result-section"); + var resultContainer = $("div#result-container"); + var searchTerm = ""; + var activeTab = ""; + var fixedTab = false; + var visibleTabs = []; + var feelingLucky = false; + function renderResults(result) { + if (!result.length) { + notify.html(messages.noResult); + } else if (result.length === 1) { + notify.html(messages.oneResult); + } else { + notify.html(messages.manyResults.replace("{0}", result.length)); + } + resultContainer.empty(); + var r = { + "types": [], + "members": [], + "packages": [], + "modules": [], + "searchTags": [] + }; + for (var i in result) { + var item = result[i]; + var arr = r[item.category]; + arr.push(item); + } + if (!activeTab || r[activeTab].length === 0 || !fixedTab) { + Object.keys(r).reduce(function(prev, curr) { + if (r[curr].length > 0 && r[curr][0].score > prev) { + activeTab = curr; + return r[curr][0].score; + } + return prev; + }, 0); + } + if (feelingLucky && activeTab) { + notify.html(messages.redirecting) + var firstItem = r[activeTab][0]; + window.location = getURL(firstItem.indexItem, firstItem.category); + return; + } + if (result.length > 20) { + if (searchTerm[searchTerm.length - 1] === ".") { + if (activeTab === "types" && r["members"].length > r["types"].length) { + activeTab = "members"; + } else if (activeTab === "packages" && r["types"].length > r["packages"].length) { + activeTab = "types"; + } + } + } + var categoryCount = Object.keys(r).reduce(function(prev, curr) { + return prev + (r[curr].length > 0 ? 1 : 0); + }, 0); + visibleTabs = []; + var tabContainer = $("
    ").appendTo(resultContainer); + for (var key in r) { + var id = "#result-tab-" + key.replace("searchTags", "search_tags"); + if (r[key].length) { + var count = r[key].length >= 1000 ? "999+" : r[key].length; + if (result.length > 20 && categoryCount > 1) { + var button = $("").appendTo(tabContainer); + button.click(key, function(e) { + fixedTab = true; + renderResult(e.data, $(this)); + }); + visibleTabs.push(key); + } else { + $("" + categories[key] + + " (" + count + ")").appendTo(tabContainer); + renderTable(key, r[key]).appendTo(resultContainer); + tabContainer = $("
    ").appendTo(resultContainer); + + } + } + } + if (activeTab && result.length > 20 && categoryCount > 1) { + $("button#result-tab-" + activeTab).addClass("active-table-tab"); + renderTable(activeTab, r[activeTab]).appendTo(resultContainer); + } + resultSection.show(); + function renderResult(category, button) { + activeTab = category; + setSearchUrl(); + resultContainer.find("div.summary-table").remove(); + renderTable(activeTab, r[activeTab]).appendTo(resultContainer); + button.siblings().removeClass("active-table-tab"); + button.addClass("active-table-tab"); + } + } + function selectTab(category) { + $("button#result-tab-" + category).click(); + } + function renderTable(category, items) { + var table = $("
    ") + .addClass(category === "modules" + ? "one-column-search-results" + : "two-column-search-results"); + var col1, col2; + if (category === "modules") { + col1 = "Module"; + } else if (category === "packages") { + col1 = "Module"; + col2 = "Package"; + } else if (category === "types") { + col1 = "Package"; + col2 = "Class" + } else if (category === "members") { + col1 = "Class"; + col2 = "Member"; + } else if (category === "searchTags") { + col1 = "Location"; + col2 = "Name"; + } + $("
    " + col1 + "
    ").appendTo(table); + if (category !== "modules") { + $("
    " + col2 + "
    ").appendTo(table); + } + $.each(items, function(index, item) { + var rowColor = index % 2 ? "odd-row-color" : "even-row-color"; + renderItem(item, table, rowColor); + }); + return table; + } + function renderItem(item, table, rowColor) { + var label = getHighlightedText(item.input, item.boundaries, item.prefix.length, item.input.length); + var link = $("") + .attr("href", getURL(item.indexItem, item.category)) + .attr("tabindex", "0") + .addClass("search-result-link") + .html(label); + var container = getHighlightedText(item.input, item.boundaries, 0, item.prefix.length - 1); + if (item.category === "searchTags") { + container = item.indexItem.h || ""; + } + if (item.category !== "modules") { + $("
    ").html(container).addClass("col-plain").addClass(rowColor).appendTo(table); + } + $("
    ").html(link).addClass("col-last").addClass(rowColor).appendTo(table); + } + var timeout; + function schedulePageSearch() { + if (timeout) { + clearTimeout(timeout); + } + timeout = setTimeout(function () { + doPageSearch() + }, 100); + } + function doPageSearch() { + setSearchUrl(); + var term = searchTerm = input.val().trim(); + if (term === "") { + notify.html(messages.enterTerm); + activeTab = ""; + fixedTab = false; + resultContainer.empty(); + resultSection.hide(); + } else { + notify.html(messages.searching); + doSearch({ term: term, maxResults: 1200 }, renderResults); + } + } + function setSearchUrl() { + var query = input.val().trim(); + var url = document.location.pathname; + if (query) { + url += "?q=" + encodeURI(query); + if (activeTab && fixedTab) { + url += "&c=" + activeTab; + } + } + history.replaceState({query: query}, "", url); + } + input.on("input", function(e) { + feelingLucky = false; + schedulePageSearch(); + }); + $(document).keydown(function(e) { + if ((e.ctrlKey || e.metaKey) && (e.key === "ArrowLeft" || e.key === "ArrowRight")) { + if (activeTab && visibleTabs.length > 1) { + var idx = visibleTabs.indexOf(activeTab); + idx += e.key === "ArrowLeft" ? visibleTabs.length - 1 : 1; + selectTab(visibleTabs[idx % visibleTabs.length]); + return false; + } + } + }); + reset.click(function() { + notify.html(messages.enterTerm); + resultSection.hide(); + activeTab = ""; + fixedTab = false; + resultContainer.empty(); + input.val('').focus(); + setSearchUrl(); + }); + input.prop("disabled", false); + reset.prop("disabled", false); + + var urlParams = new URLSearchParams(window.location.search); + if (urlParams.has("q")) { + input.val(urlParams.get("q")) + } + if (urlParams.has("c")) { + activeTab = urlParams.get("c"); + fixedTab = true; + } + if (urlParams.get("r")) { + feelingLucky = true; + } + if (input.val()) { + doPageSearch(); + } else { + notify.html(messages.enterTerm); + } + input.select().focus(); +}); diff --git a/deliverables/JavaDoc/script-files/search.js b/deliverables/JavaDoc/script-files/search.js new file mode 100644 index 00000000..84bf5b39 --- /dev/null +++ b/deliverables/JavaDoc/script-files/search.js @@ -0,0 +1,485 @@ +/* + * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +"use strict"; +const messages = { + enterTerm: "Enter a search term", + noResult: "No results found", + oneResult: "Found one result", + manyResults: "Found {0} results", + loading: "Loading search index...", + searching: "Searching...", + redirecting: "Redirecting to first result...", + linkIcon: "Link icon", + linkToSection: "Link to this section" +} +const categories = { + modules: "Modules", + packages: "Packages", + types: "Classes and Interfaces", + members: "Members", + searchTags: "Search Tags" +}; +const highlight = "$&"; +const NO_MATCH = {}; +const MAX_RESULTS = 300; +const UNICODE_LETTER = 0; +const UNICODE_DIGIT = 1; +const UNICODE_OTHER = 2; +function checkUnnamed(name, separator) { + return name === "" || !name ? "" : name + separator; +} +function escapeHtml(str) { + return str.replace(//g, ">"); +} +function getHighlightedText(str, boundaries, from, to) { + var start = from; + var text = ""; + for (var i = 0; i < boundaries.length; i += 2) { + var b0 = boundaries[i]; + var b1 = boundaries[i + 1]; + if (b0 >= to || b1 <= from) { + continue; + } + text += escapeHtml(str.slice(start, Math.max(start, b0))); + text += ""; + text += escapeHtml(str.slice(Math.max(start, b0), Math.min(to, b1))); + text += ""; + start = Math.min(to, b1); + } + text += escapeHtml(str.slice(start, to)); + return text; +} +function getURLPrefix(item, category) { + var urlPrefix = ""; + var slash = "/"; + if (category === "modules") { + return item.l + slash; + } else if (category === "packages" && item.m) { + return item.m + slash; + } else if (category === "types" || category === "members") { + if (item.m) { + urlPrefix = item.m + slash; + } else { + $.each(packageSearchIndex, function(index, it) { + if (it.m && item.p === it.l) { + urlPrefix = it.m + slash; + } + }); + } + } + return urlPrefix; +} +function getURL(item, category) { + if (item.url) { + return item.url; + } + var url = getURLPrefix(item, category); + if (category === "modules") { + url += "module-summary.html"; + } else if (category === "packages") { + if (item.u) { + url = item.u; + } else { + url += item.l.replace(/\./g, '/') + "/package-summary.html"; + } + } else if (category === "types") { + if (item.u) { + url = item.u; + } else { + url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.l + ".html"; + } + } else if (category === "members") { + url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.c + ".html" + "#"; + if (item.u) { + url += item.u; + } else { + url += item.l; + } + } else if (category === "searchTags") { + url += item.u; + } + item.url = url; + return url; +} +function createMatcher(term, camelCase) { + if (camelCase && !isUpperCase(term)) { + return null; // no need for camel-case matcher for lower case query + } + var pattern = ""; + var upperCase = []; + term.trim().split(/\s+/).forEach(function(w, index, array) { + var tokens = w.split(/(?=[\p{Lu},.()<>?[\/])/u); + for (var i = 0; i < tokens.length; i++) { + var s = tokens[i]; + // ',' and '?' are the only delimiters commonly followed by space in java signatures + pattern += "(" + escapeUnicodeRegex(s).replace(/[,?]/g, "$&\\s*?") + ")"; + upperCase.push(false); + var isWordToken = /[\p{L}\p{Nd}_]$/u.test(s); + if (isWordToken) { + if (i === tokens.length - 1 && index < array.length - 1) { + // space in query string matches all delimiters + pattern += "(.*?)"; + upperCase.push(isUpperCase(s[0])); + } else { + if (!camelCase && isUpperCase(s) && s.length === 1) { + pattern += "()"; + } else { + pattern += "([\\p{L}\\p{Nd}\\p{Sc}<>?[\\]]*?)"; + } + upperCase.push(isUpperCase(s[0])); + } + } else { + pattern += "()"; + upperCase.push(false); + } + } + }); + var re = new RegExp(pattern, "gui"); + re.upperCase = upperCase; + return re; +} +// Unicode regular expressions do not allow certain characters to be escaped +function escapeUnicodeRegex(pattern) { + return pattern.replace(/[\[\]{}()*+?.\\^$|\s]/g, '\\$&'); +} +function findMatch(matcher, input, startOfName, endOfName) { + var from = startOfName; + matcher.lastIndex = from; + var match = matcher.exec(input); + // Expand search area until we get a valid result or reach the beginning of the string + while (!match || match.index + match[0].length < startOfName || endOfName < match.index) { + if (from === 0) { + return NO_MATCH; + } + from = input.lastIndexOf(".", from - 2) + 1; + matcher.lastIndex = from; + match = matcher.exec(input); + } + var boundaries = []; + var matchEnd = match.index + match[0].length; + var score = 5; + var start = match.index; + var prevEnd = -1; + for (var i = 1; i < match.length; i += 2) { + var charType = getCharType(input[start]); + var isMatcherUpper = matcher.upperCase[i]; + // capturing groups come in pairs, match and non-match + boundaries.push(start, start + match[i].length); + // make sure groups are anchored on a left word boundary + var prevChar = input[start - 1] || ""; + var nextChar = input[start + 1] || ""; + if (start !== 0) { + if (charType === UNICODE_DIGIT && getCharType(prevChar) === UNICODE_DIGIT) { + return NO_MATCH; + } else if (charType === UNICODE_LETTER && getCharType(prevChar) === UNICODE_LETTER) { + var isUpper = isUpperCase(input[start]); + if (isUpper && (isLowerCase(prevChar) || isLowerCase(nextChar))) { + score -= 0.1; + } else if (isMatcherUpper && start === prevEnd) { + score -= isUpper ? 0.1 : 1.0; + } else { + return NO_MATCH; + } + } + } + prevEnd = start + match[i].length; + start += match[i].length + match[i + 1].length; + + // lower score for parts of the name that are missing + if (match[i + 1] && prevEnd < endOfName) { + score -= rateNoise(match[i + 1]); + } + } + // lower score if a type name contains unmatched camel-case parts + if (input[matchEnd - 1] !== "." && endOfName > matchEnd) + score -= rateNoise(input.slice(matchEnd, endOfName)); + score -= rateNoise(input.slice(0, Math.max(startOfName, match.index))); + + if (score <= 0) { + return NO_MATCH; + } + return { + input: input, + score: score, + boundaries: boundaries + }; +} +function isLetter(s) { + return /\p{L}/u.test(s); +} +function isUpperCase(s) { + return /\p{Lu}/u.test(s); +} +function isLowerCase(s) { + return /\p{Ll}/u.test(s); +} +function isDigit(s) { + return /\p{Nd}/u.test(s); +} +function getCharType(s) { + if (isLetter(s)) { + return UNICODE_LETTER; + } else if (isDigit(s)) { + return UNICODE_DIGIT; + } else { + return UNICODE_OTHER; + } +} +function rateNoise(str) { + return (str.match(/([.(])/g) || []).length / 5 + + (str.match(/(\p{Lu}+)/gu) || []).length / 10 + + str.length / 20; +} +function doSearch(request, response) { + var term = request.term.trim(); + var maxResults = request.maxResults || MAX_RESULTS; + if (term.length === 0) { + return this.close(); + } + var matcher = { + plainMatcher: createMatcher(term, false), + camelCaseMatcher: createMatcher(term, true) + } + var indexLoaded = indexFilesLoaded(); + + function getPrefix(item, category) { + switch (category) { + case "packages": + return checkUnnamed(item.m, "/"); + case "types": + return checkUnnamed(item.p, "."); + case "members": + return checkUnnamed(item.p, ".") + item.c + "."; + default: + return ""; + } + } + function useQualifiedName(category) { + switch (category) { + case "packages": + return /[\s/]/.test(term); + case "types": + case "members": + return /[\s.]/.test(term); + default: + return false; + } + } + function searchIndex(indexArray, category) { + var matches = []; + if (!indexArray) { + if (!indexLoaded) { + matches.push({ l: messages.loading, category: category }); + } + return matches; + } + $.each(indexArray, function (i, item) { + var prefix = getPrefix(item, category); + var simpleName = item.l; + var qualifiedName = prefix + simpleName; + var useQualified = useQualifiedName(category); + var input = useQualified ? qualifiedName : simpleName; + var startOfName = useQualified ? prefix.length : 0; + var endOfName = category === "members" && input.indexOf("(", startOfName) > -1 + ? input.indexOf("(", startOfName) : input.length; + var m = findMatch(matcher.plainMatcher, input, startOfName, endOfName); + if (m === NO_MATCH && matcher.camelCaseMatcher) { + m = findMatch(matcher.camelCaseMatcher, input, startOfName, endOfName); + } + if (m !== NO_MATCH) { + m.indexItem = item; + m.prefix = prefix; + m.category = category; + if (!useQualified) { + m.input = qualifiedName; + m.boundaries = m.boundaries.map(function(b) { + return b + prefix.length; + }); + } + matches.push(m); + } + return true; + }); + return matches.sort(function(e1, e2) { + return e2.score - e1.score; + }).slice(0, maxResults); + } + + var result = searchIndex(moduleSearchIndex, "modules") + .concat(searchIndex(packageSearchIndex, "packages")) + .concat(searchIndex(typeSearchIndex, "types")) + .concat(searchIndex(memberSearchIndex, "members")) + .concat(searchIndex(tagSearchIndex, "searchTags")); + + if (!indexLoaded) { + updateSearchResults = function() { + doSearch(request, response); + } + } else { + updateSearchResults = function() {}; + } + response(result); +} +// JQuery search menu implementation +$.widget("custom.catcomplete", $.ui.autocomplete, { + _create: function() { + this._super(); + this.widget().menu("option", "items", "> .result-item"); + // workaround for search result scrolling + this.menu._scrollIntoView = function _scrollIntoView( item ) { + var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight; + if ( this._hasScroll() ) { + borderTop = parseFloat( $.css( this.activeMenu[ 0 ], "borderTopWidth" ) ) || 0; + paddingTop = parseFloat( $.css( this.activeMenu[ 0 ], "paddingTop" ) ) || 0; + offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop; + scroll = this.activeMenu.scrollTop(); + elementHeight = this.activeMenu.height() - 26; + itemHeight = item.outerHeight(); + + if ( offset < 0 ) { + this.activeMenu.scrollTop( scroll + offset ); + } else if ( offset + itemHeight > elementHeight ) { + this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight ); + } + } + }; + }, + _renderMenu: function(ul, items) { + var currentCategory = ""; + var widget = this; + widget.menu.bindings = $(); + $.each(items, function(index, item) { + if (item.category && item.category !== currentCategory) { + ul.append("
  • " + categories[item.category] + "
  • "); + currentCategory = item.category; + } + var li = widget._renderItemData(ul, item); + if (item.category) { + li.attr("aria-label", categories[item.category] + " : " + item.l); + } else { + li.attr("aria-label", item.l); + } + li.attr("class", "result-item"); + }); + ul.append("
    "); + }, + _renderItem: function(ul, item) { + var li = $("
  • ").appendTo(ul); + var div = $("
    ").appendTo(li); + var label = item.l + ? item.l + : getHighlightedText(item.input, item.boundaries, 0, item.input.length); + var idx = item.indexItem; + if (item.category === "searchTags" && idx && idx.h) { + if (idx.d) { + div.html(label + " (" + idx.h + ")
    " + + idx.d + "
    "); + } else { + div.html(label + " (" + idx.h + ")"); + } + } else { + div.html(label); + } + return li; + } +}); +$(function() { + var expanded = false; + var windowWidth; + function collapse() { + if (expanded) { + $("div#navbar-top").removeAttr("style"); + $("button#navbar-toggle-button") + .removeClass("expanded") + .attr("aria-expanded", "false"); + expanded = false; + } + } + $("button#navbar-toggle-button").click(function (e) { + if (expanded) { + collapse(); + } else { + var navbar = $("div#navbar-top"); + navbar.height(navbar.prop("scrollHeight")); + $("button#navbar-toggle-button") + .addClass("expanded") + .attr("aria-expanded", "true"); + expanded = true; + windowWidth = window.innerWidth; + } + }); + $("ul.sub-nav-list-small li a").click(collapse); + $("input#search-input").focus(collapse); + $("main").click(collapse); + $("section[id] > :header, :header[id], :header:has(a[id])").each(function(idx, el) { + // Create anchor links for headers with an associated id attribute + var hdr = $(el); + var id = hdr.attr("id") || hdr.parent("section").attr("id") || hdr.children("a").attr("id"); + if (id) { + hdr.append(" " + messages.linkIcon +""); + } + }); + $(window).on("orientationchange", collapse).on("resize", function(e) { + if (expanded && windowWidth !== window.innerWidth) collapse(); + }); + var search = $("#search-input"); + var reset = $("#reset-button"); + search.catcomplete({ + minLength: 1, + delay: 200, + source: doSearch, + response: function(event, ui) { + if (!ui.content.length) { + ui.content.push({ l: messages.noResult }); + } else { + $("#search-input").empty(); + } + }, + autoFocus: true, + focus: function(event, ui) { + return false; + }, + position: { + collision: "flip" + }, + select: function(event, ui) { + if (ui.item.indexItem) { + var url = getURL(ui.item.indexItem, ui.item.category); + window.location.href = pathtoroot + url; + $("#search-input").focus(); + } + } + }); + search.val(''); + search.prop("disabled", false); + reset.prop("disabled", false); + reset.click(function() { + search.val('').focus(); + }); + search.focus(); +}); diff --git a/deliverables/JavaDoc/search.html b/deliverables/JavaDoc/search.html new file mode 100644 index 00000000..811a7dab --- /dev/null +++ b/deliverables/JavaDoc/search.html @@ -0,0 +1,68 @@ + + + + +Search + + + + + + + + + + + + + + +
    + +
    +
    +

    Search

    +
    + + +
    +Additional resources +
    +
    +
    +

    The help page provides an introduction to the scope and syntax of JavaDoc search.

    +

    You can use the <ctrl> or <cmd> keys in combination with the left and right arrow keys to switch between result tabs in this page.

    +

    The URL template below may be used to configure this page as a search engine in browsers that support this feature. It has been tested to work in Google Chrome and Mozilla Firefox. Note that other browsers may not support this feature or require a different URL format.

    +link +

    + +

    +
    +

    Loading search index...

    + +
    + + diff --git a/deliverables/JavaDoc/serialized-form.html b/deliverables/JavaDoc/serialized-form.html new file mode 100644 index 00000000..33542841 --- /dev/null +++ b/deliverables/JavaDoc/serialized-form.html @@ -0,0 +1,1820 @@ + + + + +Serialized Form + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Serialized Form

    +
    + +
    + + diff --git a/deliverables/JavaDoc/tag-search-index.js b/deliverables/JavaDoc/tag-search-index.js new file mode 100644 index 00000000..bf10aaf6 --- /dev/null +++ b/deliverables/JavaDoc/tag-search-index.js @@ -0,0 +1 @@ +tagSearchIndex = [{"l":"Constant Field Values","h":"","u":"constant-values.html"},{"l":"Serialized Form","h":"","u":"serialized-form.html"}];updateSearchResults(); \ No newline at end of file diff --git a/deliverables/JavaDoc/type-search-index.js b/deliverables/JavaDoc/type-search-index.js new file mode 100644 index 00000000..fc23e8bb --- /dev/null +++ b/deliverables/JavaDoc/type-search-index.js @@ -0,0 +1 @@ +typeSearchIndex = [{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"AccessGameConfirmMessage"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","l":"AccessGameMessage"},{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","l":"AllSpecial"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"AlreadyComputedPointsException"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","l":"AnglesCovered"},{"p":"it.polimi.ingsw.am32.client.listener","l":"AskListener"},{"p":"it.polimi.ingsw.am32.client.listener","l":"AskListenerInterface"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"AssignedSecretObjectiveCardMessage"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"AssignedStarterCardMessage"},{"p":"it.polimi.ingsw.am32.client.view.tui","l":"BoardView"},{"p":"it.polimi.ingsw.am32.model.card","l":"Card"},{"p":"it.polimi.ingsw.am32.model.deck","l":"CardDeck"},{"p":"it.polimi.ingsw.am32.model.deck","l":"CardDeckBuilder"},{"p":"it.polimi.ingsw.am32.model.field","l":"CardPlaced"},{"p":"it.polimi.ingsw.am32.client","l":"CardPlacedView"},{"p":"it.polimi.ingsw.am32.chat","l":"Chat"},{"p":"it.polimi.ingsw.am32.client.view.gui","l":"ChatArea"},{"p":"it.polimi.ingsw.am32.chat","l":"ChatMessage"},{"p":"it.polimi.ingsw.am32.client","l":"ChatMessage"},{"p":"it.polimi.ingsw.am32","l":"Client"},{"p":"it.polimi.ingsw.am32.network.ClientNode","l":"ClientNodeInterface"},{"p":"it.polimi.ingsw.am32.network.ClientNode","l":"ClientPingTask"},{"p":"it.polimi.ingsw.am32.model.player","l":"Colour"},{"p":"it.polimi.ingsw.am32.utilities","l":"Configuration"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"ConfirmSelectedSecretObjectiveCardMessage"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"ConfirmStarterCardSideSelectionMessage"},{"p":"it.polimi.ingsw.am32.network.exceptions","l":"ConnectionSetupFailedException"},{"p":"it.polimi.ingsw.am32.model.card","l":"CornerType"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","l":"CountResource"},{"p":"it.polimi.ingsw.am32.controller.exceptions","l":"CriticalFailureException"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","l":"CtoSLobbyMessage"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","l":"CtoSMessage"},{"p":"it.polimi.ingsw.am32.controller.exceptions","l":"CTRDuplicateNicknameException"},{"p":"it.polimi.ingsw.am32.controller.exceptions","l":"CTRPlayerNotFoundException"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"DeckSizeUpdateMessage"},{"p":"it.polimi.ingsw.am32.model.deck.utils","l":"DeckType"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","l":"Diagonals"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"DrawCardConfirmationMessage"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"DrawCardFailedMessage"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","l":"DrawCardMessage"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"DrawException"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"DuplicateNicknameException"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","l":"Empty"},{"p":"it.polimi.ingsw.am32.controller","l":"EndMatchDueToDisconnectionTimerTask"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"ErrorMessage"},{"p":"it.polimi.ingsw.am32.network.exceptions","l":"ErrorMessageCode"},{"p":"it.polimi.ingsw.am32.client","l":"Event"},{"p":"it.polimi.ingsw.am32.model.field","l":"Field"},{"p":"it.polimi.ingsw.am32.controller.exceptions","l":"FullLobbyException"},{"p":"it.polimi.ingsw.am32.controller.exceptions","l":"GameAlreadyEndedException"},{"p":"it.polimi.ingsw.am32.controller.exceptions","l":"GameAlreadyStartedException"},{"p":"it.polimi.ingsw.am32.controller","l":"GameController"},{"p":"it.polimi.ingsw.am32.controller","l":"GameControllerStatus"},{"p":"it.polimi.ingsw.am32.controller.exceptions","l":"GameNotFoundException"},{"p":"it.polimi.ingsw.am32.controller.exceptions","l":"GameNotYetStartedException"},{"p":"it.polimi.ingsw.am32.controller","l":"GamesManager"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"GameStartedMessage"},{"p":"it.polimi.ingsw.am32.client.view.gui","l":"GraphicalUI"},{"p":"it.polimi.ingsw.am32.client.view.gui","l":"GraphicalUIApplication"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","l":"InboundChatMessage"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"InvalidHandSizeException"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"InvalidInboundChatMessage"},{"p":"it.polimi.ingsw.am32.controller.exceptions","l":"InvalidPlayerNumberException"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"InvalidPositionException"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"InvalidSelectedSecretObjectiveCardMessage"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"InvalidSelectionException"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"InvalidStarterCardSideSelectionMessage"},{"p":"it.polimi.ingsw.am32.utilities","l":"IPAddressFinder"},{"p":"it.polimi.ingsw.am32.utilities","l":"IsValid"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","l":"LConfigurationFour"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","l":"LConfigurationFourComparator"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","l":"LConfigurationOne"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","l":"LConfigurationThree"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","l":"LConfigurationTwo"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","l":"LConfigurationTwoComparator"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","l":"LobbyMessageException"},{"p":"it.polimi.ingsw.am32.controller.exceptions.abstraction","l":"LobbyMessageExceptionEnumeration"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"LobbyPlayerListMessage"},{"p":"it.polimi.ingsw.am32.utilities","l":"Log4J2ConfiguratorWrapper"},{"p":"it.polimi.ingsw.am32.chat.exceptions","l":"MalformedMessageException"},{"p":"it.polimi.ingsw.am32.client.exceptions","l":"MalformedMessageException"},{"p":"it.polimi.ingsw.am32.model.match","l":"Match"},{"p":"it.polimi.ingsw.am32.model.match","l":"MatchStatus"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"MatchStatusMessage"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"MatchWinnersMessage"},{"p":"it.polimi.ingsw.am32.client.exceptions","l":"MissingJSONException"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"MissingJSONException"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"MissingRequirementsException"},{"p":"it.polimi.ingsw.am32.model","l":"ModelInterface"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"NegativeResponsePlayerFieldMessage"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"NewGameConfirmationMessage"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","l":"NewGameMessage"},{"p":"it.polimi.ingsw.am32.network.exceptions","l":"NodeClosedException"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"NonEmptyHandException"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"NonNullColourException"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"NonNullFieldException"},{"p":"it.polimi.ingsw.am32.client","l":"NonObjCardFactory"},{"p":"it.polimi.ingsw.am32.model.card","l":"NonObjectiveCard"},{"p":"it.polimi.ingsw.am32.model.deck","l":"NonObjectiveCardDeck"},{"p":"it.polimi.ingsw.am32.model.deck","l":"NonObjectiveCardDeckBuilder"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"NullColourException"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"NullFieldException"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"NullHandException"},{"p":"it.polimi.ingsw.am32.chat.exceptions","l":"NullMessageException"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"NullPointStrategyException"},{"p":"it.polimi.ingsw.am32.client","l":"ObjectiveCardFactory"},{"p":"it.polimi.ingsw.am32.model.deck","l":"ObjectsBuilder"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","l":"ObjectType"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"OutboundChatMessage"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","l":"PingMessage"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"PlaceCardConfirmationMessage"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"PlaceCardFailedMessage"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","l":"PlaceCardMessage"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"PlaceCardRollbackMessage"},{"p":"it.polimi.ingsw.am32.model.player","l":"Player"},{"p":"it.polimi.ingsw.am32.controller.exceptions","l":"PlayerAlreadyConnectedException"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"PlayerConnectedMessage"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"PlayerDisconnectMessage"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"PlayerGameStatusMessage"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"PlayerNotFoundException"},{"p":"it.polimi.ingsw.am32.client","l":"PlayerPub"},{"p":"it.polimi.ingsw.am32.client.view.gui","l":"PlayerPubView"},{"p":"it.polimi.ingsw.am32.controller","l":"PlayerQuadruple"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"PlayerReconnectedMessage"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"PlayerTurnMessage"},{"p":"it.polimi.ingsw.am32.model.card.pointstrategy","l":"PointStrategy"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"PongMessage"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"ReconnectGameConfirmMessage"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","l":"ReconnectGameMessage"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","l":"RequestGameStatusMessage"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","l":"RequestPlayerFieldMessage"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"ResponsePlayerFieldMessage"},{"p":"it.polimi.ingsw.am32.network.ClientAcceptor","l":"RMIClientAcceptor"},{"p":"it.polimi.ingsw.am32.network.ClientAcceptor","l":"RMIClientAcceptorInt"},{"p":"it.polimi.ingsw.am32.network.ClientNode","l":"RMIClientNode"},{"p":"it.polimi.ingsw.am32.network.ClientNode","l":"RMIClientNodeInt"},{"p":"it.polimi.ingsw.am32.network.ServerNode","l":"RMIServerNode"},{"p":"it.polimi.ingsw.am32.network.ServerNode","l":"RMIServerNodeInt"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"RollbackException"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"SecretObjectiveCardException"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","l":"SelectedSecretObjectiveCardMessage"},{"p":"it.polimi.ingsw.am32.message.ClientToServer","l":"SelectedStarterCardSideMessage"},{"p":"it.polimi.ingsw.am32","l":"Server"},{"p":"it.polimi.ingsw.am32.network.ServerNode","l":"ServerNodeInterface"},{"p":"it.polimi.ingsw.am32.network.ServerNode","l":"ServerPingTask"},{"p":"it.polimi.ingsw.am32.network.ClientAcceptor","l":"SKClientAcceptor"},{"p":"it.polimi.ingsw.am32.network.ClientNode","l":"SKClientNode"},{"p":"it.polimi.ingsw.am32.network.ServerNode","l":"SKServerNode"},{"p":"it.polimi.ingsw.am32.message.ServerToClient","l":"StoCMessage"},{"p":"it.polimi.ingsw.am32.client.view.tui","l":"TextUI"},{"p":"it.polimi.ingsw.am32.network.exceptions","l":"UninitializedException"},{"p":"it.polimi.ingsw.am32.network.exceptions","l":"UploadFailureException"},{"p":"it.polimi.ingsw.am32.client","l":"View"},{"p":"it.polimi.ingsw.am32.controller","l":"VirtualView"},{"p":"it.polimi.ingsw.am32.controller","l":"VirtualViewInterface"},{"p":"it.polimi.ingsw.am32.controller.exceptions","l":"VirtualViewNotFoundException"},{"p":"it.polimi.ingsw.am32.model.exceptions","l":"WrongDeckTypeException"}];updateSearchResults(); \ No newline at end of file diff --git a/deliverables/README.md b/deliverables/README.md new file mode 100644 index 00000000..c71e9870 --- /dev/null +++ b/deliverables/README.md @@ -0,0 +1,7 @@ +# Deliverables Folder + +- ☑️ InitialUML: This folder contains the high-level UML diagram of the project. +- ☑️ FinalUML: This folder contains the detailed UML diagrams of the project. Generated using IntelliJ IDEA. +- ☑️ PeerReview: This folder contains the peer review documents. In the second peer review it is also explained the communication protocol between Client and Server. +- ☑️ JavaDoc: This folder contains the JavaDoc of the project exported in HTML format. +- ☑️ JARs: This folder contains the JAR files of the project. diff --git a/src/main/java/it/polimi/ingsw/am32/Client.java b/src/main/java/it/polimi/ingsw/am32/Client.java index 344a06e8..aacce9d2 100644 --- a/src/main/java/it/polimi/ingsw/am32/Client.java +++ b/src/main/java/it/polimi/ingsw/am32/Client.java @@ -7,6 +7,7 @@ import org.apache.logging.log4j.Level; import java.io.PrintStream; +import java.rmi.Remote; import java.util.InputMismatchException; import java.util.Scanner; @@ -32,6 +33,7 @@ public class Client { * @param args Command line arguments */ public static void main(String[] args){ + // Configure log4j2 logger to log only warnings and above Log4J2ConfiguratorWrapper.setLogLevelAndConfigure(Level.WARN); out.println("Welcome to Codex Naturalis"); diff --git a/src/main/java/it/polimi/ingsw/am32/Server.java b/src/main/java/it/polimi/ingsw/am32/Server.java index 8d80eb51..6ac95820 100644 --- a/src/main/java/it/polimi/ingsw/am32/Server.java +++ b/src/main/java/it/polimi/ingsw/am32/Server.java @@ -114,7 +114,6 @@ private void startRMIServer() { try { System.setProperty("java.rmi.server.hostname", Configuration.getInstance().getServerIp()); Registry registry = LocateRegistry.createRegistry(Configuration.getInstance().getRmiPort()); - //FIXME problema se registro esiste gia RMIClientAcceptor rmiClientAcceptor = new RMIClientAcceptor(); registry.bind("Server-CodexNaturalis", rmiClientAcceptor); logger.debug("RMI Client Acceptor created"); diff --git a/src/main/java/it/polimi/ingsw/am32/client/view/gui/ChatArea.java b/src/main/java/it/polimi/ingsw/am32/client/view/gui/ChatArea.java index f127333e..168f2f35 100644 --- a/src/main/java/it/polimi/ingsw/am32/client/view/gui/ChatArea.java +++ b/src/main/java/it/polimi/ingsw/am32/client/view/gui/ChatArea.java @@ -157,7 +157,6 @@ public void addIncomingMessageToChat(String message, String senderNickname) { * Called when the user clicks the submit button. */ private void submitChatMessage() { - // FIXME Need to show sent message only after server confirms it if (inputMessageField.getText().isEmpty()) return; // Do not send empty messages (or messages with only whitespace characters) String recipient = playerList.getValue().equals(gui.getThisPlayerNickname())?"Yourself": playerList.getValue(); diff --git a/src/main/java/it/polimi/ingsw/am32/client/view/tui/TextUI.java b/src/main/java/it/polimi/ingsw/am32/client/view/tui/TextUI.java index 336bc275..64a890ae 100644 --- a/src/main/java/it/polimi/ingsw/am32/client/view/tui/TextUI.java +++ b/src/main/java/it/polimi/ingsw/am32/client/view/tui/TextUI.java @@ -203,7 +203,7 @@ public void launch() { askSelectGameMode(); boolean isEnd = false; - while (!isEnd) { // TODO think about a better way to handle the flow of the game + while (!isEnd) { while(isDisconnected) { if(canAttemptReconnection) { @@ -226,7 +226,7 @@ public void launch() { requestSelectSecretObjectiveCard(); } } - case PLAYING, TERMINATING -> { // TODO Double check what to do when terminating + case PLAYING, TERMINATING -> { switch (currentEvent) { case PLACE_CARD -> requestPlaceCard(); case DRAW_CARD -> requestDrawCard(); @@ -582,7 +582,7 @@ public void updateRollback(String playerNickname, int removedCard, int playerPoi int posX = -2 * y + 80; int posY = 2 * x + 80; // reset the space occupied by the card in the board - board[posX][posY] = BLANK; //TODO CHECK PRINT WITH THE TEMPORARY + board[posX][posY] = BLANK; board[posX - 1][posY] = BLANK; board[posX + 1][posY] = BLANK; board[posX][posY - 1] = BLANK; @@ -1251,7 +1251,7 @@ public void updateAfterPlacedCard(String playerNickname, int cardID, int x, int board limits. In this way, the player can see the available positions for the next turn of the placement.*/ if (playerNickname.equals(thisPlayerNickname)) { if(!currentEvent.equals(Event.RECONNECT_GAME)) { - availableSpaces.removeIf(pos -> pos[0] == x && pos[1] == y); //TODO check if exists another way to do this + availableSpaces.removeIf(pos -> pos[0] == x && pos[1] == y); for (int[] pos : availableSpaces) { // delete the old available positions in the board. posX = -2 * pos[1] + 80; posY = 2 * pos[0] + 80; @@ -1410,13 +1410,13 @@ else if (messageContent.equals("EXIT")) { // Abort sending message // Send a message if (recipient.equals("ALL")) { // Send a message in broadcast ChatMessage message = new ChatMessage(thisPlayerNickname, "ALL", true, messageContent); - chatHistory.add(message); // FIXME Is this needed? RESOLVED: Yes, it is needed, because in the chat history, the player should be able to see the messages that he sent. + chatHistory.add(message); if(!isDisconnected) { notifyAskListener(new InboundChatMessage(thisPlayerNickname, recipient, true, messageContent)); } } else { // Send a direct message ChatMessage message = new ChatMessage(thisPlayerNickname, recipient, false, messageContent); - chatHistory.add(message); // FIXME Is this needed? RESOLVED: Yes, it is needed, because in the chat history, the player should be able to see the messages that he sent. + chatHistory.add(message); if(!isDisconnected) { notifyAskListener(new InboundChatMessage(thisPlayerNickname, recipient, false, messageContent)); } diff --git a/src/main/java/it/polimi/ingsw/am32/controller/GameController.java b/src/main/java/it/polimi/ingsw/am32/controller/GameController.java index b26398ac..332e080f 100644 --- a/src/main/java/it/polimi/ingsw/am32/controller/GameController.java +++ b/src/main/java/it/polimi/ingsw/am32/controller/GameController.java @@ -3,6 +3,7 @@ import java.util.*; import java.util.stream.Collectors; +import it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface; import it.polimi.ingsw.am32.utilities.Configuration; import it.polimi.ingsw.am32.chat.Chat; import it.polimi.ingsw.am32.chat.ChatMessage; @@ -11,7 +12,6 @@ import it.polimi.ingsw.am32.model.exceptions.*; import it.polimi.ingsw.am32.model.match.Match; import it.polimi.ingsw.am32.model.match.MatchStatus; -import it.polimi.ingsw.am32.network.ServerNode.NodeInterface; import it.polimi.ingsw.am32.model.ModelInterface; /** @@ -173,7 +173,7 @@ public synchronized void submitChatMessage(ChatMessage message) { * * @param node The node of the player that has disconnected */ - public synchronized void disconnect(NodeInterface node) { + public synchronized void disconnect(ServerNodeInterface node) { PlayerQuadruple playerQuadruple = nodeList.stream().filter(pq -> pq.getNode().equals(node)).findFirst().orElse(null); // Get the player quadruple associated with the disconnected player if (playerQuadruple == null) { // The player quadruple could not be found @@ -443,7 +443,7 @@ protected synchronized void endMatchDueToDisconnection() { * @throws PlayerNotFoundException If the player could not be found in the list of players * @throws PlayerAlreadyConnectedException If the player is already connected when attempting to reconnect */ - public synchronized void reconnect(String nickname, NodeInterface node) throws PlayerNotFoundException, PlayerAlreadyConnectedException { + public synchronized void reconnect(String nickname, ServerNodeInterface node) throws PlayerNotFoundException, PlayerAlreadyConnectedException { // Throw exception if nickname is not present in the list of players if (nodeList.stream().noneMatch(pq -> pq.getNickname().equals(nickname))) { throw new PlayerNotFoundException("Player " + nickname + " not found when reconnecting"); @@ -507,7 +507,7 @@ public synchronized void reconnect(String nickname, NodeInterface node) throws P * @param node The node of the player to add * @throws FullLobbyException If the lobby is already full */ - protected synchronized void addPlayer(String nickname, NodeInterface node) throws FullLobbyException, DuplicateNicknameException { + protected synchronized void addPlayer(String nickname, ServerNodeInterface node) throws FullLobbyException, DuplicateNicknameException { if (model.getPlayersNicknames().size() == gameSize) throw new FullLobbyException("Lobby is full"); // Lobby is full model.addPlayer(nickname); // Add the player to the actual match instance diff --git a/src/main/java/it/polimi/ingsw/am32/controller/GamesManager.java b/src/main/java/it/polimi/ingsw/am32/controller/GamesManager.java index 6030fcb5..dc8fcb8c 100644 --- a/src/main/java/it/polimi/ingsw/am32/controller/GamesManager.java +++ b/src/main/java/it/polimi/ingsw/am32/controller/GamesManager.java @@ -4,7 +4,7 @@ import it.polimi.ingsw.am32.message.ServerToClient.*; import it.polimi.ingsw.am32.model.exceptions.DuplicateNicknameException; import it.polimi.ingsw.am32.model.exceptions.PlayerNotFoundException; -import it.polimi.ingsw.am32.network.ServerNode.NodeInterface; +import it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -58,7 +58,7 @@ public static synchronized GamesManager getInstance() { * @return The GameController of the newly created game * @throws InvalidPlayerNumberException If the player count is not between 2 and 4 */ - public synchronized GameController createGame(String creatorName, int playerCount, NodeInterface node) throws InvalidPlayerNumberException { + public synchronized GameController createGame(String creatorName, int playerCount, ServerNodeInterface node) throws InvalidPlayerNumberException { logger.debug("Received request to create a new game. Creator name: {}, player count: {}, node: {}", creatorName, playerCount, node); if(creatorName == null || creatorName.isBlank()) { throw new CriticalFailureException("Creator name cannot be null or empty"); @@ -116,7 +116,7 @@ public synchronized GameController createGame(String creatorName, int playerCoun * @throws GameAlreadyStartedException If the game has already started * @throws CTRDuplicateNicknameException If the player with the given nickname is already in the game */ - public synchronized GameController accessGame(String nickname, int gameCode, NodeInterface node) throws GameNotFoundException, FullLobbyException, GameAlreadyStartedException, CTRDuplicateNicknameException { + public synchronized GameController accessGame(String nickname, int gameCode, ServerNodeInterface node) throws GameNotFoundException, FullLobbyException, GameAlreadyStartedException, CTRDuplicateNicknameException { logger.debug("Received request to access game. Nickname: {}, game code: {}, node: {}", nickname, gameCode, node); if(nickname == null || nickname.isBlank()) { throw new CriticalFailureException("Nickname cannot be null or empty"); @@ -176,7 +176,7 @@ public synchronized GameController accessGame(String nickname, int gameCode, Nod * @throws PlayerAlreadyConnectedException If the player with the given nickname is already connected to the game * @throws GameNotYetStartedException If the game has not yet started */ - public synchronized GameController reconnectToGame(String nickname, int gameCode, NodeInterface node) throws + public synchronized GameController reconnectToGame(String nickname, int gameCode, ServerNodeInterface node) throws GameAlreadyEndedException, CTRPlayerNotFoundException, GameNotFoundException, PlayerAlreadyConnectedException, GameNotYetStartedException { diff --git a/src/main/java/it/polimi/ingsw/am32/controller/PlayerQuadruple.java b/src/main/java/it/polimi/ingsw/am32/controller/PlayerQuadruple.java index 646a2aeb..a763526b 100644 --- a/src/main/java/it/polimi/ingsw/am32/controller/PlayerQuadruple.java +++ b/src/main/java/it/polimi/ingsw/am32/controller/PlayerQuadruple.java @@ -1,14 +1,14 @@ package it.polimi.ingsw.am32.controller; import it.polimi.ingsw.am32.controller.exceptions.CriticalFailureException; -import it.polimi.ingsw.am32.network.ServerNode.NodeInterface; +import it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface; /** * This class represents a player in the game. It contains information about the player's * connection status, nickname, and the virtual view associated with the player. */ public class PlayerQuadruple { - private NodeInterface node; + private ServerNodeInterface node; private final String nickname; private boolean connected; private final VirtualView virtualView; @@ -22,7 +22,7 @@ public class PlayerQuadruple { * @param virtualView the virtual view associated with the player * @throws CriticalFailureException if any of the parameters are null or if the nickname is empty */ - public PlayerQuadruple(NodeInterface node, String nickname, boolean connected, VirtualView virtualView) { + public PlayerQuadruple(ServerNodeInterface node, String nickname, boolean connected, VirtualView virtualView) { this.node = node; this.nickname = nickname; this.connected = connected; @@ -38,7 +38,7 @@ public PlayerQuadruple(NodeInterface node, String nickname, boolean connected, V * @param node the new node * @throws CriticalFailureException if the node is null */ - public void setNode(NodeInterface node) { + public void setNode(ServerNodeInterface node) { if (node == null) { throw new CriticalFailureException("Node cannot be null"); } @@ -50,7 +50,7 @@ public void setNode(NodeInterface node) { * * @return the node */ - public NodeInterface getNode() { + public ServerNodeInterface getNode() { return node; } diff --git a/src/main/java/it/polimi/ingsw/am32/controller/VirtualView.java b/src/main/java/it/polimi/ingsw/am32/controller/VirtualView.java index 4bf694fa..86c8ece3 100644 --- a/src/main/java/it/polimi/ingsw/am32/controller/VirtualView.java +++ b/src/main/java/it/polimi/ingsw/am32/controller/VirtualView.java @@ -2,7 +2,7 @@ import it.polimi.ingsw.am32.controller.exceptions.CriticalFailureException; import it.polimi.ingsw.am32.message.ServerToClient.StoCMessage; -import it.polimi.ingsw.am32.network.ServerNode.NodeInterface; +import it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface; import it.polimi.ingsw.am32.network.exceptions.UploadFailureException; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -24,7 +24,7 @@ public class VirtualView implements VirtualViewInterface, Runnable { /** * The connection node associated with the VirtualView. */ - private NodeInterface connectionNode; + private ServerNodeInterface connectionNode; /** * The queue of messages that are to be sent to the client. */ @@ -44,7 +44,7 @@ public class VirtualView implements VirtualViewInterface, Runnable { * * @param connectionNode The connection node associated with the VirtualView. */ - public VirtualView(NodeInterface connectionNode) { + public VirtualView(ServerNodeInterface connectionNode) { this.connectionNode = connectionNode; // Connection node cannot be null if (connectionNode == null) { @@ -72,7 +72,7 @@ public void run() { * * @param node The new connection node to associate with the VirtualView. */ - public void changeNode(NodeInterface node) { + public void changeNode(ServerNodeInterface node) { synchronized (connectionNodeLock) { connectionNode = node; } @@ -201,7 +201,7 @@ protected ArrayList getMessageQueue() { * * @return The connection node associated with the VirtualView. */ - protected NodeInterface getConnectionNode() { + protected ServerNodeInterface getConnectionNode() { synchronized (connectionNodeLock) { return connectionNode; } diff --git a/src/main/java/it/polimi/ingsw/am32/controller/VirtualViewInterface.java b/src/main/java/it/polimi/ingsw/am32/controller/VirtualViewInterface.java index 0f3efcb5..f52a1b49 100644 --- a/src/main/java/it/polimi/ingsw/am32/controller/VirtualViewInterface.java +++ b/src/main/java/it/polimi/ingsw/am32/controller/VirtualViewInterface.java @@ -1,10 +1,10 @@ package it.polimi.ingsw.am32.controller; import it.polimi.ingsw.am32.message.ServerToClient.StoCMessage; -import it.polimi.ingsw.am32.network.ServerNode.NodeInterface; +import it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface; @SuppressWarnings("ALL") public interface VirtualViewInterface { void addMessage(StoCMessage msg); void flushMessages(); - void changeNode(NodeInterface node); + void changeNode(ServerNodeInterface node); } diff --git a/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/AccessGameMessage.java b/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/AccessGameMessage.java index ade09ac5..963c2802 100644 --- a/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/AccessGameMessage.java +++ b/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/AccessGameMessage.java @@ -6,7 +6,7 @@ import it.polimi.ingsw.am32.controller.exceptions.FullLobbyException; import it.polimi.ingsw.am32.controller.exceptions.GameAlreadyStartedException; import it.polimi.ingsw.am32.controller.exceptions.GameNotFoundException; -import it.polimi.ingsw.am32.network.ServerNode.NodeInterface; +import it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface; /** * This class is used to manage the message sent by the client when he wants to join a game. @@ -41,7 +41,7 @@ public AccessGameMessage(int matchId, String senderNickname) { * @throws CTRDuplicateNicknameException if the nickname is already in use */ @Override - public GameController elaborateMessage(NodeInterface nodeInterface) throws GameAlreadyStartedException, + public GameController elaborateMessage(ServerNodeInterface nodeInterface) throws GameAlreadyStartedException, FullLobbyException, GameNotFoundException, CTRDuplicateNicknameException { return GamesManager.getInstance().accessGame(senderNickname, matchId, nodeInterface); } diff --git a/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/CtoSLobbyMessage.java b/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/CtoSLobbyMessage.java index 57ddc636..e5be1ad6 100644 --- a/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/CtoSLobbyMessage.java +++ b/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/CtoSLobbyMessage.java @@ -2,7 +2,7 @@ import it.polimi.ingsw.am32.controller.GameController; import it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageException; -import it.polimi.ingsw.am32.network.ServerNode.NodeInterface; +import it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface; import java.io.Serializable; @@ -18,7 +18,7 @@ public interface CtoSLobbyMessage extends Serializable { * @throws LobbyMessageException represents an exception that can be thrown during the elaboration of a generic * Lobby-Message. */ - GameController elaborateMessage(NodeInterface nodeInterface) throws LobbyMessageException; + GameController elaborateMessage(ServerNodeInterface nodeInterface) throws LobbyMessageException; /** * This method provides a string representation of a message object, which can be useful for debugging purposes. * It will be overridden by the classes that implement the StoCMessage interface. diff --git a/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/NewGameMessage.java b/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/NewGameMessage.java index aaeb6543..cc186045 100644 --- a/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/NewGameMessage.java +++ b/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/NewGameMessage.java @@ -3,7 +3,7 @@ import it.polimi.ingsw.am32.controller.GameController; import it.polimi.ingsw.am32.controller.GamesManager; import it.polimi.ingsw.am32.controller.exceptions.InvalidPlayerNumberException; -import it.polimi.ingsw.am32.network.ServerNode.NodeInterface; +import it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface; /** * This class represents a message that is sent from the client to the server when a new game is created. @@ -38,7 +38,7 @@ public NewGameMessage(String senderNickname, int playerNum) { * @throws InvalidPlayerNumberException If the player count is not between 2 and 4 */ @Override - public GameController elaborateMessage(NodeInterface nodeInterface) throws InvalidPlayerNumberException { + public GameController elaborateMessage(ServerNodeInterface nodeInterface) throws InvalidPlayerNumberException { return GamesManager.getInstance().createGame(senderNickname, playerNum, nodeInterface); } diff --git a/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/ReconnectGameMessage.java b/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/ReconnectGameMessage.java index 7896cec3..90de320c 100644 --- a/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/ReconnectGameMessage.java +++ b/src/main/java/it/polimi/ingsw/am32/message/ClientToServer/ReconnectGameMessage.java @@ -3,7 +3,7 @@ import it.polimi.ingsw.am32.controller.GameController; import it.polimi.ingsw.am32.controller.GamesManager; import it.polimi.ingsw.am32.controller.exceptions.*; -import it.polimi.ingsw.am32.network.ServerNode.NodeInterface; +import it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface; /** * This class is used to manage the message sent by the client when he wants to reconnect to a game. */ @@ -40,7 +40,7 @@ public ReconnectGameMessage(String senderNickname, int matchId) { * */ @Override - public GameController elaborateMessage(NodeInterface nodeInterface) throws GameAlreadyEndedException, + public GameController elaborateMessage(ServerNodeInterface nodeInterface) throws GameAlreadyEndedException, GameNotFoundException, PlayerAlreadyConnectedException, GameNotYetStartedException, CTRPlayerNotFoundException { return GamesManager.getInstance().reconnectToGame(senderNickname, matchId, nodeInterface); } diff --git a/src/main/java/it/polimi/ingsw/am32/network/ClientAcceptor/RMIClientAcceptor.java b/src/main/java/it/polimi/ingsw/am32/network/ClientAcceptor/RMIClientAcceptor.java index 69da7d79..befdc39f 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/ClientAcceptor/RMIClientAcceptor.java +++ b/src/main/java/it/polimi/ingsw/am32/network/ClientAcceptor/RMIClientAcceptor.java @@ -4,9 +4,11 @@ import it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageException; import it.polimi.ingsw.am32.message.ClientToServer.CtoSLobbyMessage; import it.polimi.ingsw.am32.message.ServerToClient.ErrorMessage; +import it.polimi.ingsw.am32.message.ServerToClient.StoCMessage; +import it.polimi.ingsw.am32.network.ClientNode.ClientNodeInterface; import it.polimi.ingsw.am32.network.ClientNode.RMIClientNodeInt; -import it.polimi.ingsw.am32.network.GameTuple; import it.polimi.ingsw.am32.network.ServerNode.RMIServerNode; +import it.polimi.ingsw.am32.network.ServerNode.RMIServerNodeInt; import it.polimi.ingsw.am32.network.exceptions.UploadFailureException; import it.polimi.ingsw.am32.utilities.Configuration; import org.apache.logging.log4j.LogManager; @@ -15,15 +17,56 @@ import java.rmi.RemoteException; import java.rmi.server.UnicastRemoteObject; +/** + * The class {@code RMIClientAcceptor} is the implementation of the RMI methods that the interface + * {@link RMIClientAcceptorInt} expose to the clients.
    + * an instance of {@link it.polimi.ingsw.am32.network.ClientNode.RMIClientNode} invoke those methods on the server + * when the client hasn't joined yet a game.
    + * + * @author Matteo + */ public class RMIClientAcceptor extends UnicastRemoteObject implements RMIClientAcceptorInt { + //--------------------------------------------------------------------------------------------- + // Variables and Constants + + /** + * Variables used for service purposes + */ private static final Logger logger = LogManager.getLogger(RMIClientAcceptor.class); + + //--------------------------------------------------------------------------------------------- + // Constructor + + /** + * Standard constructor of the class. + * @throws RemoteException thrown if the object couldn't be exported + */ public RMIClientAcceptor() throws RemoteException {} - // TODO export stuff + + //--------------------------------------------------------------------------------------------- + // Methods + + /** + * Invoking this method will result in the server using the content of the message to either create a new game and + * add the sender as its first player or make him join an already existing one.
    + * This process is done by making use of the class {@link it.polimi.ingsw.am32.controller.GamesManager}.
    + * If the previous part is successful, i.e. nothing went wrong with joining or creating a game, a new instance of + * {@link RMIServerNode} will be created and assigned to the client that is invoking this method. + *
    + * If a {@code LobbyMessageException} is thrown, an {@link ErrorMessage} will be sent to the client by invoking + * the method {@link RMIClientNodeInt#uploadStoC(StoCMessage)} on the {@code RMIClientNodeInt} given as parameter. + * + * @param node an instance of {@code RMIClientNodeInt} that exports methods that the server can invoke on the client + * @param message a {@link CtoSLobbyMessage} that the server has to process + * @return an instance of {@link RMIServerNodeInt} on which the client can invoke other methods + * @throws RemoteException thrown if the method couldn't be invoked on the server + * @throws LobbyMessageException thrown if the client that invoked this method couldn't create or join a game + */ @Override - public GameTuple uploadToServer(RMIClientNodeInt node, CtoSLobbyMessage message) + public RMIServerNodeInt uploadToServer(RMIClientNodeInt node, CtoSLobbyMessage message) throws RemoteException, LobbyMessageException { @@ -51,8 +94,6 @@ public GameTuple uploadToServer(RMIClientNodeInt node, CtoSLobbyMessage message) // The Server will not crash because how the thread is managed, but we need to know what happened to fix it in the future. // Do not remove this catch block. Remove the throws clause if needed but keep the logger. - // TODO mandiamo ErrorMessage anche qui? - rmiServerNode.destroy(); logger.fatal("GameController access failed due to a critical exception: {}", e.getMessage()); throw e; @@ -61,10 +102,15 @@ public GameTuple uploadToServer(RMIClientNodeInt node, CtoSLobbyMessage message) rmiServerNode.setGameController(gameController); logger.info("RMIServerNode successfully created and added to the GameController ID {}", gameController.getId()); - return new GameTuple(rmiServerNode, gameController.getId()); + return (RMIServerNodeInt) rmiServerNode; } - public void extraPing(){ + /** + * A simple method used only to verify if the server is reachable by the client. + * + * @throws RemoteException thrown if the method couldn't be invoked on the server + */ + public void extraPing() throws RemoteException { logger.trace("extraPing"); } } diff --git a/src/main/java/it/polimi/ingsw/am32/network/ClientAcceptor/RMIClientAcceptorInt.java b/src/main/java/it/polimi/ingsw/am32/network/ClientAcceptor/RMIClientAcceptorInt.java index e3878d62..fb95e6f4 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/ClientAcceptor/RMIClientAcceptorInt.java +++ b/src/main/java/it/polimi/ingsw/am32/network/ClientAcceptor/RMIClientAcceptorInt.java @@ -3,14 +3,44 @@ import it.polimi.ingsw.am32.controller.exceptions.abstraction.LobbyMessageException; import it.polimi.ingsw.am32.message.ClientToServer.CtoSLobbyMessage; import it.polimi.ingsw.am32.network.ClientNode.RMIClientNodeInt; -import it.polimi.ingsw.am32.network.GameTuple; +import it.polimi.ingsw.am32.network.ServerNode.RMIServerNodeInt; import java.rmi.Remote; import java.rmi.RemoteException; +/** + * The interface {@code RMIClientAcceptorInt} exposes the RMI methods that a + * {@link it.polimi.ingsw.am32.network.ClientNode.RMIClientNode} instance can invoke on the server when the client hasn't + * joined yet a game.
    + * On the server a {@link RMIClientAcceptor} will implement this interface to process the invocation of the methods + * included. + * + * @author Matteo + */ public interface RMIClientAcceptorInt extends Remote { - GameTuple uploadToServer(RMIClientNodeInt node, CtoSLobbyMessage message) + + //--------------------------------------------------------------------------------------------- + // Methods + + /** + * The server will process the message according to its content. This can lead to the client creating a new game or + * accessing an existing game + *
    + * if a {@link LobbyMessageException} is thrown, the server will notify the client through the {@link RMIClientNodeInt} + * + * @param node an instance of {@code RMIClientNodeInt} that exports methods that the server can invoke on the client + * @param message a {@link CtoSLobbyMessage} that the server has to process + * @return an instance of {@link RMIServerNodeInt} on which the client can invoke other methods + * @throws RemoteException thrown if the method couldn't be invoked on the server + * @throws LobbyMessageException thrown if the client that invoked this method couldn't create or join a game + */ + RMIServerNodeInt uploadToServer(RMIClientNodeInt node, CtoSLobbyMessage message) throws RemoteException, LobbyMessageException; + /** + * A simple method used only to verify if the server is reachable by the client. + * + * @throws RemoteException thrown if the method couldn't be invoked on the server + */ void extraPing() throws RemoteException; } diff --git a/src/main/java/it/polimi/ingsw/am32/network/ClientAcceptor/SKClientAcceptor.java b/src/main/java/it/polimi/ingsw/am32/network/ClientAcceptor/SKClientAcceptor.java index 6a0245c7..0bad10c7 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/ClientAcceptor/SKClientAcceptor.java +++ b/src/main/java/it/polimi/ingsw/am32/network/ClientAcceptor/SKClientAcceptor.java @@ -11,10 +11,37 @@ import java.net.Socket; import java.util.concurrent.ExecutorService; +/** + * The class {@code SKClientAcceptor} manages the new requests of connection to the server by the clients using socket + * as network protocol.
    + * Only one instance of this class is required to be created when the server is run. + * Because this class is an implementation of the interface {@link Runnable}, is preferable to assign its instance to a + * new thread to maximise parallelization.
    + * Alternatively the method {@link SKClientAcceptor#run()} can be invoked directly. Doing this, however, will result in + * the caller being stuck, waiting for new incoming connections. + * + * @author Matteo + */ public class SKClientAcceptor implements Runnable { + //--------------------------------------------------------------------------------------------- + // Variables and Constants + + /** + * Variables used for service purposes + */ private static final Logger logger = LogManager.getLogger(SKClientAcceptor.class); + + //--------------------------------------------------------------------------------------------- + // Methods + + /** + * Invoking this method will lead to the creation of a {@link ServerSocket} that will wait for new incoming + * connections.
    + * When a client attempt to establish a connection with the server, a new instance of {@link SKServerNode} will be + * created and the connection will be handled by this instance. + */ public void run() { ExecutorService executorService = Configuration.getInstance().getExecutorService(); diff --git a/src/main/java/it/polimi/ingsw/am32/network/ClientNode/ClientNodeInterface.java b/src/main/java/it/polimi/ingsw/am32/network/ClientNode/ClientNodeInterface.java index 0f64dc71..5b51256c 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/ClientNode/ClientNodeInterface.java +++ b/src/main/java/it/polimi/ingsw/am32/network/ClientNode/ClientNodeInterface.java @@ -4,8 +4,51 @@ import it.polimi.ingsw.am32.message.ClientToServer.CtoSMessage; import it.polimi.ingsw.am32.network.exceptions.UploadFailureException; +/** + * This {@code ClientNodeInterface} interface is used to identify all ClientNodes through which communication with the + * server can happen.
    + * It's objective is to mask behind the interface the complexity of managing the network part of the client, so that the + * other classes of the client don't have to know how is the communication between server and client working.
    + * It contains all the methods that another class in the client can invoke on any ClientNode.
    + * It's important to know that it's necessary and also enough to create one instance of ClientNode per client for the + * entire duration of the game. + * + * @author Matteo + */ public interface ClientNodeInterface { + + //--------------------------------------------------------------------------------------------- + // Methods + + /** + * Send a {@link CtoSMessage} to the server that will process it.
    + * A {@link UploadFailureException} exception is thrown if the message could not reach the server.
    + * If the exception is thrown, the ClientNode might be in a corrupted/unusable state. The node will automatically + * and independently reset itself and return to a normal state. + * + * @param message is the message that the client wants to send + * @throws UploadFailureException if the message couldn't be sent + */ void uploadToServer(CtoSMessage message) throws UploadFailureException; + + /** + * Send a {@link CtoSLobbyMessage} to the server that will process it.
    + * A {@link UploadFailureException} exception is thrown if the message could not reach the server.
    + * If the exception is thrown, the ClientNode might be in a corrupted/unusable state. The node will automatically + * and independently reset itself and return to a normal state. + * + * @param message is the message that the client wants to send + * @throws UploadFailureException if the message couldn't be sent + */ void uploadToServer(CtoSLobbyMessage message) throws UploadFailureException; + + /** + * Inform the ClientNode that the interval for pongs is over.
    + * This invocation can lead to the decrease of a pong counter. If the counter reach the minimum than the termination + * process is started. + *
    + * Invoking this method can lead, depending on the current state of the ClientNode, to verify if the connection to + * the server is working through the emission of a ping to the server + */ void pongTimeOverdue(); } diff --git a/src/main/java/it/polimi/ingsw/am32/network/ClientNode/ClientPingTask.java b/src/main/java/it/polimi/ingsw/am32/network/ClientNode/ClientPingTask.java index ebd5b3a9..b4e51e55 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/ClientNode/ClientPingTask.java +++ b/src/main/java/it/polimi/ingsw/am32/network/ClientNode/ClientPingTask.java @@ -2,10 +2,52 @@ import java.util.TimerTask; +/** + * The {@code ClientPingTask} class contains the pointer to a ClientNode, given when the object is instantiated.
    + * This class is used by a {@link java.util.Timer} to invoke the method {@link ClientNodeInterface#pongTimeOverdue()} + * on the given node. + * + * @author Matteo + */ public class ClientPingTask extends TimerTask { - private final ClientNodeInterface node; + + //--------------------------------------------------------------------------------------------- + // Variables and Constants + + private ClientNodeInterface node; + + + //--------------------------------------------------------------------------------------------- + // Constructor + + /** + * Standard constructor of the class. + * + * @param node the ClientNode on which will be invoked the {@link ClientNodeInterface#pongTimeOverdue()} + */ public ClientPingTask(ClientNodeInterface node) {this.node = node;} + + + //--------------------------------------------------------------------------------------------- + // Methods + + /** + * Invoke the method {@link ClientNodeInterface#pongTimeOverdue()} on the ClientNode stored in the object. + */ public void run() { node.pongTimeOverdue(); } + + /** + * invoke the method {@link TimerTask#cancel()} and delete the reference to the ClientNode to facilitate deletion + * of the object by the garbage collector. + * + * @return the return value of the method {@code cancel()} of the super class + */ + @Override + public boolean cancel() { + boolean cancelled = super.cancel(); + node = null; + return cancelled; + } } diff --git a/src/main/java/it/polimi/ingsw/am32/network/ClientNode/RMIClientNode.java b/src/main/java/it/polimi/ingsw/am32/network/ClientNode/RMIClientNode.java index c0a3d1b9..abcb1df8 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/ClientNode/RMIClientNode.java +++ b/src/main/java/it/polimi/ingsw/am32/network/ClientNode/RMIClientNode.java @@ -25,32 +25,63 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +/** + * RMIClientNode is the class that manage the connection with the server.
    + * It implements the {@link ClientNodeInterface} interface and extends {@link UnicastRemoteObject}.
    + * Is necessary and enough to instantiate one instance of this class to connect to the server.
    + * If the connection were to go down, the instance will automatically try to reset and reconnect.
    + * + * @author Matteo + */ public class RMIClientNode extends UnicastRemoteObject implements ClientNodeInterface, RMIClientNodeInt { + //--------------------------------------------------------------------------------------------- + // Variables and Constants + /** + * Constants used in the class + */ private static final int PONGMAXCOUNT = 3; private static final int THREADSLEEPINTERVAL = 1000; private static final int PINGINTERVAL = 5000; private static final String REMOTEOBJECTNAME = "Server-CodexNaturalis"; - + /** + * Variables used for service purposes + */ private final ExecutorService executorService; private final Logger logger; - private RMIServerNodeInt serverNode; - private final View view; + /** + * Variables used to manage the connection with the server + */ private final String ip; private final int port; private int pongCount; - private String nickname; + private final String nickname; + /** + * Variables used to communicate with the view + */ + private final View view; + + /** + * Variables used to communicate with the server + */ private Registry registry; private RMIClientAcceptorInt rmiClientAcceptor; + private RMIServerNodeInt serverNode; + /** + * Variables used to verify and maintain active the connection with the server + */ private final Timer timer; private ClientPingTask clientPingTask; private ClientPingTask prePingTask; + /** + * Variables used to manage the state of the connection and the instance + */ private boolean statusIsAlive; private boolean nodePreState; private boolean reconnectCalled; @@ -59,6 +90,23 @@ public class RMIClientNode extends UnicastRemoteObject implements ClientNodeInte private final Object sToCProcessingLock; + //--------------------------------------------------------------------------------------------- + // Constructor + + /** + * Standard constructor of the class.
    + * It will try to connect to search for the {@link Registry} and the {@link it.polimi.ingsw.am32.network.ClientAcceptor.RMIClientAcceptor} + * on the server.
    + * If any of the two is not found, it will throw a {@link ConnectionSetupFailedException} implying that the connection + * is not possible.
    + * Additionally, it will schedule a {@link ClientPingTask} to periodically check the connection with the server.
    + * + * @param view is the instance of {@link View} the {@link RMIClientNode} will use to process the messages received + * @param ip is the ip of the server + * @param port is the port of the server + * @throws RemoteException thrown if, during the instantiation, there were some problems + * @throws ConnectionSetupFailedException thrown if the connection is not possible + */ public RMIClientNode(View view, String ip, int port) throws RemoteException, ConnectionSetupFailedException { this.view = view; this.ip = ip; @@ -95,9 +143,23 @@ public RMIClientNode(View view, String ip, int port) throws RemoteException, Con executorService = Executors.newCachedThreadPool(); clientPingTask = new ClientPingTask(this); prePingTask = new ClientPingTask(this); - timer.schedule(prePingTask, 0, PINGINTERVAL); + timer.scheduleAtFixedRate(prePingTask, PINGINTERVAL, PINGINTERVAL); } + + //--------------------------------------------------------------------------------------------- + // Methods + + /** + * Check if the {@code RMIClientNode} is not alive or if the {@code RMIClientNode} is in pre-game state.
    + * In both cases, the method will throw a {@link UploadFailureException}.
    + * If those conditions are not met, the method will try to send the message to the server.
    + * If the server is not reachable or the respective {@link it.polimi.ingsw.am32.network.ServerNode.RMIServerNode} is + * closed, the method will request a reset and reconnection process and throw a {@link UploadFailureException}.
    + * + * @param message is the message that the client wants to send + * @throws UploadFailureException if the message could not be sent + */ @Override public void uploadToServer(CtoSMessage message) throws UploadFailureException { @@ -108,7 +170,6 @@ public void uploadToServer(CtoSMessage message) throws UploadFailureException { if(serverNode == null) { logger.error("Attempt to send CtoSMessage before CtoSLobbyMessage. Upload rejected. Message: {}", message); - // TODO aggiungere di dire errore alla view throw new UploadFailureException(); } @@ -117,7 +178,7 @@ public void uploadToServer(CtoSMessage message) throws UploadFailureException { } try { - serverNode.uploadCtoS(message); // TODO il numero di partita in realtà non server + serverNode.uploadCtoS(message); logger.info("Message sent. Type: CtoSMessage: {}", message); } catch (NodeClosedException e) { @@ -139,6 +200,17 @@ public void uploadToServer(CtoSMessage message) throws UploadFailureException { } } + /** + * Check if the {@code RMIClientNode} is not alive or if the {@code RMIClientNode} is not in a pre-game state.
    + * In both cases, the method will throw a {@link UploadFailureException}.
    + * If those conditions are not met, the method will try to send the message to the + * {@link it.polimi.ingsw.am32.network.ClientAcceptor.RMIClientAcceptor} to process the {@link CtoSLobbyMessage}.
    + * If the processing is successful, the pre-existing {@link ClientPingTask} will be cancelled and a new one will be + * scheduled. At the same time the {@code RMIClientNode} will switch from pre-game state to game state.
    + * + * @param message is the message that the client wants to send + * @throws UploadFailureException if the message could not be sent + */ @Override public void uploadToServer(CtoSLobbyMessage message) throws UploadFailureException { @@ -148,7 +220,6 @@ public void uploadToServer(CtoSLobbyMessage message) throws UploadFailureExcepti if(serverNode != null) { logger.error("Attempt to send second CtoSLobbyMessage while RMIServerNode still valid. Upload rejected. Message: {}", message); - // TODO aggiungere di dire errore alla view throw new UploadFailureException(); } @@ -157,8 +228,8 @@ public void uploadToServer(CtoSLobbyMessage message) throws UploadFailureExcepti } try { - // TODO ritorniamo solo l'interfaccia RMI e non il num di partita perchè non serve?? - serverNode = rmiClientAcceptor.uploadToServer((RMIClientNodeInt) this, message).getNode(); + + serverNode = rmiClientAcceptor.uploadToServer((RMIClientNodeInt) this, message); synchronized (aliveLock){ nodePreState = false; @@ -167,7 +238,7 @@ public void uploadToServer(CtoSLobbyMessage message) throws UploadFailureExcepti logger.info("Message sent. Type: CtoSLobbyMessage. Content: {}", message); - timer.scheduleAtFixedRate(clientPingTask, 0, PINGINTERVAL); + timer.scheduleAtFixedRate(clientPingTask, PINGINTERVAL, PINGINTERVAL); } catch (RemoteException e) { @@ -177,13 +248,19 @@ public void uploadToServer(CtoSLobbyMessage message) throws UploadFailureExcepti throw new UploadFailureException(); - } catch (LobbyMessageException ignore) { - - // TODO come faccio la parte in cui il node è ancora connesso - } + } catch (LobbyMessageException ignore) {} } } + /** + * If the {@code RMIClientNode} is not alive, the method will return immediately.
    + * If the {@code RMIClientNode} is alive, the method will invoke {@link #resetTimeCounter()} + * Finally, after checking if the message is valid, the method will process it by calling the + * {@link StoCMessage#processMessage(View)} method.
    + * + * @param message a {@link StoCMessage} that the client has to process + * @throws NodeClosedException if the {@code RMIClientNode} is not alive + */ @Override public void uploadStoC(StoCMessage message) throws NodeClosedException { @@ -217,6 +294,14 @@ public void uploadStoC(StoCMessage message) throws NodeClosedException { } } + /** + * If the {@code RMIClientNode} is not alive or this method is called for more than one time before the termination + * of the reset and reconnection process, the method will return immediately.
    + * If not, all {@link ClientPingTask} will be cancelled, the timer will be purged and the {@code RMIClientNode} will + * be set to not alive.
    + * Finally, the thread will inform the {@link View} that the node has been disconnected and will task another thread + * to carry out the reset and reconnection process.
    + */ private void requestReconnection() { synchronized (aliveLock) { @@ -236,10 +321,19 @@ private void requestReconnection() { prePingTask = new ClientPingTask(this); view.nodeDisconnected(); - executorService.execute(this::resetConnection); + executorService.submit(this::resetConnection); } } + /** + * tries infinitely to find the {@link Registry} and the {@link RMIClientAcceptorInt} on the server.
    + * If the {@code Registry} and the {@code RMIClientAcceptorInt} is not found, the method will wait for a certain + * amount of time before trying again.
    + * Once the {@code RMIClientAcceptorInt} is found, the ClientNode will be set to alive and to a pre-game state.
    + * Then a new {@link ClientPingTask} will be scheduled to periodically check the connection with the server and set + * the pong count to its maximum.
    + * Finally, the method will inform the {@link View} that the node has been reconnected.
    + */ private void resetConnection () { while(true){ @@ -274,17 +368,30 @@ private void resetConnection () { nodePreState = true; statusIsAlive = true; pongCount = PONGMAXCOUNT; - timer.schedule(prePingTask, 0, PINGINTERVAL); + timer.scheduleAtFixedRate(prePingTask, PINGINTERVAL, PINGINTERVAL); logger.info("Connection established"); view.nodeReconnected(); } } + /** + * Start the connection with the server.
    + */ public void startConnection() { logger.debug("RMIClientNode started"); } + /** + * If the {@code RMIClientNode} is not alive, the method will return immediately.
    + * If the {@code RMIClientNode} is alive, the method will check whether the ClientNode is in pre-game state or not.
    + * If the ClientNode is in pre-game state, the method will assign to another thread the task of calling the + * {@link RMIClientAcceptorInt#extraPing()} method.
    + * IF the ClientNode is not in pre-game state, the method will decrement the pong count.
    + * If the pong count reaches 0, the {@code RMIClientNode} will start the reset and reconnection process.
    + * On the other hand, if the pong count is still more than 0 after decrementing, the client will send a + * {@link PingMessage} to the server. + */ @Override public void pongTimeOverdue() { @@ -336,6 +443,9 @@ public void pongTimeOverdue() { } } + /** + * Reset the pong count to the maximum value if the {@code RMIClientNode} is alive. + */ public void resetTimeCounter() { synchronized (aliveLock) { @@ -343,7 +453,7 @@ public void resetTimeCounter() { if (!statusIsAlive) return; - pongCount = PONGMAXCOUNT; // TODO modificare se si aggiunge config + pongCount = PONGMAXCOUNT; } logger.debug("Pong count reset"); diff --git a/src/main/java/it/polimi/ingsw/am32/network/ClientNode/RMIClientNodeInt.java b/src/main/java/it/polimi/ingsw/am32/network/ClientNode/RMIClientNodeInt.java index c476a7d1..83c6c3e4 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/ClientNode/RMIClientNodeInt.java +++ b/src/main/java/it/polimi/ingsw/am32/network/ClientNode/RMIClientNodeInt.java @@ -6,6 +6,28 @@ import java.rmi.Remote; import java.rmi.RemoteException; +/** + * The interface {@link RMIClientNodeInt} exposes the RMI methods that a + * {@link it.polimi.ingsw.am32.network.ServerNode.RMIServerNode} or {@link it.polimi.ingsw.am32.network.ClientAcceptor.RMIClientAcceptor} + * instance can invoke on the client.
    + * On the client a {@link RMIClientNode} will implement this interface to process the invocation of the method included. + * + * @author Matteo + */ public interface RMIClientNodeInt extends Remote { + + //--------------------------------------------------------------------------------------------- + // Methods + + /** + * The client will process the message according to its content.
    + * if a {@link RemoteException} or {@link NodeClosedException} is thrown, the ServerNode will start the termination + * process. + * + * @param message a {@link StoCMessage} that the client has to process + * @throws RemoteException thrown if the method couldn't be invoked on the client + * @throws NodeClosedException thrown if the ClientNode associated with the ServerNode is executing a reset of the + * connection. + */ void uploadStoC(StoCMessage message) throws RemoteException, NodeClosedException; } diff --git a/src/main/java/it/polimi/ingsw/am32/network/ClientNode/SKClientNode.java b/src/main/java/it/polimi/ingsw/am32/network/ClientNode/SKClientNode.java index 3df1e4ff..87f4782a 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/ClientNode/SKClientNode.java +++ b/src/main/java/it/polimi/ingsw/am32/network/ClientNode/SKClientNode.java @@ -8,6 +8,7 @@ import it.polimi.ingsw.am32.message.ServerToClient.StoCMessage; import it.polimi.ingsw.am32.network.exceptions.ConnectionSetupFailedException; import it.polimi.ingsw.am32.network.exceptions.NodeClosedException; +import it.polimi.ingsw.am32.network.exceptions.UploadFailureException; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -19,40 +20,92 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +/** + * SKClientNode is the class that manage the connection with the server.
    + * It implements the {@link ClientNodeInterface} interface and the method {@link #run()} of {@link Runnable} interface + * to handle the messages incoming from the server.
    + * Is necessary and enough to instantiate one instance of this class to connect to the server.
    + * If the connection were to go down, the instance will automatically try to reset and reconnect.
    + * + * @author Matteo + */ public class SKClientNode implements ClientNodeInterface, Runnable { + //--------------------------------------------------------------------------------------------- + // Variables and Constants + + /** + * Constants used in the class + */ private static final int PONGMAXCOUNT = 3; private static final int SOCKETTIMEOUT = 100; + private static final int THREADSLEEPINTERVAL = 100; + private static final int PINGINTERVAL = 5000; + /** + * Variables used for service purposes + */ private final Logger logger; private final ExecutorService executorService; + /** + * Variables used to communicate with the view + */ private final View view; + + /** + * Variables used to manage the connection with the server + */ private final String ip; private final int port; - private String nickname; + private final String nickname; private int pongCount; + /** + * Variables used to communicate with the server + */ private Socket socket; private ObjectOutputStream outputObtStr; private ObjectInputStream inputObtStr; + /** + * Variables used to verify and maintain active the connection with the server + */ private ClientPingTask clientPingTask; private final Timer timer; + /** + * Variables used to manage the state of the connection and the instance + */ private boolean statusIsAlive; private boolean reconnectCalled; private final Object aliveLock; private final Object cToSProcessingLock; private final Object sToCProcessingLock; + + //--------------------------------------------------------------------------------------------- + // Constructor + + /** + * Standard constructor of the class.
    + * Create the {@link Socket} connection with the server and the input and output streams.
    + * At initialization a ping task is scheduled to run to check and maintain the connection alive.
    + * A {@link ConnectionSetupFailedException} is thrown if the connection couldn't be established or during the + * initialization of the input and output streams there were problems.
    + * + * @param view the view that will be used to process incoming messages + * @param ip the ip of the server + * @param port the port of the server + * @throws ConnectionSetupFailedException thrown if the connection couldn't be established + */ public SKClientNode(View view, String ip, int port) throws ConnectionSetupFailedException { this.view = view; this.ip = ip; this.port = port; statusIsAlive = true; reconnectCalled = false; - pongCount = PONGMAXCOUNT; // todo fare un config?? + pongCount = PONGMAXCOUNT; nickname = "Unknown"; logger = LogManager.getLogger(SKClientNode.class); @@ -62,6 +115,7 @@ public SKClientNode(View view, String ip, int port) throws ConnectionSetupFailed logger.info("Attempting to connect to the server at {}:{}", ip, port); socket = new Socket(ip, port); + //socket.setSoTimeout(SOCKETTIMEOUT*100); // Time out sulle read sulla input stream in caso qualcosa vada storto outputObtStr = new ObjectOutputStream(socket.getOutputStream()); outputObtStr.flush(); inputObtStr = new ObjectInputStream(socket.getInputStream()); @@ -101,12 +155,25 @@ public SKClientNode(View view, String ip, int port) throws ConnectionSetupFailed aliveLock = new Object(); cToSProcessingLock = new Object(); sToCProcessingLock = new Object(); - timer.scheduleAtFixedRate(clientPingTask, 0, 5000); + timer.scheduleAtFixedRate(clientPingTask, PINGINTERVAL, PINGINTERVAL); } + + //--------------------------------------------------------------------------------------------- + // Methods + + /** + * Standard run method of the class.
    + * The thread that runs this method will be used to listen for incoming messages.
    + * This will be done by remaining in a loop that will check if the connection is still alive and then listen for + * incoming messages.
    + * Listening for incoming messages and processing them will be done by invoking the method + * {@link #listenForIncomingMessages()}.
    + * If the method {@link #listenForIncomingMessages()} throws an exception, the connection will be reset and the + * reconnection process will start.
    + */ public void run() { - // Listen for incoming messages while(true) { try { @@ -121,6 +188,20 @@ public void run() { } } + /** + * Listen for incoming messages using a {@link ObjectInputStream}.
    + * Upon receiving a message, based on the type of the message, there can be two different outcomes:
    + * If the message is a {@link PongMessage}, the method will return immediately.
    + * If the message is a {@link StoCMessage}, the method will process the message by invoking the method + * {@link StoCMessage#processMessage(View)}.
    + * If the {@link IOException} or {@link ClassNotFoundException} is thrown, the input stream will be corrupted and + * the connection has to be reset and re-established.
    + * + * + * @throws IOException thrown if there were problems with the input stream + * @throws ClassNotFoundException thrown if the class of the object received by the input stream is not recognized + * @throws NodeClosedException thrown if the SKClientNode is not alive + */ public void listenForIncomingMessages() throws IOException, ClassNotFoundException, NodeClosedException { Object message; @@ -134,8 +215,6 @@ public void listenForIncomingMessages() throws IOException, ClassNotFoundExcepti return; } - // TODO server sync?? - resetTimeCounter(); @@ -161,46 +240,75 @@ public void listenForIncomingMessages() throws IOException, ClassNotFoundExcepti } } + /** + * Send a {@link CtoSLobbyMessage} to the server.
    + * If a {@link IOException} or {@link NullPointerException} is thrown, the reset and reconnection process will be + * assigned to a new thread while the caller will receive a {@link UploadFailureException}.
    + * + * @param message is the message that the client wants to send + * @throws UploadFailureException if the message couldn't be sent to the server + */ @Override - public void uploadToServer(CtoSLobbyMessage message) { + public void uploadToServer(CtoSLobbyMessage message) throws UploadFailureException { - while (true) { //TODO cambiare il while - try { - synchronized (cToSProcessingLock) { - outputObtStr.writeObject(message); + try { + synchronized (cToSProcessingLock) { + outputObtStr.writeObject(message); - try { - outputObtStr.flush(); - } catch (IOException ignore) {} - } - logger.info("Message sent. Type: CtoSLobbyMessage. Content: {}", message); - break; - } catch (IOException | NullPointerException e) { - resetConnection(); + try { + outputObtStr.flush(); + } catch (IOException ignore) {} } + + logger.info("Message sent. Type: CtoSLobbyMessage. Content: {}", message); + + } catch (IOException | NullPointerException e) { + + logger.info("Failed to send CtoSLobbyMessage to server. Exception: {}", e.getMessage()); + + executorService.submit(this::resetConnection); + + throw new UploadFailureException(); } } + /** + * Send a {@link CtoSMessage} to the server.
    + * If a {@link IOException} or {@link NullPointerException} is thrown, the reset and reconnection process will be + * assigned to a new thread while the caller will receive a {@link UploadFailureException}.
    + * + * @param message is the message that the client wants to send + * @throws UploadFailureException if the message couldn't be sent to the server + */ @Override - public void uploadToServer(CtoSMessage message) { + public void uploadToServer(CtoSMessage message) throws UploadFailureException { - while (true) { //TODO cambiare il while - try { - synchronized (cToSProcessingLock) { - outputObtStr.writeObject(message); + try { + synchronized (cToSProcessingLock) { + outputObtStr.writeObject(message); - try { - outputObtStr.flush(); - } catch (IOException ignore) {} - } - logger.info("Message sent. Type: CtoSMessage: {}", message); - break; - } catch (IOException | NullPointerException e) { - resetConnection(); + try { + outputObtStr.flush(); + } catch (IOException ignore) {} } + + logger.info("Message sent. Type: CtoSMessage: {}", message); + + } catch (IOException | NullPointerException e) { + + logger.info("Failed to send CtoSMessage to server. Exception: {}", e.getMessage()); + + executorService.submit(this::resetConnection); + + throw new UploadFailureException(); } } + /** + * Check if the connection is still alive and if it is, return immediately.
    + * Alternatively, the method {@link #manageReconnectionRequests()} will be invoked. A positive result of this + * invocation will trigger the reset and reconnection process.
    + */ private void checkConnection() { boolean tmpReconnect; @@ -220,6 +328,11 @@ private void checkConnection() { } } + /** + * Invoking this method will forcibly set the {@code SKClientNode} status to not alive.
    + * The method {@link #manageReconnectionRequests()} is then invoked. A positive result of this invocation will + * trigger the reset and reconnection process.
    + */ private void resetConnection() { boolean tmpReconnect; @@ -228,7 +341,7 @@ private void resetConnection() { statusIsAlive = false; - tmpReconnect = manageReconnectionRequests(); + tmpReconnect = manageReconnectionRequests(); } if(tmpReconnect) { @@ -237,6 +350,15 @@ private void resetConnection() { } } + /** + * Check if the reset and reconnection process has already been requested.
    + * If so, the caller will wait until the process is completed.
    + * On the other hand, flag the reset and reconnection process as requested.
    + * This will result in cancelling the ping tasks of the {@code SKClientNode} and purging the timer.
    + * Additionally the view will be notified that the node has been disconnected.
    + * + * @return true if the caller has to start the reset and reconnection process, false otherwise + */ private boolean manageReconnectionRequests() { if(reconnectCalled){ @@ -258,6 +380,17 @@ private boolean manageReconnectionRequests() { } } + /** + * Reset the current connection by closing the input and output streams and the socket.
    + * Try until successful to establish a new connection to server.
    + * If the connection is established:
    + * - New input and output streams will be created.
    + * - The pong count will be reset to the maximum value.
    + * - The status of the {@code SKClientNode} will be set to alive and the view will be notified that the node has + * reconnected.
    + * - Finally all waiting threads for the reconnection process will be notified and a new {@link ClientPingTask} + * will be scheduled.
    + */ private void connect() { synchronized (sToCProcessingLock) { @@ -297,7 +430,7 @@ private void connect() { logger.debug("Failed to connect to {}:{}", ip, port); try { - Thread.sleep(100); // TODO parametrizzazione con config? + Thread.sleep(THREADSLEEPINTERVAL); } catch (InterruptedException ignore2) {} continue; @@ -314,17 +447,28 @@ private void connect() { reconnectCalled = false; pongCount = PONGMAXCOUNT; aliveLock.notifyAll(); - timer.scheduleAtFixedRate(clientPingTask, 0, 5000); + timer.scheduleAtFixedRate(clientPingTask, PINGINTERVAL, PINGINTERVAL); view.nodeReconnected(); } } + /** + * Start the connection.
    + * The method will submit the {@code SKClientNode} to the {@link ExecutorService} to start the connection.
    + */ public void startConnection(){ executorService.submit(this); logger.debug("SKClientNode started"); } + /** + * If the {@code SKClientNode} is not alive, the method will return immediately.
    + * If the {@code SKClientNode} is alive, the pong count will be decremented.
    + * If the pong count reaches 0, the {@code SKClientNode} will start the reset and reconnection process.
    + * On the other hand, if the pong count is still more than 0 after decrementing, the client will send a + * {@link PingMessage} to the server. + */ @Override public void pongTimeOverdue() { @@ -356,6 +500,9 @@ public void pongTimeOverdue() { }}); } + /** + * Reset the pong count to the maximum value if the {@code SKClientNode} is alive.
    + */ public void resetTimeCounter() { synchronized (aliveLock) { @@ -363,7 +510,7 @@ public void resetTimeCounter() { if (!statusIsAlive) return; - pongCount = PONGMAXCOUNT; // TODO modificare se si aggiunge config + pongCount = PONGMAXCOUNT; } logger.debug("Pong count reset"); diff --git a/src/main/java/it/polimi/ingsw/am32/network/GameTuple.java b/src/main/java/it/polimi/ingsw/am32/network/GameTuple.java deleted file mode 100644 index 0da8b7f9..00000000 --- a/src/main/java/it/polimi/ingsw/am32/network/GameTuple.java +++ /dev/null @@ -1,24 +0,0 @@ -package it.polimi.ingsw.am32.network; - -import it.polimi.ingsw.am32.network.ServerNode.RMIServerNodeInt; - -import java.io.Serializable; - -public class GameTuple implements Serializable { - - private final RMIServerNodeInt node; - private final int id; - - public GameTuple(RMIServerNodeInt node, int id) { - this.node = node; - this.id = id; - } - - public RMIServerNodeInt getNode(){ - return node; - } - - public int getId() { - return id; - } -} diff --git a/src/main/java/it/polimi/ingsw/am32/network/ServerNode/NodeInterface.java b/src/main/java/it/polimi/ingsw/am32/network/ServerNode/NodeInterface.java deleted file mode 100644 index 8ef6f7e4..00000000 --- a/src/main/java/it/polimi/ingsw/am32/network/ServerNode/NodeInterface.java +++ /dev/null @@ -1,10 +0,0 @@ -package it.polimi.ingsw.am32.network.ServerNode; - -import it.polimi.ingsw.am32.message.ServerToClient.StoCMessage; -import it.polimi.ingsw.am32.network.exceptions.UploadFailureException; - -public interface NodeInterface { - void uploadToClient(StoCMessage message) throws UploadFailureException; - void pingTimeOverdue(); - void resetTimeCounter(); -} diff --git a/src/main/java/it/polimi/ingsw/am32/network/ServerNode/RMIServerNode.java b/src/main/java/it/polimi/ingsw/am32/network/ServerNode/RMIServerNode.java index 9d10a84e..6f23343e 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/ServerNode/RMIServerNode.java +++ b/src/main/java/it/polimi/ingsw/am32/network/ServerNode/RMIServerNode.java @@ -16,21 +16,64 @@ import java.rmi.RemoteException; import java.rmi.server.UnicastRemoteObject; -public class RMIServerNode extends UnicastRemoteObject implements RMIServerNodeInt, NodeInterface { - +/** + * Each instance of class {@code RMIServerNode} handle une RMI connection with a client.
    + * If, at some point, the connection were to go down, this instance while begin automatically a termination process + * + * @author Matteo + */ +public class RMIServerNode extends UnicastRemoteObject implements RMIServerNodeInt, ServerNodeInterface { + + //--------------------------------------------------------------------------------------------- + // Variables and Constants + + /** + * Variables used for service purposes + */ private final static Logger logger = LogManager.getLogger(RMIServerNode.class); - private final Configuration config; + + /** + * Variables used to communicate with the {@code GameController} + */ private GameController gameController; + + /** + * Variables used to manage the connection with the server + */ private int pingCount; + private final String nickname; + + /** + * Variables used to communicate with the client + */ private final RMIClientNodeInt clientNode; + + /** + * Variables used to verify and maintain active the connection with the client + */ private ServerPingTask serverPingTask; + + /** + * Variables used to manage the state of the connection and the instance + */ private boolean statusIsAlive; private boolean destroyCalled; private final Object aliveLock; private final Object ctoSProcessingLock; private final Object stoCProcessingLock; + + //--------------------------------------------------------------------------------------------- + // Constructor + + /** + * Standard constructor of the class + * + * @param clientNode is the instance of {@code RMIClientNodeInt} the {@code RMIServerNode} will use to send messages + * to che client + * @throws RemoteException thrown if, during the instantiation, there were some problems + */ public RMIServerNode(RMIClientNodeInt clientNode) throws RemoteException { this.clientNode = clientNode; serverPingTask = new ServerPingTask(this); @@ -39,11 +82,25 @@ public RMIServerNode(RMIClientNodeInt clientNode) throws RemoteException { aliveLock = new Object(); ctoSProcessingLock = new Object(); stoCProcessingLock = new Object(); + nickname = "Unknown"; statusIsAlive = true; destroyCalled = false; } + + //--------------------------------------------------------------------------------------------- + // Methods + + /** + * Send a {@link CtoSMessage} to the {@link RMIServerNode}. The server will process it and send back a + * {@link StoCMessage} according to the situation.
    + * If the ServerNode is not alive, a {@link NodeClosedException} will be thrown. + * + * @param message a {@link CtoSMessage} that the server has to process + * @throws RemoteException if the method couldn't be invoked on the server + * @throws NodeClosedException if the {@code RMIServerNode} is not alive + */ public void uploadCtoS(CtoSMessage message) throws RemoteException, NodeClosedException { synchronized (ctoSProcessingLock) { @@ -55,17 +112,7 @@ public void uploadCtoS(CtoSMessage message) throws RemoteException, NodeClosedEx resetTimeCounter(); } - if(message instanceof PingMessage) { - config.getExecutorService().submit(() -> { - try { - logger.debug("PingMessage received"); - uploadToClient(new PongMessage(null)); - } catch (UploadFailureException e) { - logger.error("Failed to send PongMessage to client"); - } - }); - return; - } + if(message instanceof PingMessage) {return;} // We can't risk to lose the observability of potential RuntimeExceptions thrown by GameController and Model // The server will not crash if such exceptions are thrown, thanks to how the threads are managed, but @@ -80,6 +127,15 @@ public void uploadCtoS(CtoSMessage message) throws RemoteException, NodeClosedEx } } + /** + * Send a {@link StoCMessage} to the client.
    + * If the client is not alive or the connection had issues and the message couldn't reach the client, a + * {@link UploadFailureException} will be thrown.
    + * If any of the two exceptions is thrown, the {@code RMIServerNode} will start the destruction process. + * + * @param message is the message that the server wants to send + * @throws UploadFailureException if the message couldn't be sent to the client + */ public void uploadToClient(StoCMessage message) throws UploadFailureException { try { @@ -106,8 +162,17 @@ public void uploadToClient(StoCMessage message) throws UploadFailureException { } } + /** + * If the {@code RMIServerNode} is not alive, the method will return immediately.
    + * If the {@code RMIServerNode} is alive, the ping count will be decremented.
    + * If the ping count reaches 0, the {@code RMIServerNode} will start the destruction process.
    + * On the other hand, if the ping count is still more than 0 after decrementing, the server will send a + * {@link PongMessage} to the client. + */ public void pingTimeOverdue() { + boolean tmpDestroy = false; + synchronized (aliveLock) { if(!statusIsAlive) @@ -120,15 +185,27 @@ public void pingTimeOverdue() { if(pingCount <= 0){ statusIsAlive = false; logger.debug("Ping count reached minimum, starting destruction process"); + tmpDestroy = true; } } - if(!statusIsAlive) + if(tmpDestroy) destroy(); + else + config.getExecutorService().submit(() -> { + try { + uploadToClient(new PongMessage(nickname)); + } catch (UploadFailureException e) { + logger.error("Failed to send PongMessage to client"); + } + }); } + /** + * Reset the ping count to the maximum value if the server is alive.
    + */ @Override public void resetTimeCounter() { @@ -138,9 +215,16 @@ public void resetTimeCounter() { return; pingCount = config.getMaxPingCount(); + logger.debug("Ping count reset"); } } + /** + * Destroy the {@code RMIServerNode}.
    + * The method will stop the {@link ServerPingTask} and will disconnect the {@code RMIServerNode} from the + * {@code GameController} if already assigned.
    + * The method will also unexport the {@code RMIServerNode} from the RMI registry. + */ public void destroy() { synchronized (aliveLock) { @@ -171,10 +255,19 @@ public void destroy() { } + /** + * Set the {@code GameController} associated with this {@code RMIServerNode}. All incoming messages will be + * processed by this {@code GameController}. + * Invoking this method will also add a new {@link ServerPingTask} to the {@code GameController} timer for pinging + * the client + * + * @param gameController the instance of {@code GameController} + */ public void setGameController(GameController gameController) { this.gameController = gameController; - gameController.getTimer().scheduleAtFixedRate(serverPingTask, 0, Configuration.getInstance().getPingTimeInterval()); + gameController.getTimer().scheduleAtFixedRate(serverPingTask, + Configuration.getInstance().getPingTimeInterval(), Configuration.getInstance().getPingTimeInterval()); } } diff --git a/src/main/java/it/polimi/ingsw/am32/network/ServerNode/RMIServerNodeInt.java b/src/main/java/it/polimi/ingsw/am32/network/ServerNode/RMIServerNodeInt.java index 0d597ccd..5c305f19 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/ServerNode/RMIServerNodeInt.java +++ b/src/main/java/it/polimi/ingsw/am32/network/ServerNode/RMIServerNodeInt.java @@ -1,11 +1,34 @@ package it.polimi.ingsw.am32.network.ServerNode; import it.polimi.ingsw.am32.message.ClientToServer.CtoSMessage; +import it.polimi.ingsw.am32.message.ServerToClient.StoCMessage; +import it.polimi.ingsw.am32.network.ClientNode.RMIClientNode; +import it.polimi.ingsw.am32.network.ClientNode.RMIClientNodeInt; import it.polimi.ingsw.am32.network.exceptions.NodeClosedException; import java.rmi.Remote; import java.rmi.RemoteException; +/** + * The interface {@link RMIServerNodeInt} exposes the RMI methods that a + * {@link it.polimi.ingsw.am32.network.ClientNode.RMIClientNode} instance can invoke on the server.
    + * On the server a {@link RMIServerNode} will implement this interface to process the invocation of the method included. + * + * @author Matteo + */ public interface RMIServerNodeInt extends Remote { + + //--------------------------------------------------------------------------------------------- + // Methods + + /** + * The server will process the message according to its content.
    + * if a {@link RemoteException} or {@link NodeClosedException} is thrown, the ClientNode will reset automatically the + * connection + * + * @param message a {@link CtoSMessage} that the server has to process + * @throws RemoteException thrown if the method couldn't be invoked on the client + * @throws NodeClosedException thrown if the ServerNode associated with the ClientNode is terminated server-side + */ void uploadCtoS(CtoSMessage message) throws RemoteException, NodeClosedException; } diff --git a/src/main/java/it/polimi/ingsw/am32/network/ServerNode/SKServerNode.java b/src/main/java/it/polimi/ingsw/am32/network/ServerNode/SKServerNode.java index 05083f80..563be8e5 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/ServerNode/SKServerNode.java +++ b/src/main/java/it/polimi/ingsw/am32/network/ServerNode/SKServerNode.java @@ -24,23 +24,72 @@ import java.net.SocketTimeoutException; import java.util.Arrays; -public class SKServerNode implements Runnable, NodeInterface { - +/** + * Each instance of class {@code SKServerNode} handles a socket connection with a client.
    + * If, at some point, the connection were to go down, this instance will begin automatically a termination process.
    + * The class implements the {@code Runnable} interface to allow the instance to be run in a separate thread.
    + * + * @author Matteo + */ +public class SKServerNode implements Runnable, ServerNodeInterface { + + //--------------------------------------------------------------------------------------------- + // Variables and Constants + + /** + * Variables used for service purposes + */ private final Logger logger; private final Configuration config; + + /** + * Variables used to communicate with the {@code GameController} + */ private GameController gameController; + + /** + * Variables used to manage the connection with the server + */ + private int pingCount; + private final String nickname; + + /** + * Variables used to communicate with the client + */ + private final Socket socket; private final ObjectInputStream inputObtStr; private final ObjectOutputStream outputObtStr; - private final Socket socket; - private int pingCount; + + /** + * Variables used to verify and maintain active the connection with the client + */ private ServerPingTask notLinkedPingTask; private ServerPingTask serverPingTask; + + /** + * Variables used to manage the state of the connection and the instance + */ private boolean statusIsAlive; private boolean destroyCalled; private final Object aliveLock; private final Object ctoSProcessingLock; private final Object stoCProcessingLock; + + //--------------------------------------------------------------------------------------------- + // Constructor + + /** + * Standard constructor of the class.
    + * It creates a new instance of {@code SKServerNode} and initializes the input and output streams.
    + * It also sets the socket timeout.
    + * A temporary ping task is created to check if the client is still alive while the gameController is not yet assigned + * Throwing an exception implies that this class is not correctly initialized and should be destroyed. This also + * implies that the socket and its streams are closed. + * + * @param socket + * @throws UninitializedException thrown if, during the instantiation, there were some problems + */ public SKServerNode(Socket socket) throws UninitializedException { this.gameController = null; this.socket = socket; @@ -49,6 +98,7 @@ public SKServerNode(Socket socket) throws UninitializedException { aliveLock = new Object(); ctoSProcessingLock = new Object(); stoCProcessingLock = new Object(); + nickname = "Unknown"; this.logger = LogManager.getLogger(SKServerNode.class); @@ -112,6 +162,17 @@ public SKServerNode(Socket socket) throws UninitializedException { config.addTimerTask(notLinkedPingTask); } + + //--------------------------------------------------------------------------------------------- + // Methods + + /** + * Method that starts the reading of the incoming messages from the input stream of the client.
    + * This method will process the incoming messages and will call the appropriate method of the {@code GameController} + * to handle the message.
    + * If at some point, the instance of {@code SKServerNode} is not alive, the thread will terminate.
    + * Any problem with the input stream will cause the destruction of the {@code SKServerNode}.
    + */ public void run() { logger.debug("SKServerNode thread started"); try { @@ -132,7 +193,6 @@ public void run() { "Stack Trace: {}\n", e.getMessage(), e.getLocalizedMessage(), Arrays.toString(e.getStackTrace())); - //TODO risolvere meglio gli errori destroy(); } catch (NodeClosedException e) { @@ -140,6 +200,23 @@ public void run() { } } + /** + * Method that listens for incoming messages from the client.
    + * The method will wait until a message is received from the client.
    + * When a message is received, the method will check the type of the message:
    + * - If the message is a {@link PingMessage}, the method will return immediately.
    + * - If the message is a {@link CtoSMessage} and a {@link GameController} is already set, the method will call the + * {@code elaborateMessage} method on the message.
    + * - If the message is a {@link CtoSLobbyMessage} and a {@link GameController} is not yet set, the method will call + * the {@code elaborateMessage} method on the message and set the {@code GameController} to the one returned by the + * method.
    + * - If the message is not recognized, the method will send an {@link ErrorMessage} to the client.
    + * If the method encounters any problem while processing the message, it will throw an exception.
    + * + * @throws IOException exception thrown if there are problems with the input stream + * @throws ClassNotFoundException exception thrown if the class of the object received from the input stream is not found + * @throws NodeClosedException exception thrown if the instance of {@code SKServerNode} is not alive + */ private void listenForIncomingMessages() throws IOException, ClassNotFoundException, NodeClosedException { Object message; // Variable containing the message object received from the client @@ -161,16 +238,7 @@ private void listenForIncomingMessages() throws IOException, ClassNotFoundExcept // Check type of message received - if (message instanceof PingMessage) { - config.getExecutorService().submit(() -> { - try { - logger.debug("PingMessage received"); - uploadToClient(new PongMessage(null)); - } catch (UploadFailureException e) { - logger.error("Failed to send PongMessage to client"); - } - }); // Create a new thread that sends a PongMessage back to the client - } + if (message instanceof PingMessage) {return;} else if (message instanceof CtoSMessage) { if (gameController == null) { // It should never happen that the gameController hasn't yet been assigned when a CtoSMessage is received try { @@ -213,11 +281,11 @@ else if (message instanceof CtoSLobbyMessage) { // As expected, the gameController has not yet been assigned try { gameController = ((CtoSLobbyMessage) message).elaborateMessage(this); - // TODO forse è meglio mettere il messaggio di errore nell'exception notLinkedPingTask.cancel(); config.purgeTimer(); - gameController.getTimer().scheduleAtFixedRate(serverPingTask, 0, Configuration.getInstance().getPingTimeInterval()); + gameController.getTimer().scheduleAtFixedRate(serverPingTask, + Configuration.getInstance().getPingTimeInterval(), Configuration.getInstance().getPingTimeInterval()); logger.info("Elaborated CtoSLobbyMessage received: {}", message.toString()); } catch (LobbyMessageException e) { @@ -251,6 +319,15 @@ else if (message instanceof CtoSLobbyMessage) { } } + /** + * Method that sends a {@link StoCMessage} to the client.
    ù + * If the client is not alive or the connection had issues and the message couldn't reach the client, a + * {@link UploadFailureException} will be thrown.
    + * If the client wasn't reachable, the method will start the destruction process.
    + * + * @param msg is the message that the server wants to send + * @throws UploadFailureException if the message couldn't be sent to the client or the ServerNode is not alive + */ public void uploadToClient(StoCMessage msg) throws UploadFailureException { synchronized (stoCProcessingLock) { @@ -279,6 +356,14 @@ public void uploadToClient(StoCMessage msg) throws UploadFailureException { } } + /** + * Method that should be called at regular intervals.
    + * If the {@code SKServerNode} is not alive, the method will return immediately.
    + * If the {@code SKServerNode} is alive, the ping count will be decremented.
    + * If the ping count reaches 0, the {@code SKServerNode} will start the destruction process.
    + * On the other hand, if the ping count is still more than 0 after decrementing, the server will send a + * {@link PongMessage} to the client.
    + */ @Override public void pingTimeOverdue() { @@ -302,9 +387,19 @@ public void pingTimeOverdue() { if(tmpDestroy) destroy(); - + else + config.getExecutorService().submit(() -> { + try { + uploadToClient(new PongMessage(nickname)); + } catch (UploadFailureException e) { + logger.error("Failed to send PongMessage to client"); + } + }); // Create a new thread that sends a PongMessage back to the client } + /** + * Method that resets the ping counter to its maximum value if the {@code SKServerNode} is alive.
    + */ @Override public void resetTimeCounter() { @@ -318,6 +413,15 @@ public void resetTimeCounter() { } } + /** + * Method that destroys the instance of {@code SKServerNode}.
    + * It closes the input and output streams and the socket.
    + * If the {@code SKServerNode} is linked to a {@code GameController}, it will disconnect from it.
    + * It also cancels all ping tasks and then purges the timer of the {@code Configuration} class and + * {@code GameController}.
    + * The method will also set the status of the {@code SKServerNode} to not alive.
    + * + */ public void destroy(){ synchronized (aliveLock) { diff --git a/src/main/java/it/polimi/ingsw/am32/network/ServerNode/ServerNodeInterface.java b/src/main/java/it/polimi/ingsw/am32/network/ServerNode/ServerNodeInterface.java new file mode 100644 index 00000000..22dfc595 --- /dev/null +++ b/src/main/java/it/polimi/ingsw/am32/network/ServerNode/ServerNodeInterface.java @@ -0,0 +1,50 @@ +package it.polimi.ingsw.am32.network.ServerNode; + +import it.polimi.ingsw.am32.message.ClientToServer.CtoSMessage; +import it.polimi.ingsw.am32.message.ServerToClient.StoCMessage; +import it.polimi.ingsw.am32.network.exceptions.UploadFailureException; + +/** + * This {@code ServerNodeInterface} interface is used to identify all ServerNodes through which communication, with + * clients, can happen.
    + * It's objective is to mask behind the interface the complexity of managing the network part of the server, so that the + * other classes of the server don't have to know how is the communication between server and client working.
    + * It contains all the methods that another class in the server can invoke on any ServerNode.
    + * It's important to know that each instance of ServerNode is assigned to a different client. If, at some point, the + * communication to a client is impossible, the instance of ServerNode assigned to that client will follow a termination + * process that will lead to the destruction of the instance itself and every object strictly linked to it. A new + * instance will have to be created if the client were to reconnect later. + * + * @author Matteo + */ +public interface ServerNodeInterface { + + //--------------------------------------------------------------------------------------------- + // Methods + + /** + * Send a {@link StoCMessage} to the client that will process it.
    + * A {@link UploadFailureException} exception is thrown if the message could not reach the client.
    + * If the exception is thrown, the ServerNode will automatically and independently begin the termination process. + * + * @param message is the message that the server wants to send + * @throws UploadFailureException if the message couldn't be sent + */ + void uploadToClient(StoCMessage message) throws UploadFailureException; + + /** + * Inform the ServerNode that the interval for pings is over.
    + * This invocation can lead to the decrease of a ping counter. If the counter reach the minimum than the termination + * process is started. + *
    + * Invoking this method can lead, depending on the current state of the ServerNode, to verify if the connection to + * the client is working through the emission of a ping to the client. + */ + void pingTimeOverdue(); + + /** + * The invocation of this method will lead to the reset of the ping counter, i.e. bringing it back to maximum, + * associated with the ServerNode.Ad + */ + void resetTimeCounter(); +} diff --git a/src/main/java/it/polimi/ingsw/am32/network/ServerNode/ServerPingTask.java b/src/main/java/it/polimi/ingsw/am32/network/ServerNode/ServerPingTask.java index 4a9ed257..d0452f20 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/ServerNode/ServerPingTask.java +++ b/src/main/java/it/polimi/ingsw/am32/network/ServerNode/ServerPingTask.java @@ -1,26 +1,61 @@ package it.polimi.ingsw.am32.network.ServerNode; +import it.polimi.ingsw.am32.network.ClientNode.ClientNodeInterface; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.util.TimerTask; +/** + * The {@code ServerPingTask} class contains the pointer to a ServerNode, given when the object is instantiated.
    + * This class is used by a {@link java.util.Timer} to invoke the method {@link ServerNodeInterface#pingTimeOverdue()} + * on the given node. + * + * @author Matteo + */ public class ServerPingTask extends TimerTask { - private static final Logger logger = LogManager.getLogger(ServerPingTask.class); - private NodeInterface node; - public ServerPingTask(NodeInterface node) { + + //--------------------------------------------------------------------------------------------- + // Variables and Constants + + // private static final Logger logger = LogManager.getLogger(ServerPingTask.class); + private ServerNodeInterface node; + + + //--------------------------------------------------------------------------------------------- + // Constructor + + /** + * Standard constructor of the class. + * + * @param node the ServerNode on which will be invoked the {@link ServerNodeInterface#pingTimeOverdue()} + */ + public ServerPingTask(ServerNodeInterface node) { this.node = node; } + + + //--------------------------------------------------------------------------------------------- + // Methods + + /** + * Invoke the method {@link ServerNodeInterface#pingTimeOverdue()} on the ServerNode stored in the object. + */ public void run() { // logger.debug("ServerPingTask started. The node {} will be checked for ping time.", node); // Logging disabled to avoid spamming node.pingTimeOverdue(); } + /** + * invoke the method {@link TimerTask#cancel()} and delete the reference to the ServerNode to facilitate deletion + * of the object by the garbage collector. + * + * @return the return value of the method {@code cancel()} of the super class + */ @Override public boolean cancel() { boolean cancelled = super.cancel(); node = null; return cancelled; } - } diff --git a/src/main/java/it/polimi/ingsw/am32/network/exceptions/ConnectionSetupFailedException.java b/src/main/java/it/polimi/ingsw/am32/network/exceptions/ConnectionSetupFailedException.java index 0d16d0ba..6e1dd98a 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/exceptions/ConnectionSetupFailedException.java +++ b/src/main/java/it/polimi/ingsw/am32/network/exceptions/ConnectionSetupFailedException.java @@ -1,3 +1,9 @@ package it.polimi.ingsw.am32.network.exceptions; +/** + * A simple Exception that extends {@code Throwable} and add nothing else.
    + * Used to notify the {@link it.polimi.ingsw.am32.client.View} that the instantiation of a ClientNode was unsuccessful. + * + * @author Matteo + */ public class ConnectionSetupFailedException extends Throwable {} \ No newline at end of file diff --git a/src/main/java/it/polimi/ingsw/am32/network/exceptions/ErrorMessageCode.java b/src/main/java/it/polimi/ingsw/am32/network/exceptions/ErrorMessageCode.java index c8eed5f5..a30f1b9d 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/exceptions/ErrorMessageCode.java +++ b/src/main/java/it/polimi/ingsw/am32/network/exceptions/ErrorMessageCode.java @@ -7,8 +7,17 @@ * @see it.polimi.ingsw.am32.message.ServerToClient.ErrorMessage */ public enum ErrorMessageCode { + /** + * StoCMessage sent before StoCLobbyMessage. + */ STOCMESSAGE_SENT_BEFORE_STOCLOBBYMESSAGE(128), + /** + * StoCLobbyMessage sent but GameController already present. + */ STOCLOBBYMESSAGE_SENT_BUT_GAMECONTROLLER_ALREADY_PRESENT(127), + /** + * Message type not recognized. + */ MESSAGE_TYPE_NOT_RECOGNIZED(126); /** diff --git a/src/main/java/it/polimi/ingsw/am32/network/exceptions/NodeClosedException.java b/src/main/java/it/polimi/ingsw/am32/network/exceptions/NodeClosedException.java index 99a178bd..f925a998 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/exceptions/NodeClosedException.java +++ b/src/main/java/it/polimi/ingsw/am32/network/exceptions/NodeClosedException.java @@ -1,4 +1,10 @@ package it.polimi.ingsw.am32.network.exceptions; -public class NodeClosedException extends Throwable { -} +/** + * A simple Exception that extends {@code Throwable} and add nothing else.
    + * Used to notify the caller that the Node (Server or Client) on which the method was invoked, is not usable at the + * moment. + * + * @author Matteo + */ +public class NodeClosedException extends Throwable {} \ No newline at end of file diff --git a/src/main/java/it/polimi/ingsw/am32/network/exceptions/UninitializedException.java b/src/main/java/it/polimi/ingsw/am32/network/exceptions/UninitializedException.java index 4170e2e4..69031cbe 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/exceptions/UninitializedException.java +++ b/src/main/java/it/polimi/ingsw/am32/network/exceptions/UninitializedException.java @@ -1,3 +1,10 @@ package it.polimi.ingsw.am32.network.exceptions; -public class UninitializedException extends Throwable {} +/** + * A simple Exception that extends {@code Throwable} and add nothing else.
    + * Used to notify the {@link it.polimi.ingsw.am32.network.ClientAcceptor.SKClientAcceptor} that the instantiation + * of a {@link it.polimi.ingsw.am32.network.ClientNode.SKClientNode} was unsuccessful. + * + * @author Matteo + */ +public class UninitializedException extends Throwable {} \ No newline at end of file diff --git a/src/main/java/it/polimi/ingsw/am32/network/exceptions/UploadFailureException.java b/src/main/java/it/polimi/ingsw/am32/network/exceptions/UploadFailureException.java index 850d7914..161c655d 100644 --- a/src/main/java/it/polimi/ingsw/am32/network/exceptions/UploadFailureException.java +++ b/src/main/java/it/polimi/ingsw/am32/network/exceptions/UploadFailureException.java @@ -1,4 +1,9 @@ package it.polimi.ingsw.am32.network.exceptions; -public class UploadFailureException extends Throwable{ -} +/** + * A simple Exception that extends {@code Throwable} and add nothing else.
    + * Used to notify the caller that the message given to the Node (Server or Client) could not be sent. + * + * @author Matteo + */ +public class UploadFailureException extends Throwable{} \ No newline at end of file diff --git a/src/main/java/it/polimi/ingsw/am32/utilities/Configuration.java b/src/main/java/it/polimi/ingsw/am32/utilities/Configuration.java index eaaa9e53..2d18742a 100644 --- a/src/main/java/it/polimi/ingsw/am32/utilities/Configuration.java +++ b/src/main/java/it/polimi/ingsw/am32/utilities/Configuration.java @@ -219,8 +219,6 @@ protected int portValidator(int newPort, int defaultPort) { */ protected String serverIpValidator(String ipToValidate , String lastValidIp) { - // TODO rivalutare algoritmo - char[] workingIp = ipToValidate.toCharArray(); int prevIndex = 0; int counter = 0; @@ -363,7 +361,7 @@ public ExecutorService getExecutorService() { * @param serverPingTask is the {@code ServerPingTask} to be scheduled */ public void addTimerTask(ServerPingTask serverPingTask) { - notLinkedSocketTimer.scheduleAtFixedRate(serverPingTask, 0, pingTimeInterval); + notLinkedSocketTimer.scheduleAtFixedRate(serverPingTask, pingTimeInterval, pingTimeInterval); } /** diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index abd8e489..84283623 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -15,7 +15,6 @@ opens it.polimi.ingsw.am32 to javafx.fxml; exports it.polimi.ingsw.am32; exports it.polimi.ingsw.am32.network.ClientAcceptor to java.rmi; - exports it.polimi.ingsw.am32.network to java.rmi; exports it.polimi.ingsw.am32.model.exceptions to java.rmi; exports it.polimi.ingsw.am32.controller.exceptions.abstraction to java.rmi; exports it.polimi.ingsw.am32.controller to java.rmi; diff --git a/src/test/java/it/polimi/ingsw/am32/controller/GameControllerTest.java b/src/test/java/it/polimi/ingsw/am32/controller/GameControllerTest.java index afcf9cac..e37438a5 100644 --- a/src/test/java/it/polimi/ingsw/am32/controller/GameControllerTest.java +++ b/src/test/java/it/polimi/ingsw/am32/controller/GameControllerTest.java @@ -7,7 +7,7 @@ import it.polimi.ingsw.am32.message.ServerToClient.*; import it.polimi.ingsw.am32.model.exceptions.DuplicateNicknameException; import it.polimi.ingsw.am32.model.exceptions.PlayerNotFoundException; -import it.polimi.ingsw.am32.network.ServerNode.NodeInterface; +import it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface; import org.junit.jupiter.api.*; import java.lang.reflect.Field; @@ -21,8 +21,8 @@ public class GameControllerTest { // GameController objects used for testing private GameController gameController; - // Stub class for NodeInterface. This class is used to test the GameController class. - private static class NodeInterfaceStub implements NodeInterface { + // Stub class for ServerNodeInterface. This class is used to test the GameController class. + private static class NodeInterfaceStub implements ServerNodeInterface { private final ArrayList internalMessages; public NodeInterfaceStub() { internalMessages = new ArrayList<>(); diff --git a/src/test/java/it/polimi/ingsw/am32/controller/GamesManagerMockitoTest.java b/src/test/java/it/polimi/ingsw/am32/controller/GamesManagerMockitoTest.java index 0ea5c332..9b8e0494 100644 --- a/src/test/java/it/polimi/ingsw/am32/controller/GamesManagerMockitoTest.java +++ b/src/test/java/it/polimi/ingsw/am32/controller/GamesManagerMockitoTest.java @@ -1,7 +1,7 @@ package it.polimi.ingsw.am32.controller; import it.polimi.ingsw.am32.controller.exceptions.*; -import it.polimi.ingsw.am32.network.ServerNode.NodeInterface; +import it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -21,7 +21,7 @@ class GamesManagerMockitoTest { private GameController gameController; @Mock - private NodeInterface node; + private ServerNodeInterface node; @Mock private VirtualView virtualView; diff --git a/src/test/java/it/polimi/ingsw/am32/controller/GamesManagerTest.java b/src/test/java/it/polimi/ingsw/am32/controller/GamesManagerTest.java index 47e12954..12c2c23e 100644 --- a/src/test/java/it/polimi/ingsw/am32/controller/GamesManagerTest.java +++ b/src/test/java/it/polimi/ingsw/am32/controller/GamesManagerTest.java @@ -2,7 +2,7 @@ import it.polimi.ingsw.am32.controller.exceptions.*; import it.polimi.ingsw.am32.message.ServerToClient.*; -import it.polimi.ingsw.am32.network.ServerNode.NodeInterface; +import it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; @@ -16,8 +16,8 @@ import static org.junit.jupiter.api.Assertions.*; class GamesManagerTest { - // Stub class for NodeInterface. This class is used to test the GameController class. - private static class NodeInterfaceStub implements NodeInterface { + // Stub class for ServerNodeInterface. This class is used to test the GameController class. + private static class NodeInterfaceStub implements ServerNodeInterface { private final ArrayList internalMessages; public NodeInterfaceStub() { internalMessages = new ArrayList<>(); @@ -39,8 +39,8 @@ public synchronized void clearInternalMessages() { } } - // NodeInterface instance - private NodeInterface node; + // ServerNodeInterface instance + private ServerNodeInterface node; // GamesManager instance private GamesManager gamesManager; diff --git a/src/test/java/it/polimi/ingsw/am32/controller/PlayerQuadrupleTest.java b/src/test/java/it/polimi/ingsw/am32/controller/PlayerQuadrupleTest.java index c6fcca36..ec811a8d 100644 --- a/src/test/java/it/polimi/ingsw/am32/controller/PlayerQuadrupleTest.java +++ b/src/test/java/it/polimi/ingsw/am32/controller/PlayerQuadrupleTest.java @@ -2,15 +2,15 @@ import it.polimi.ingsw.am32.controller.exceptions.CriticalFailureException; import it.polimi.ingsw.am32.message.ServerToClient.StoCMessage; -import it.polimi.ingsw.am32.network.ServerNode.NodeInterface; +import it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; class PlayerQuadrupleTest { - // NodeInterface and VirtualView stubs. They are not relevant for the test, so they can be mocked. - private static class NodeInterfaceStub implements NodeInterface { + // ServerNodeInterface and VirtualView stubs. They are not relevant for the test, so they can be mocked. + private static class NodeInterfaceStub implements ServerNodeInterface { // Fake Methods public void uploadToClient(StoCMessage message) {} public void pingTimeOverdue() {} @@ -22,7 +22,7 @@ public NodeInterfaceStub() {} private static class VirtualViewStub extends VirtualView { // Fake Constructor - public VirtualViewStub(NodeInterface node) { + public VirtualViewStub(ServerNodeInterface node) { super(node); } } @@ -30,7 +30,7 @@ public VirtualViewStub(NodeInterface node) { @DisplayName("Should create a player quadruple when parameters are valid") @Test void shouldCreatePlayerQuadrupleWhenParametersAreValid() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualViewStub(node); PlayerQuadruple playerQuadruple = new PlayerQuadruple(node, "nickname", true, virtualView); @@ -43,7 +43,7 @@ void shouldCreatePlayerQuadrupleWhenParametersAreValid() { @DisplayName("Should throw exception when node is null") @Test void shouldThrowExceptionWhenNodeIsNull() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualViewStub(node); assertThrows(CriticalFailureException.class, () -> new PlayerQuadruple(null, "nickname", true, virtualView)); } @@ -51,7 +51,7 @@ void shouldThrowExceptionWhenNodeIsNull() { @DisplayName("Should throw exception when nickname is null") @Test void shouldThrowExceptionWhenNicknameIsNull() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualViewStub(node); assertThrows(CriticalFailureException.class, () -> new PlayerQuadruple(node, null, true, virtualView)); } @@ -59,7 +59,7 @@ void shouldThrowExceptionWhenNicknameIsNull() { @DisplayName("Should throw exception when nickname is empty") @Test void shouldThrowExceptionWhenNicknameIsEmpty() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualViewStub(node); assertThrows(CriticalFailureException.class, () -> new PlayerQuadruple(node, "", true, virtualView)); } @@ -67,14 +67,14 @@ void shouldThrowExceptionWhenNicknameIsEmpty() { @DisplayName("Should throw exception when virtual view is null") @Test void shouldThrowExceptionWhenVirtualViewIsNull() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); assertThrows(CriticalFailureException.class, () -> new PlayerQuadruple(node, "nickname", true, null)); } @DisplayName("Should change connection status when setConnected is called") @Test void shouldChangeConnectionStatusWhenSetConnectedIsCalled() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualViewStub(node); PlayerQuadruple playerQuadruple = new PlayerQuadruple(node, "nickname", true, virtualView); @@ -85,11 +85,11 @@ void shouldChangeConnectionStatusWhenSetConnectedIsCalled() { @DisplayName("Should change node when setNode is called") @Test void shouldChangeNodeWhenSetNodeIsCalled() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualViewStub(node); PlayerQuadruple playerQuadruple = new PlayerQuadruple(node, "nickname", true, virtualView); - NodeInterface newNode = new NodeInterfaceStub(); + ServerNodeInterface newNode = new NodeInterfaceStub(); playerQuadruple.setNode(newNode); assertEquals(newNode, playerQuadruple.getNode()); } @@ -97,7 +97,7 @@ void shouldChangeNodeWhenSetNodeIsCalled() { @DisplayName("Should throw exception when setNode is called with null") @Test void shouldThrowExceptionWhenSetNodeIsCalledWithNull() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualViewStub(node); PlayerQuadruple playerQuadruple = new PlayerQuadruple(node, "nickname", true, virtualView); diff --git a/src/test/java/it/polimi/ingsw/am32/controller/VirtualViewMockitoTest.java b/src/test/java/it/polimi/ingsw/am32/controller/VirtualViewMockitoTest.java index 351d4d95..c1dac0f8 100644 --- a/src/test/java/it/polimi/ingsw/am32/controller/VirtualViewMockitoTest.java +++ b/src/test/java/it/polimi/ingsw/am32/controller/VirtualViewMockitoTest.java @@ -1,7 +1,7 @@ package it.polimi.ingsw.am32.controller; import it.polimi.ingsw.am32.message.ServerToClient.StoCMessage; -import it.polimi.ingsw.am32.network.ServerNode.NodeInterface; +import it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface; import it.polimi.ingsw.am32.network.exceptions.UploadFailureException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; @@ -15,13 +15,13 @@ class VirtualViewMockitoTest { - private NodeInterface nodeInterface; + private ServerNodeInterface nodeInterface; private VirtualView virtualView; private StoCMessage message; @BeforeEach void setUp() { - nodeInterface = mock(NodeInterface.class); + nodeInterface = mock(ServerNodeInterface.class); virtualView = new VirtualView(nodeInterface); message = mock(StoCMessage.class); } diff --git a/src/test/java/it/polimi/ingsw/am32/controller/VirtualViewTest.java b/src/test/java/it/polimi/ingsw/am32/controller/VirtualViewTest.java index 6f83e193..5be1a36b 100644 --- a/src/test/java/it/polimi/ingsw/am32/controller/VirtualViewTest.java +++ b/src/test/java/it/polimi/ingsw/am32/controller/VirtualViewTest.java @@ -3,7 +3,7 @@ import it.polimi.ingsw.am32.client.View; import it.polimi.ingsw.am32.controller.exceptions.CriticalFailureException; import it.polimi.ingsw.am32.message.ServerToClient.StoCMessage; -import it.polimi.ingsw.am32.network.ServerNode.NodeInterface; +import it.polimi.ingsw.am32.network.ServerNode.ServerNodeInterface; import it.polimi.ingsw.am32.network.exceptions.UploadFailureException; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -14,8 +14,8 @@ class VirtualViewTest { - // Stub class for NodeInterface and StoCMessage. Used to test VirtualView. - private static class NodeInterfaceStub implements NodeInterface { + // Stub class for ServerNodeInterface and StoCMessage. Used to test VirtualView. + private static class NodeInterfaceStub implements ServerNodeInterface { private int messageCount; public void uploadToClient(StoCMessage message) throws UploadFailureException { messageCount++; } public void pingTimeOverdue() {} @@ -41,10 +41,10 @@ void shouldThrowExceptionWhenConnectionNodeIsNull() { @DisplayName("Should change connection node when changeNode is called") @Test void shouldChangeConnectionNodeWhenChangeNodeIsCalled() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualView(node); - NodeInterface newNode = new NodeInterfaceStub(); + ServerNodeInterface newNode = new NodeInterfaceStub(); virtualView.changeNode(newNode); assertEquals(newNode, virtualView.getConnectionNode()); } @@ -52,7 +52,7 @@ void shouldChangeConnectionNodeWhenChangeNodeIsCalled() { @DisplayName("Should throw exception when addMessage is called with null") @Test void shouldThrowExceptionWhenAddMessageIsCalledWithNull() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualView(node); assertThrows(CriticalFailureException.class, () -> virtualView.addMessage(null)); @@ -61,7 +61,7 @@ void shouldThrowExceptionWhenAddMessageIsCalledWithNull() { @DisplayName("Should add message to queue when addMessage is called") @Test void shouldAddMessageToQueueWhenAddMessageIsCalled() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualView(node); StoCMessage message = new StoCMessageStub(); @@ -72,7 +72,7 @@ void shouldAddMessageToQueueWhenAddMessageIsCalled() { @DisplayName("Should remove message from queue when processMessage is called") @Test void shouldRemoveMessageFromQueueWhenProcessMessageIsCalled() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualView(node); StoCMessage message = new StoCMessageStub(); @@ -84,7 +84,7 @@ void shouldRemoveMessageFromQueueWhenProcessMessageIsCalled() { @DisplayName("Should clear message queue when flushMessages is called") @Test void shouldClearMessageQueueWhenFlushMessagesIsCalled() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualView(node); StoCMessage message = new StoCMessageStub(); @@ -96,7 +96,7 @@ void shouldClearMessageQueueWhenFlushMessagesIsCalled() { @DisplayName("Should handle multiple messages being added concurrently") @Test void shouldHandleMultipleMessagesBeingAddedConcurrently() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualView(node); StoCMessage message1 = new StoCMessageStub(); StoCMessage message2 = new StoCMessageStub(); @@ -121,7 +121,7 @@ void shouldHandleMultipleMessagesBeingAddedConcurrently() { @DisplayName("Should handle multiple threads calling flushMessages concurrently") @Test void shouldHandleMultipleThreadsCallingFlushMessagesConcurrently() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualView(node); StoCMessage message1 = new StoCMessageStub(); StoCMessage message2 = new StoCMessageStub(); @@ -147,10 +147,10 @@ void shouldHandleMultipleThreadsCallingFlushMessagesConcurrently() { @DisplayName("Should handle multiple threads calling changeNode concurrently") @Test void shouldHandleMultipleThreadsCallingChangeNodeConcurrently() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualView(node); - NodeInterface newNode1 = new NodeInterfaceStub(); - NodeInterface newNode2 = new NodeInterfaceStub(); + ServerNodeInterface newNode1 = new NodeInterfaceStub(); + ServerNodeInterface newNode2 = new NodeInterfaceStub(); // Create two threads that change the connection node Thread thread1 = new Thread(() -> virtualView.changeNode(newNode1)); Thread thread2 = new Thread(() -> virtualView.changeNode(newNode2)); @@ -164,14 +164,14 @@ void shouldHandleMultipleThreadsCallingChangeNodeConcurrently() { } catch (InterruptedException e) { fail(); } - NodeInterface finalNode = virtualView.getConnectionNode(); + ServerNodeInterface finalNode = virtualView.getConnectionNode(); assertTrue(finalNode == newNode1 || finalNode == newNode2); } @DisplayName("Should process message when submitted to ThreadPoolExecutor") @Test void shouldProcessMessageWhenSubmittedToThreadPoolExecutor() { - NodeInterface node = new NodeInterfaceStub(); + ServerNodeInterface node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualView(node); StoCMessage message = new StoCMessageStub(); // Create a ThreadPoolExecutor with a single thread: the VirtualView @@ -201,8 +201,8 @@ void shouldProcessMessageWhenSubmittedToThreadPoolExecutor() { @DisplayName("Should wait when UploadFailureException is thrown") @Test void shouldWaitWhenUploadFailureExceptionIsThrown() { - // Create a VirtualView with a NodeInterface that throws UploadFailureException - NodeInterface node = new NodeInterfaceStub() { + // Create a VirtualView with a ServerNodeInterface that throws UploadFailureException + ServerNodeInterface node = new NodeInterfaceStub() { @Override public void uploadToClient(StoCMessage message) throws UploadFailureException { throw new UploadFailureException(); @@ -232,7 +232,7 @@ public void uploadToClient(StoCMessage message) throws UploadFailureException { @DisplayName("Should be able to handle multiple messages being added concurrently") @Test void shouldBeAbleToHandleMessagesBurst(){ - // Create a VirtualView with a NodeInterface that throws UploadFailureException + // Create a VirtualView with a ServerNodeInterface that throws UploadFailureException NodeInterfaceStub node = new NodeInterfaceStub(); VirtualView virtualView = new VirtualView(node);