From 3bf3ed23ba6f5ca05331011b867d313b3ca27f50 Mon Sep 17 00:00:00 2001 From: Melvyn Date: Sun, 2 Feb 2025 23:56:01 +0100 Subject: [PATCH] doc : add javadoc --- javadoc/allclasses-index.html | 271 ++++ javadoc/allpackages-index.html | 94 ++ javadoc/common/ConsumerSignal.html | 190 +++ javadoc/common/Signal.html | 190 +++ javadoc/common/package-summary.html | 93 ++ javadoc/common/package-tree.html | 72 + javadoc/constant-values.html | 97 ++ javadoc/copy.svg | 33 + javadoc/element-list | 16 + javadoc/game/Game.GameState.html | 235 +++ javadoc/game/Game.html | 292 ++++ javadoc/game/Player.html | 205 +++ javadoc/game/package-summary.html | 97 ++ javadoc/game/package-tree.html | 86 ++ javadoc/gui/AssetManager.html | 172 +++ javadoc/gui/ColorGenerator.Color.html | 200 +++ javadoc/gui/ColorGenerator.html | 225 +++ javadoc/gui/Main.html | 256 ++++ javadoc/gui/RenderableMultidoku.html | 201 +++ javadoc/gui/constants/Fonts.html | 246 ++++ javadoc/gui/constants/Images.html | 201 +++ javadoc/gui/constants/Options.html | 192 +++ javadoc/gui/constants/SudokuType.html | 309 ++++ javadoc/gui/constants/Symbols.html | 274 ++++ javadoc/gui/constants/package-summary.html | 116 ++ javadoc/gui/constants/package-tree.html | 88 ++ javadoc/gui/menu/BaseView.html | 241 ++++ javadoc/gui/menu/ConnexionStatusView.html | 275 ++++ javadoc/gui/menu/EndGameView.html | 194 +++ javadoc/gui/menu/MainMenu.html | 190 +++ javadoc/gui/menu/MultiMenu.html | 190 +++ javadoc/gui/menu/MultiPlayerDokuView.html | 203 +++ javadoc/gui/menu/MultiPlayerView.html | 238 +++ javadoc/gui/menu/OptionsMenu.html | 190 +++ javadoc/gui/menu/SoloMenu.html | 203 +++ javadoc/gui/menu/StateMachine.html | 208 +++ javadoc/gui/menu/SudokuView.html | 205 +++ javadoc/gui/menu/package-summary.html | 126 ++ javadoc/gui/menu/package-tree.html | 84 ++ javadoc/gui/package-summary.html | 114 ++ javadoc/gui/package-tree.html | 83 ++ javadoc/gui/widget/AnimatedBackground.html | 172 +++ javadoc/gui/widget/LeaderboardRenderer.html | 174 +++ .../widget/MultiPlayerCompleteProgress.html | 172 +++ javadoc/gui/widget/SmoothProgressBar.html | 185 +++ javadoc/gui/widget/SudokuRenderer.html | 210 +++ javadoc/gui/widget/SudokuSelector.html | 221 +++ javadoc/gui/widget/TimerRenderer.html | 174 +++ javadoc/gui/widget/package-summary.html | 118 ++ javadoc/gui/widget/package-tree.html | 77 + javadoc/help-doc.html | 193 +++ javadoc/index-files/index-1.html | 128 ++ javadoc/index-files/index-10.html | 71 + javadoc/index-files/index-11.html | 87 ++ javadoc/index-files/index-12.html | 114 ++ javadoc/index-files/index-13.html | 88 ++ javadoc/index-files/index-14.html | 99 ++ javadoc/index-files/index-15.html | 115 ++ javadoc/index-files/index-16.html | 131 ++ javadoc/index-files/index-17.html | 266 ++++ javadoc/index-files/index-18.html | 89 ++ javadoc/index-files/index-19.html | 73 + javadoc/index-files/index-2.html | 101 ++ javadoc/index-files/index-20.html | 183 +++ javadoc/index-files/index-21.html | 68 + javadoc/index-files/index-3.html | 286 ++++ javadoc/index-files/index-4.html | 94 ++ javadoc/index-files/index-5.html | 91 ++ javadoc/index-files/index-6.html | 83 ++ javadoc/index-files/index-7.html | 267 ++++ javadoc/index-files/index-8.html | 89 ++ javadoc/index-files/index-9.html | 102 ++ javadoc/index.html | 93 ++ javadoc/legal/COPYRIGHT | 69 + javadoc/legal/LICENSE | 118 ++ javadoc/legal/jquery.md | 72 + javadoc/legal/jqueryUI.md | 49 + javadoc/link.svg | 31 + javadoc/member-search-index.js | 1 + javadoc/module-search-index.js | 1 + javadoc/network/Connexion.html | 207 +++ javadoc/network/ConnexionThread.html | 219 +++ javadoc/network/client/Client.html | 311 ++++ javadoc/network/client/ClientConnexion.html | 289 ++++ javadoc/network/client/package-summary.html | 108 ++ javadoc/network/client/package-tree.html | 76 + javadoc/network/package-summary.html | 108 ++ javadoc/network/package-tree.html | 76 + javadoc/network/protocol/Packet.html | 189 +++ javadoc/network/protocol/PacketVisitor.html | 232 +++ javadoc/network/protocol/Packets.html | 295 ++++ javadoc/network/protocol/package-summary.html | 114 ++ javadoc/network/protocol/package-tree.html | 91 ++ .../protocol/packets/ChangeCellPacket.html | 221 +++ .../protocol/packets/ConnexionInfoPacket.html | 199 +++ .../protocol/packets/DisconnectPacket.html | 199 +++ .../protocol/packets/EndGamePacket.html | 190 +++ .../protocol/packets/KeepAlivePacket.html | 199 +++ .../network/protocol/packets/LoginPacket.html | 199 +++ .../protocol/packets/PlayerJoinPacket.html | 199 +++ .../protocol/packets/PlayerLeavePacket.html | 199 +++ .../protocol/packets/StartGamePacket.html | 221 +++ .../packets/UpdatePlayerScorePacket.html | 210 +++ .../protocol/packets/package-summary.html | 120 ++ .../protocol/packets/package-tree.html | 84 ++ javadoc/network/server/KeepAliveHandler.html | 181 +++ javadoc/network/server/Server.html | 233 +++ .../network/server/ServerAcceptThread.html | 214 +++ javadoc/network/server/ServerConnexion.html | 312 ++++ javadoc/network/server/ServerLogicThread.html | 214 +++ javadoc/network/server/package-summary.html | 114 ++ javadoc/network/server/package-tree.html | 83 ++ javadoc/overview-summary.html | 26 + javadoc/overview-tree.html | 220 +++ javadoc/package-search-index.js | 1 + javadoc/resources/glass.png | Bin 0 -> 499 bytes javadoc/resources/x.png | Bin 0 -> 394 bytes javadoc/script-dir/jquery-3.6.1.min.js | 2 + javadoc/script-dir/jquery-ui.min.css | 6 + javadoc/script-dir/jquery-ui.min.js | 6 + javadoc/script.js | 253 ++++ javadoc/search-page.js | 284 ++++ javadoc/search.html | 72 + javadoc/search.js | 458 ++++++ javadoc/serialized-form.html | 314 ++++ javadoc/stylesheet.css | 1272 +++++++++++++++++ javadoc/sudoku/Main.html | 208 +++ javadoc/sudoku/SudokuSerializerTest.html | 145 ++ .../sudoku/constraint/BlockConstraint.html | 188 +++ .../sudoku/constraint/ColumnConstraint.html | 188 +++ javadoc/sudoku/constraint/Constraint.html | 267 ++++ .../sudoku/constraint/DiagonalConstraint.html | 188 +++ javadoc/sudoku/constraint/IConstraint.html | 151 ++ javadoc/sudoku/constraint/LineConstraint.html | 188 +++ .../sudoku/constraint/package-summary.html | 134 ++ javadoc/sudoku/constraint/package-tree.html | 94 ++ javadoc/sudoku/io/ConsoleInterface.html | 181 +++ javadoc/sudoku/io/SudokuPrinter.html | 452 ++++++ javadoc/sudoku/io/SudokuSerializer.html | 269 ++++ javadoc/sudoku/io/package-summary.html | 115 ++ javadoc/sudoku/io/package-tree.html | 73 + javadoc/sudoku/package-summary.html | 110 ++ javadoc/sudoku/package-tree.html | 72 + javadoc/sudoku/solver/BacktrackingSolver.html | 202 +++ javadoc/sudoku/solver/HintHelper.Hint.html | 267 ++++ javadoc/sudoku/solver/HintHelper.html | 201 +++ javadoc/sudoku/solver/HumanSolver.html | 202 +++ javadoc/sudoku/solver/MixedSolver.html | 204 +++ javadoc/sudoku/solver/RandomSolver.html | 206 +++ javadoc/sudoku/solver/Solver.html | 224 +++ javadoc/sudoku/solver/SolverStep.html | 181 +++ javadoc/sudoku/solver/StupidSolver.html | 196 +++ javadoc/sudoku/solver/package-summary.html | 128 ++ javadoc/sudoku/solver/package-tree.html | 97 ++ javadoc/sudoku/structure/Block.html | 236 +++ javadoc/sudoku/structure/Cell.html | 384 +++++ javadoc/sudoku/structure/Coordinate.html | 238 +++ javadoc/sudoku/structure/Difficulty.html | 285 ++++ javadoc/sudoku/structure/MultiDoku.html | 386 +++++ javadoc/sudoku/structure/StateManager.html | 192 +++ javadoc/sudoku/structure/Sudoku.html | 472 ++++++ javadoc/sudoku/structure/SudokuFactory.html | 480 +++++++ javadoc/sudoku/structure/package-summary.html | 144 ++ javadoc/sudoku/structure/package-tree.html | 91 ++ javadoc/tag-search-index.js | 1 + javadoc/type-search-index.js | 1 + 166 files changed, 28811 insertions(+) create mode 100644 javadoc/allclasses-index.html create mode 100644 javadoc/allpackages-index.html create mode 100644 javadoc/common/ConsumerSignal.html create mode 100644 javadoc/common/Signal.html create mode 100644 javadoc/common/package-summary.html create mode 100644 javadoc/common/package-tree.html create mode 100644 javadoc/constant-values.html create mode 100644 javadoc/copy.svg create mode 100644 javadoc/element-list create mode 100644 javadoc/game/Game.GameState.html create mode 100644 javadoc/game/Game.html create mode 100644 javadoc/game/Player.html create mode 100644 javadoc/game/package-summary.html create mode 100644 javadoc/game/package-tree.html create mode 100644 javadoc/gui/AssetManager.html create mode 100644 javadoc/gui/ColorGenerator.Color.html create mode 100644 javadoc/gui/ColorGenerator.html create mode 100644 javadoc/gui/Main.html create mode 100644 javadoc/gui/RenderableMultidoku.html create mode 100644 javadoc/gui/constants/Fonts.html create mode 100644 javadoc/gui/constants/Images.html create mode 100644 javadoc/gui/constants/Options.html create mode 100644 javadoc/gui/constants/SudokuType.html create mode 100644 javadoc/gui/constants/Symbols.html create mode 100644 javadoc/gui/constants/package-summary.html create mode 100644 javadoc/gui/constants/package-tree.html create mode 100644 javadoc/gui/menu/BaseView.html create mode 100644 javadoc/gui/menu/ConnexionStatusView.html create mode 100644 javadoc/gui/menu/EndGameView.html create mode 100644 javadoc/gui/menu/MainMenu.html create mode 100644 javadoc/gui/menu/MultiMenu.html create mode 100644 javadoc/gui/menu/MultiPlayerDokuView.html create mode 100644 javadoc/gui/menu/MultiPlayerView.html create mode 100644 javadoc/gui/menu/OptionsMenu.html create mode 100644 javadoc/gui/menu/SoloMenu.html create mode 100644 javadoc/gui/menu/StateMachine.html create mode 100644 javadoc/gui/menu/SudokuView.html create mode 100644 javadoc/gui/menu/package-summary.html create mode 100644 javadoc/gui/menu/package-tree.html create mode 100644 javadoc/gui/package-summary.html create mode 100644 javadoc/gui/package-tree.html create mode 100644 javadoc/gui/widget/AnimatedBackground.html create mode 100644 javadoc/gui/widget/LeaderboardRenderer.html create mode 100644 javadoc/gui/widget/MultiPlayerCompleteProgress.html create mode 100644 javadoc/gui/widget/SmoothProgressBar.html create mode 100644 javadoc/gui/widget/SudokuRenderer.html create mode 100644 javadoc/gui/widget/SudokuSelector.html create mode 100644 javadoc/gui/widget/TimerRenderer.html create mode 100644 javadoc/gui/widget/package-summary.html create mode 100644 javadoc/gui/widget/package-tree.html create mode 100644 javadoc/help-doc.html create mode 100644 javadoc/index-files/index-1.html create mode 100644 javadoc/index-files/index-10.html create mode 100644 javadoc/index-files/index-11.html create mode 100644 javadoc/index-files/index-12.html create mode 100644 javadoc/index-files/index-13.html create mode 100644 javadoc/index-files/index-14.html create mode 100644 javadoc/index-files/index-15.html create mode 100644 javadoc/index-files/index-16.html create mode 100644 javadoc/index-files/index-17.html create mode 100644 javadoc/index-files/index-18.html create mode 100644 javadoc/index-files/index-19.html create mode 100644 javadoc/index-files/index-2.html create mode 100644 javadoc/index-files/index-20.html create mode 100644 javadoc/index-files/index-21.html create mode 100644 javadoc/index-files/index-3.html create mode 100644 javadoc/index-files/index-4.html create mode 100644 javadoc/index-files/index-5.html create mode 100644 javadoc/index-files/index-6.html create mode 100644 javadoc/index-files/index-7.html create mode 100644 javadoc/index-files/index-8.html create mode 100644 javadoc/index-files/index-9.html create mode 100644 javadoc/index.html create mode 100644 javadoc/legal/COPYRIGHT create mode 100644 javadoc/legal/LICENSE create mode 100644 javadoc/legal/jquery.md create mode 100644 javadoc/legal/jqueryUI.md create mode 100644 javadoc/link.svg create mode 100644 javadoc/member-search-index.js create mode 100644 javadoc/module-search-index.js create mode 100644 javadoc/network/Connexion.html create mode 100644 javadoc/network/ConnexionThread.html create mode 100644 javadoc/network/client/Client.html create mode 100644 javadoc/network/client/ClientConnexion.html create mode 100644 javadoc/network/client/package-summary.html create mode 100644 javadoc/network/client/package-tree.html create mode 100644 javadoc/network/package-summary.html create mode 100644 javadoc/network/package-tree.html create mode 100644 javadoc/network/protocol/Packet.html create mode 100644 javadoc/network/protocol/PacketVisitor.html create mode 100644 javadoc/network/protocol/Packets.html create mode 100644 javadoc/network/protocol/package-summary.html create mode 100644 javadoc/network/protocol/package-tree.html create mode 100644 javadoc/network/protocol/packets/ChangeCellPacket.html create mode 100644 javadoc/network/protocol/packets/ConnexionInfoPacket.html create mode 100644 javadoc/network/protocol/packets/DisconnectPacket.html create mode 100644 javadoc/network/protocol/packets/EndGamePacket.html create mode 100644 javadoc/network/protocol/packets/KeepAlivePacket.html create mode 100644 javadoc/network/protocol/packets/LoginPacket.html create mode 100644 javadoc/network/protocol/packets/PlayerJoinPacket.html create mode 100644 javadoc/network/protocol/packets/PlayerLeavePacket.html create mode 100644 javadoc/network/protocol/packets/StartGamePacket.html create mode 100644 javadoc/network/protocol/packets/UpdatePlayerScorePacket.html create mode 100644 javadoc/network/protocol/packets/package-summary.html create mode 100644 javadoc/network/protocol/packets/package-tree.html create mode 100644 javadoc/network/server/KeepAliveHandler.html create mode 100644 javadoc/network/server/Server.html create mode 100644 javadoc/network/server/ServerAcceptThread.html create mode 100644 javadoc/network/server/ServerConnexion.html create mode 100644 javadoc/network/server/ServerLogicThread.html create mode 100644 javadoc/network/server/package-summary.html create mode 100644 javadoc/network/server/package-tree.html create mode 100644 javadoc/overview-summary.html create mode 100644 javadoc/overview-tree.html create mode 100644 javadoc/package-search-index.js create mode 100644 javadoc/resources/glass.png create mode 100644 javadoc/resources/x.png create mode 100644 javadoc/script-dir/jquery-3.6.1.min.js create mode 100644 javadoc/script-dir/jquery-ui.min.css create mode 100644 javadoc/script-dir/jquery-ui.min.js create mode 100644 javadoc/script.js create mode 100644 javadoc/search-page.js create mode 100644 javadoc/search.html create mode 100644 javadoc/search.js create mode 100644 javadoc/serialized-form.html create mode 100644 javadoc/stylesheet.css create mode 100644 javadoc/sudoku/Main.html create mode 100644 javadoc/sudoku/SudokuSerializerTest.html create mode 100644 javadoc/sudoku/constraint/BlockConstraint.html create mode 100644 javadoc/sudoku/constraint/ColumnConstraint.html create mode 100644 javadoc/sudoku/constraint/Constraint.html create mode 100644 javadoc/sudoku/constraint/DiagonalConstraint.html create mode 100644 javadoc/sudoku/constraint/IConstraint.html create mode 100644 javadoc/sudoku/constraint/LineConstraint.html create mode 100644 javadoc/sudoku/constraint/package-summary.html create mode 100644 javadoc/sudoku/constraint/package-tree.html create mode 100644 javadoc/sudoku/io/ConsoleInterface.html create mode 100644 javadoc/sudoku/io/SudokuPrinter.html create mode 100644 javadoc/sudoku/io/SudokuSerializer.html create mode 100644 javadoc/sudoku/io/package-summary.html create mode 100644 javadoc/sudoku/io/package-tree.html create mode 100644 javadoc/sudoku/package-summary.html create mode 100644 javadoc/sudoku/package-tree.html create mode 100644 javadoc/sudoku/solver/BacktrackingSolver.html create mode 100644 javadoc/sudoku/solver/HintHelper.Hint.html create mode 100644 javadoc/sudoku/solver/HintHelper.html create mode 100644 javadoc/sudoku/solver/HumanSolver.html create mode 100644 javadoc/sudoku/solver/MixedSolver.html create mode 100644 javadoc/sudoku/solver/RandomSolver.html create mode 100644 javadoc/sudoku/solver/Solver.html create mode 100644 javadoc/sudoku/solver/SolverStep.html create mode 100644 javadoc/sudoku/solver/StupidSolver.html create mode 100644 javadoc/sudoku/solver/package-summary.html create mode 100644 javadoc/sudoku/solver/package-tree.html create mode 100644 javadoc/sudoku/structure/Block.html create mode 100644 javadoc/sudoku/structure/Cell.html create mode 100644 javadoc/sudoku/structure/Coordinate.html create mode 100644 javadoc/sudoku/structure/Difficulty.html create mode 100644 javadoc/sudoku/structure/MultiDoku.html create mode 100644 javadoc/sudoku/structure/StateManager.html create mode 100644 javadoc/sudoku/structure/Sudoku.html create mode 100644 javadoc/sudoku/structure/SudokuFactory.html create mode 100644 javadoc/sudoku/structure/package-summary.html create mode 100644 javadoc/sudoku/structure/package-tree.html create mode 100644 javadoc/tag-search-index.js create mode 100644 javadoc/type-search-index.js diff --git a/javadoc/allclasses-index.html b/javadoc/allclasses-index.html new file mode 100644 index 0000000..9761ef9 --- /dev/null +++ b/javadoc/allclasses-index.html @@ -0,0 +1,271 @@ + + + + +All Classes and Interfaces + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes and Interfaces

+
+
+
+
+
+
Class
+
Description
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
Class qui représente les Block de chaque Sudoku, + Un Block étant un ensemble de cellule avec une contrainte de block qui lui + ait associé.
+
+ +
+
Contrainte de bloc
+
+ +
+
Représente une case d'un, ou plusieurs, sudoku qui à comme valeur un index de symbole.
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
Contrainte de colonne
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
Enumération utilisée afin de simplifier l'affichage en graphique.
+
+ +
 
+ +
+
Représente les coordonnées d'une Cell.
+
+ +
+
Contrainte de diagonale
+
+ +
+
Les difficultés d'un Sudoku, + représente le nombre de cases à enlever, en proportion, à un Sudoku.
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
Interface de base pour la déclaration d'une contrainte + Elle est en théorie assez générique pour implémenter n'importe quelle + contrainte
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
Contrainte de ligne
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
Class : MultiDoku + Brief : Représente une grille de Multidoku.
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
Une pile, qui réprésente les états d'un MultiDoku, + utile pour les Solvers.
+
+ +
+
Class de test non utilisé
+
+ +
+
Class : Sudoku + Brief : Représent un Sudoku
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
Classe permettant d'effectuer des opérations sur les sudokus afin de les + charger/sauvegarder
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+
+
+
+
+
+
+ + diff --git a/javadoc/allpackages-index.html b/javadoc/allpackages-index.html new file mode 100644 index 0000000..e82ba79 --- /dev/null +++ b/javadoc/allpackages-index.html @@ -0,0 +1,94 @@ + + + + +All Packages + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
Package Summary
+
+
Package
+
Description
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+
+
+
+
+ + diff --git a/javadoc/common/ConsumerSignal.html b/javadoc/common/ConsumerSignal.html new file mode 100644 index 0000000..4670e3e --- /dev/null +++ b/javadoc/common/ConsumerSignal.html @@ -0,0 +1,190 @@ + + + + +ConsumerSignal + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package common
+

Class ConsumerSignal<T>

+
+
java.lang.Object +
common.ConsumerSignal<T>
+
+
+
+
public class ConsumerSignal<T> +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ConsumerSignal

      +
      public ConsumerSignal()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      connect

      +
      public void connect(Consumer<T> listener)
      +
      +
    • +
    • +
      +

      clear

      +
      public void clear()
      +
      +
    • +
    • +
      +

      emit

      +
      public void emit(T arg)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/common/Signal.html b/javadoc/common/Signal.html new file mode 100644 index 0000000..5f82fef --- /dev/null +++ b/javadoc/common/Signal.html @@ -0,0 +1,190 @@ + + + + +Signal + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package common
+

Class Signal

+
+
java.lang.Object +
common.Signal
+
+
+
+
public class Signal +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Signal

      +
      public Signal()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      connect

      +
      public void connect(Runnable listener)
      +
      +
    • +
    • +
      +

      clear

      +
      public void clear()
      +
      +
    • +
    • +
      +

      emit

      +
      public void emit()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/common/package-summary.html b/javadoc/common/package-summary.html new file mode 100644 index 0000000..4566825 --- /dev/null +++ b/javadoc/common/package-summary.html @@ -0,0 +1,93 @@ + + + + +common + + + + + + + + + + + + + + +
+ +
+
+
+

Package common

+
+
+
package common
+
+ +
+
+
+
+ + diff --git a/javadoc/common/package-tree.html b/javadoc/common/package-tree.html new file mode 100644 index 0000000..f84488a --- /dev/null +++ b/javadoc/common/package-tree.html @@ -0,0 +1,72 @@ + + + + +common Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package common

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/javadoc/constant-values.html b/javadoc/constant-values.html new file mode 100644 index 0000000..cd9aa70 --- /dev/null +++ b/javadoc/constant-values.html @@ -0,0 +1,97 @@ + + + + +Constant Field Values + + + + + + + + + + + + + + +
+ +
+
+
+

Constant Field Values

+
+
+

Contents

+ +
+
+

sudoku.io.*

+ +
+
+
+
+ + diff --git a/javadoc/copy.svg b/javadoc/copy.svg new file mode 100644 index 0000000..d435f6c --- /dev/null +++ b/javadoc/copy.svg @@ -0,0 +1,33 @@ + + + + + + + + diff --git a/javadoc/element-list b/javadoc/element-list new file mode 100644 index 0000000..8c4824d --- /dev/null +++ b/javadoc/element-list @@ -0,0 +1,16 @@ +common +game +gui +gui.constants +gui.menu +gui.widget +network +network.client +network.protocol +network.protocol.packets +network.server +sudoku +sudoku.constraint +sudoku.io +sudoku.solver +sudoku.structure diff --git a/javadoc/game/Game.GameState.html b/javadoc/game/Game.GameState.html new file mode 100644 index 0000000..095bf4f --- /dev/null +++ b/javadoc/game/Game.GameState.html @@ -0,0 +1,235 @@ + + + + +Game.GameState + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package game
+

Enum Class Game.GameState

+
+ +
+
+
All Implemented Interfaces:
+
Serializable, Comparable<Game.GameState>, Constable
+
+
+
Enclosing class:
+
Game
+
+
+
public static enum Game.GameState +extends Enum<Game.GameState>
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      GameNotStarted

      +
      public static final Game.GameState GameNotStarted
      +
      +
    • +
    • +
      +

      GameGoing

      +
      public static final Game.GameState GameGoing
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static Game.GameState[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static Game.GameState valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/game/Game.html b/javadoc/game/Game.html new file mode 100644 index 0000000..a2cfd7f --- /dev/null +++ b/javadoc/game/Game.html @@ -0,0 +1,292 @@ + + + + +Game + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package game
+

Class Game

+
+
java.lang.Object +
game.Game
+
+
+
+
public class Game +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Game

      +
      public Game()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getPlayerById

      +
      public Player getPlayerById(int id)
      +
      +
    • +
    • +
      +

      addPlayer

      +
      public void addPlayer(Player player)
      +
      +
    • +
    • +
      +

      setPlayerRemainingCells

      +
      public void setPlayerRemainingCells(Player player, + int newScore)
      +
      +
    • +
    • +
      +

      removePlayer

      +
      public void removePlayer(int id)
      +
      +
    • +
    • +
      +

      getPlayers

      +
      public Map<Integer,Player> getPlayers()
      +
      +
    • +
    • +
      +

      startGame

      +
      public void startGame(MultiDoku doku, + Instant startTime, + long gameDuration)
      +
      +
    • +
    • +
      +

      stopGame

      +
      public void stopGame()
      +
      +
    • +
    • +
      +

      getGameState

      +
      public Game.GameState getGameState()
      +
      +
    • +
    • +
      +

      getDoku

      +
      public MultiDoku getDoku()
      +
      +
    • +
    • +
      +

      getLeaderboard

      +
      public List<Player> getLeaderboard()
      +
      +
    • +
    • +
      +

      getStartTime

      +
      public Instant getStartTime()
      +
      +
    • +
    • +
      +

      getGameDuration

      +
      public long getGameDuration()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/game/Player.html b/javadoc/game/Player.html new file mode 100644 index 0000000..6b14944 --- /dev/null +++ b/javadoc/game/Player.html @@ -0,0 +1,205 @@ + + + + +Player + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package game
+

Class Player

+
+
java.lang.Object +
game.Player
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class Player +extends Object +implements Serializable
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Player

      +
      public Player(int id, + String pseudo)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getRemainingCells

      +
      public int getRemainingCells()
      +
      +
    • +
    • +
      +

      getPseudo

      +
      public String getPseudo()
      +
      +
    • +
    • +
      +

      getId

      +
      public int getId()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/game/package-summary.html b/javadoc/game/package-summary.html new file mode 100644 index 0000000..b68c426 --- /dev/null +++ b/javadoc/game/package-summary.html @@ -0,0 +1,97 @@ + + + + +game + + + + + + + + + + + + + + +
+ +
+
+
+

Package game

+
+
+
package game
+
+
    +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
     
    + +
     
    + +
     
    +
    +
    +
    +
  • +
+
+
+
+
+ + diff --git a/javadoc/game/package-tree.html b/javadoc/game/package-tree.html new file mode 100644 index 0000000..39c1e5f --- /dev/null +++ b/javadoc/game/package-tree.html @@ -0,0 +1,86 @@ + + + + +game Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package game

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/javadoc/gui/AssetManager.html b/javadoc/gui/AssetManager.html new file mode 100644 index 0000000..29f5ebe --- /dev/null +++ b/javadoc/gui/AssetManager.html @@ -0,0 +1,172 @@ + + + + +AssetManager + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui
+

Class AssetManager

+
+
java.lang.Object +
gui.AssetManager
+
+
+
+
public class AssetManager +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AssetManager

      +
      public AssetManager()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getResource

      +
      public static byte[] getResource(String name)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/ColorGenerator.Color.html b/javadoc/gui/ColorGenerator.Color.html new file mode 100644 index 0000000..18826e6 --- /dev/null +++ b/javadoc/gui/ColorGenerator.Color.html @@ -0,0 +1,200 @@ + + + + +ColorGenerator.Color + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui
+

Class ColorGenerator.Color

+
+
java.lang.Object +
gui.ColorGenerator.Color
+
+
+
+
Enclosing class:
+
ColorGenerator
+
+
+
public static class ColorGenerator.Color +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      r

      +
      public float r
      +
      +
    • +
    • +
      +

      g

      +
      public float g
      +
      +
    • +
    • +
      +

      b

      +
      public float b
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Color

      +
      public Color(float r, + float g, + float b)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/ColorGenerator.html b/javadoc/gui/ColorGenerator.html new file mode 100644 index 0000000..a4e2925 --- /dev/null +++ b/javadoc/gui/ColorGenerator.html @@ -0,0 +1,225 @@ + + + + +ColorGenerator + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui
+

Class ColorGenerator

+
+
java.lang.Object +
gui.ColorGenerator
+
+
+
+
public class ColorGenerator +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ColorGenerator

      +
      public ColorGenerator()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      greatPalette

      +
      public static List<ColorGenerator.Color> greatPalette(int colorCount)
      +
      +
    • +
    • +
      +

      greatScheme

      +
      public static List<ColorGenerator.Color> greatScheme(int colorCount)
      +
      +
    • +
    • +
      +

      hslToRgb

      +
      public static ColorGenerator.Color hslToRgb(float h, + float s, + float l)
      +
      +
    • +
    • +
      +

      hueToRgb

      +
      public static float hueToRgb(float p, + float q, + float t)
      +
      Helper method that converts hue to rgb
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/Main.html b/javadoc/gui/Main.html new file mode 100644 index 0000000..9163669 --- /dev/null +++ b/javadoc/gui/Main.html @@ -0,0 +1,256 @@ + + + + +Main + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui
+

Class Main

+
+
java.lang.Object +
imgui.app.Window +
imgui.app.Application +
gui.Main
+
+
+
+
+
+
public class Main +extends imgui.app.Application
+
+
+
    + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from class imgui.app.Window

    +colorBg, handle, imGuiGl3, imGuiGlfw
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    protected void
    +
    configure(imgui.app.Configuration config)
    +
     
    +
    protected void
    + +
     
    +
    protected void
    +
    initImGui(imgui.app.Configuration config)
    +
     
    +
    static void
    +
    main(String[] args)
    +
     
    +
    protected void
    + +
     
    +
    void
    + +
     
    +
    +
    +
    +
    +

    Methods inherited from class imgui.app.Application

    +launch, postRun
    +
    +

    Methods inherited from class imgui.app.Window

    +dispose, disposeImGui, endFrame, getColorBg, getHandle, init, initWindow, postProcess, preProcess, run, runFrame, startFrame
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Main

      +
      public Main()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      configure

      +
      protected void configure(imgui.app.Configuration config)
      +
      +
      Overrides:
      +
      configure in class imgui.app.Application
      +
      +
      +
    • +
    • +
      +

      disposeWindow

      +
      protected void disposeWindow()
      +
      +
      Overrides:
      +
      disposeWindow in class imgui.app.Window
      +
      +
      +
    • +
    • +
      +

      initImGui

      +
      protected void initImGui(imgui.app.Configuration config)
      +
      +
      Overrides:
      +
      initImGui in class imgui.app.Window
      +
      +
      +
    • +
    • +
      +

      preRun

      +
      protected void preRun()
      +
      +
      Overrides:
      +
      preRun in class imgui.app.Application
      +
      +
      +
    • +
    • +
      +

      process

      +
      public void process()
      +
      +
      Specified by:
      +
      process in class imgui.app.Window
      +
      +
      +
    • +
    • +
      +

      main

      +
      public static void main(String[] args)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/RenderableMultidoku.html b/javadoc/gui/RenderableMultidoku.html new file mode 100644 index 0000000..a4903bc --- /dev/null +++ b/javadoc/gui/RenderableMultidoku.html @@ -0,0 +1,201 @@ + + + + +RenderableMultidoku + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui
+

Class RenderableMultidoku

+
+
java.lang.Object +
gui.RenderableMultidoku
+
+
+
+
public class RenderableMultidoku +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getWidth

      +
      public int getWidth()
      +
      +
    • +
    • +
      +

      getHeight

      +
      public int getHeight()
      +
      +
    • +
    • +
      +

      getBlocks

      +
      public List<Block> getBlocks()
      +
      +
    • +
    • +
      +

      getCell

      +
      public Cell getCell(int x, + int y)
      +
      +
    • +
    • +
      +

      getCell

      +
      public Cell getCell(int index)
      +
      +
    • +
    • +
      +

      fromMultidoku

      +
      public static RenderableMultidoku fromMultidoku(MultiDoku doku)
      +
      +
    • +
    • +
      +

      getDoku

      +
      public MultiDoku getDoku()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/constants/Fonts.html b/javadoc/gui/constants/Fonts.html new file mode 100644 index 0000000..ab4881f --- /dev/null +++ b/javadoc/gui/constants/Fonts.html @@ -0,0 +1,246 @@ + + + + +Fonts + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.constants
+

Class Fonts

+
+
java.lang.Object +
gui.constants.Fonts
+
+
+
+
public class Fonts +extends Object
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static imgui.ImFont
    + +
     
    +
    static imgui.ImFont
    + +
     
    +
    static imgui.ImFont
    + +
     
    +
    static imgui.ImFont
    + +
     
    +
    static imgui.ImFont
    + +
     
    +
    static imgui.ImFont
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static void
    + +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      ARIAL

      +
      public static imgui.ImFont ARIAL
      +
      +
    • +
    • +
      +

      ARIAL_BOLD

      +
      public static imgui.ImFont ARIAL_BOLD
      +
      +
    • +
    • +
      +

      CHERI

      +
      public static imgui.ImFont CHERI
      +
      +
    • +
    • +
      +

      COMIC

      +
      public static imgui.ImFont COMIC
      +
      +
    • +
    • +
      +

      INFECTED

      +
      public static imgui.ImFont INFECTED
      +
      +
    • +
    • +
      +

      EMOJIS

      +
      public static imgui.ImFont EMOJIS
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Fonts

      +
      public Fonts()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      createFonts

      +
      public static void createFonts()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/constants/Images.html b/javadoc/gui/constants/Images.html new file mode 100644 index 0000000..f378c8b --- /dev/null +++ b/javadoc/gui/constants/Images.html @@ -0,0 +1,201 @@ + + + + +Images + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.constants
+

Class Images

+
+
java.lang.Object +
gui.constants.Images
+
+
+
+
public class Images +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      BACKGROUND

      +
      public static int BACKGROUND
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Images

      +
      public Images()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      reloadImages

      +
      public static void reloadImages()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/constants/Options.html b/javadoc/gui/constants/Options.html new file mode 100644 index 0000000..91d7386 --- /dev/null +++ b/javadoc/gui/constants/Options.html @@ -0,0 +1,192 @@ + + + + +Options + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.constants
+

Class Options

+
+
java.lang.Object +
gui.constants.Options
+
+
+
+
public class Options +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      Symboles

      +
      public static Symbols Symboles
      +
      +
    • +
    • +
      +

      BackgroundSpeed

      +
      public static float BackgroundSpeed
      +
      +
    • +
    • +
      +

      BackgroundPath

      +
      public static String BackgroundPath
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Options

      +
      public Options()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/constants/SudokuType.html b/javadoc/gui/constants/SudokuType.html new file mode 100644 index 0000000..e72a655 --- /dev/null +++ b/javadoc/gui/constants/SudokuType.html @@ -0,0 +1,309 @@ + + + + +SudokuType + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.constants
+

Enum Class SudokuType

+
+
java.lang.Object +
java.lang.Enum<SudokuType> +
gui.constants.SudokuType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<SudokuType>, Constable
+
+
+
public enum SudokuType +extends Enum<SudokuType>
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      Square

      +
      public static final SudokuType Square
      +
      +
    • +
    • +
      +

      Rectangle

      +
      public static final SudokuType Rectangle
      +
      +
    • +
    • +
      +

      RandomBloc

      +
      public static final SudokuType RandomBloc
      +
      +
    • +
    • +
      +

      MultiDokuXSquare

      +
      public static final SudokuType MultiDokuXSquare
      +
      +
    • +
    • +
      +

      MultidokuXRectangle

      +
      public static final SudokuType MultidokuXRectangle
      +
      +
    • +
    • +
      +

      MultiDokuPlusSquare

      +
      public static final SudokuType MultiDokuPlusSquare
      +
      +
    • +
    • +
      +

      MultidokuPlusRectangle

      +
      public static final SudokuType MultidokuPlusRectangle
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static SudokuType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static SudokuType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    • +
      +

      getDisplayName

      +
      public String getDisplayName()
      +
      +
    • +
    • +
      +

      createDoku

      +
      public MultiDoku createDoku(List<IConstraint> constraints, + int... params)
      +
      +
    • +
    • +
      +

      getMakerParamCount

      +
      public int getMakerParamCount()
      +
      +
    • +
    • +
      +

      getTypeNames

      +
      public static String[] getTypeNames()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/constants/Symbols.html b/javadoc/gui/constants/Symbols.html new file mode 100644 index 0000000..23cdbb3 --- /dev/null +++ b/javadoc/gui/constants/Symbols.html @@ -0,0 +1,274 @@ + + + + +Symbols + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.constants
+

Enum Class Symbols

+
+
java.lang.Object +
java.lang.Enum<Symbols> +
gui.constants.Symbols
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<Symbols>, Constable
+
+
+
public enum Symbols +extends Enum<Symbols>
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      Numbers

      +
      public static final Symbols Numbers
      +
      +
    • +
    • +
      +

      Letters

      +
      public static final Symbols Letters
      +
      +
    • +
    • +
      +

      Russian

      +
      public static final Symbols Russian
      +
      +
    • +
    • +
      +

      Emojis

      +
      public static final Symbols Emojis
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static Symbols[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static Symbols valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    • +
      +

      getDisplayName

      +
      public String getDisplayName()
      +
      +
    • +
    • +
      +

      getSymbols

      +
      public List<String> getSymbols()
      +
      +
    • +
    • +
      +

      getSymbolsNames

      +
      public static String[] getSymbolsNames()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/constants/package-summary.html b/javadoc/gui/constants/package-summary.html new file mode 100644 index 0000000..186b98b --- /dev/null +++ b/javadoc/gui/constants/package-summary.html @@ -0,0 +1,116 @@ + + + + +gui.constants + + + + + + + + + + + + + + +
+ +
+
+
+

Package gui.constants

+
+
+
package gui.constants
+
+ +
+
+
+
+ + diff --git a/javadoc/gui/constants/package-tree.html b/javadoc/gui/constants/package-tree.html new file mode 100644 index 0000000..71df876 --- /dev/null +++ b/javadoc/gui/constants/package-tree.html @@ -0,0 +1,88 @@ + + + + +gui.constants Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package gui.constants

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/javadoc/gui/menu/BaseView.html b/javadoc/gui/menu/BaseView.html new file mode 100644 index 0000000..7babdaa --- /dev/null +++ b/javadoc/gui/menu/BaseView.html @@ -0,0 +1,241 @@ + + + + +BaseView + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.menu
+

Class BaseView

+
+
java.lang.Object +
gui.menu.BaseView
+
+
+
+
Direct Known Subclasses:
+
ConnexionStatusView, EndGameView, MainMenu, MultiMenu, MultiPlayerDokuView, MultiPlayerView, OptionsMenu, SoloMenu, SudokuView
+
+
+
public abstract class BaseView +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      stateMachine

      +
      protected final StateMachine stateMachine
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BaseView

      +
      public BaseView(StateMachine stateMachine)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      public abstract void render()
      +
      +
    • +
    • +
      +

      cleanResources

      +
      public void cleanResources()
      +
      +
    • +
    • +
      +

      closeMenu

      +
      public void closeMenu(int count)
      +
      +
    • +
    • +
      +

      closeMenu

      +
      public void closeMenu()
      +
      +
    • +
    • +
      +

      renderReturnButton

      +
      protected void renderReturnButton()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/menu/ConnexionStatusView.html b/javadoc/gui/menu/ConnexionStatusView.html new file mode 100644 index 0000000..967d019 --- /dev/null +++ b/javadoc/gui/menu/ConnexionStatusView.html @@ -0,0 +1,275 @@ + + + + +ConnexionStatusView + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.menu
+

Class ConnexionStatusView

+
+
java.lang.Object +
gui.menu.BaseView +
gui.menu.ConnexionStatusView
+
+
+
+
+
public class ConnexionStatusView +extends BaseView
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/javadoc/gui/menu/EndGameView.html b/javadoc/gui/menu/EndGameView.html new file mode 100644 index 0000000..68ba9ef --- /dev/null +++ b/javadoc/gui/menu/EndGameView.html @@ -0,0 +1,194 @@ + + + + +EndGameView + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.menu
+

Class EndGameView

+
+
java.lang.Object +
gui.menu.BaseView +
gui.menu.EndGameView
+
+
+
+
+
public class EndGameView +extends BaseView
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      public void render()
      +
      +
      Specified by:
      +
      render in class BaseView
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/menu/MainMenu.html b/javadoc/gui/menu/MainMenu.html new file mode 100644 index 0000000..02028bd --- /dev/null +++ b/javadoc/gui/menu/MainMenu.html @@ -0,0 +1,190 @@ + + + + +MainMenu + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.menu
+

Class MainMenu

+
+
java.lang.Object +
gui.menu.BaseView +
gui.menu.MainMenu
+
+
+
+
+
public class MainMenu +extends BaseView
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MainMenu

      +
      public MainMenu(StateMachine stateMachine)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      public void render()
      +
      +
      Specified by:
      +
      render in class BaseView
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/menu/MultiMenu.html b/javadoc/gui/menu/MultiMenu.html new file mode 100644 index 0000000..51a2537 --- /dev/null +++ b/javadoc/gui/menu/MultiMenu.html @@ -0,0 +1,190 @@ + + + + +MultiMenu + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.menu
+

Class MultiMenu

+
+
java.lang.Object +
gui.menu.BaseView +
gui.menu.MultiMenu
+
+
+
+
+
public class MultiMenu +extends BaseView
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MultiMenu

      +
      public MultiMenu(StateMachine stateMachine)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      public void render()
      +
      +
      Specified by:
      +
      render in class BaseView
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/menu/MultiPlayerDokuView.html b/javadoc/gui/menu/MultiPlayerDokuView.html new file mode 100644 index 0000000..0e23fe0 --- /dev/null +++ b/javadoc/gui/menu/MultiPlayerDokuView.html @@ -0,0 +1,203 @@ + + + + +MultiPlayerDokuView + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.menu
+

Class MultiPlayerDokuView

+
+
java.lang.Object +
gui.menu.BaseView +
gui.menu.MultiPlayerDokuView
+
+
+
+
+
public class MultiPlayerDokuView +extends BaseView
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MultiPlayerDokuView

      +
      public MultiPlayerDokuView(StateMachine stateMachine, + Client client, + Server server)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      onDisconnect

      +
      public void onDisconnect()
      +
      +
    • +
    • +
      +

      render

      +
      public void render()
      +
      +
      Specified by:
      +
      render in class BaseView
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/menu/MultiPlayerView.html b/javadoc/gui/menu/MultiPlayerView.html new file mode 100644 index 0000000..df3be2c --- /dev/null +++ b/javadoc/gui/menu/MultiPlayerView.html @@ -0,0 +1,238 @@ + + + + +MultiPlayerView + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.menu
+

Class MultiPlayerView

+
+
java.lang.Object +
gui.menu.BaseView +
gui.menu.MultiPlayerView
+
+
+
+
+
public class MultiPlayerView +extends BaseView
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      closeMenu

      +
      public void closeMenu()
      +
      +
      Overrides:
      +
      closeMenu in class BaseView
      +
      +
      +
    • +
    • +
      +

      onDisconnect

      +
      public void onDisconnect()
      +
      +
    • +
    • +
      +

      renderGameStatus

      +
      public void renderGameStatus()
      +
      +
    • +
    • +
      +

      render

      +
      public void render()
      +
      +
      Specified by:
      +
      render in class BaseView
      +
      +
      +
    • +
    • +
      +

      cleanResources

      +
      public void cleanResources()
      +
      +
      Overrides:
      +
      cleanResources in class BaseView
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/menu/OptionsMenu.html b/javadoc/gui/menu/OptionsMenu.html new file mode 100644 index 0000000..92310e4 --- /dev/null +++ b/javadoc/gui/menu/OptionsMenu.html @@ -0,0 +1,190 @@ + + + + +OptionsMenu + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.menu
+

Class OptionsMenu

+
+
java.lang.Object +
gui.menu.BaseView +
gui.menu.OptionsMenu
+
+
+
+
+
public class OptionsMenu +extends BaseView
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      OptionsMenu

      +
      public OptionsMenu(StateMachine stateMachine)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      public void render()
      +
      +
      Specified by:
      +
      render in class BaseView
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/menu/SoloMenu.html b/javadoc/gui/menu/SoloMenu.html new file mode 100644 index 0000000..7c38a2b --- /dev/null +++ b/javadoc/gui/menu/SoloMenu.html @@ -0,0 +1,203 @@ + + + + +SoloMenu + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.menu
+

Class SoloMenu

+
+
java.lang.Object +
gui.menu.BaseView +
gui.menu.SoloMenu
+
+
+
+
+
public class SoloMenu +extends BaseView
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SoloMenu

      +
      public SoloMenu(StateMachine stateMachine)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      public void render()
      +
      +
      Specified by:
      +
      render in class BaseView
      +
      +
      +
    • +
    • +
      +

      cleanResources

      +
      public void cleanResources()
      +
      +
      Overrides:
      +
      cleanResources in class BaseView
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/menu/StateMachine.html b/javadoc/gui/menu/StateMachine.html new file mode 100644 index 0000000..ea103f9 --- /dev/null +++ b/javadoc/gui/menu/StateMachine.html @@ -0,0 +1,208 @@ + + + + +StateMachine + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.menu
+

Class StateMachine

+
+
java.lang.Object +
gui.menu.StateMachine
+
+
+
+
public class StateMachine +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      StateMachine

      +
      public StateMachine()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      clear

      +
      public void clear()
      +
      +
    • +
    • +
      +

      pushState

      +
      public void pushState(BaseView menu)
      +
      +
    • +
    • +
      +

      overrideState

      +
      public void overrideState(BaseView menu)
      +
      +
    • +
    • +
      +

      popState

      +
      public void popState()
      +
      +
    • +
    • +
      +

      render

      +
      public void render()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/menu/SudokuView.html b/javadoc/gui/menu/SudokuView.html new file mode 100644 index 0000000..fe1fbc9 --- /dev/null +++ b/javadoc/gui/menu/SudokuView.html @@ -0,0 +1,205 @@ + + + + +SudokuView + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.menu
+

Class SudokuView

+
+
java.lang.Object +
gui.menu.BaseView +
gui.menu.SudokuView
+
+
+
+
+
public class SudokuView +extends BaseView
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      public void render()
      +
      +
      Specified by:
      +
      render in class BaseView
      +
      +
      +
    • +
    • +
      +

      closeMenu

      +
      public void closeMenu()
      +
      +
      Overrides:
      +
      closeMenu in class BaseView
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/menu/package-summary.html b/javadoc/gui/menu/package-summary.html new file mode 100644 index 0000000..b1a1cd9 --- /dev/null +++ b/javadoc/gui/menu/package-summary.html @@ -0,0 +1,126 @@ + + + + +gui.menu + + + + + + + + + + + + + + +
+ +
+
+
+

Package gui.menu

+
+
+
package gui.menu
+
+ +
+
+
+
+ + diff --git a/javadoc/gui/menu/package-tree.html b/javadoc/gui/menu/package-tree.html new file mode 100644 index 0000000..3346234 --- /dev/null +++ b/javadoc/gui/menu/package-tree.html @@ -0,0 +1,84 @@ + + + + +gui.menu Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package gui.menu

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/javadoc/gui/package-summary.html b/javadoc/gui/package-summary.html new file mode 100644 index 0000000..2f38609 --- /dev/null +++ b/javadoc/gui/package-summary.html @@ -0,0 +1,114 @@ + + + + +gui + + + + + + + + + + + + + + +
+ +
+
+
+

Package gui

+
+
+
package gui
+
+ +
+
+
+
+ + diff --git a/javadoc/gui/package-tree.html b/javadoc/gui/package-tree.html new file mode 100644 index 0000000..90a8a70 --- /dev/null +++ b/javadoc/gui/package-tree.html @@ -0,0 +1,83 @@ + + + + +gui Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package gui

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/javadoc/gui/widget/AnimatedBackground.html b/javadoc/gui/widget/AnimatedBackground.html new file mode 100644 index 0000000..0e3d899 --- /dev/null +++ b/javadoc/gui/widget/AnimatedBackground.html @@ -0,0 +1,172 @@ + + + + +AnimatedBackground + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.widget
+

Class AnimatedBackground

+
+
java.lang.Object +
gui.widget.AnimatedBackground
+
+
+
+
public class AnimatedBackground +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AnimatedBackground

      +
      public AnimatedBackground()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      public void render()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/widget/LeaderboardRenderer.html b/javadoc/gui/widget/LeaderboardRenderer.html new file mode 100644 index 0000000..e20891b --- /dev/null +++ b/javadoc/gui/widget/LeaderboardRenderer.html @@ -0,0 +1,174 @@ + + + + +LeaderboardRenderer + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.widget
+

Class LeaderboardRenderer

+
+
java.lang.Object +
gui.widget.LeaderboardRenderer
+
+
+
+
public class LeaderboardRenderer +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LeaderboardRenderer

      +
      public LeaderboardRenderer(Game game, + Player player)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      public void render()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/widget/MultiPlayerCompleteProgress.html b/javadoc/gui/widget/MultiPlayerCompleteProgress.html new file mode 100644 index 0000000..1a7d02f --- /dev/null +++ b/javadoc/gui/widget/MultiPlayerCompleteProgress.html @@ -0,0 +1,172 @@ + + + + +MultiPlayerCompleteProgress + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.widget
+

Class MultiPlayerCompleteProgress

+
+
java.lang.Object +
gui.widget.MultiPlayerCompleteProgress
+
+
+
+
public class MultiPlayerCompleteProgress +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MultiPlayerCompleteProgress

      +
      public MultiPlayerCompleteProgress(Game game)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      public void render()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/widget/SmoothProgressBar.html b/javadoc/gui/widget/SmoothProgressBar.html new file mode 100644 index 0000000..91567d9 --- /dev/null +++ b/javadoc/gui/widget/SmoothProgressBar.html @@ -0,0 +1,185 @@ + + + + +SmoothProgressBar + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.widget
+

Class SmoothProgressBar

+
+
java.lang.Object +
gui.widget.SmoothProgressBar
+
+
+
+
public class SmoothProgressBar +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SmoothProgressBar

      +
      public SmoothProgressBar()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      public void render(String label, + imgui.ImVec2 size, + float progress)
      +
      +
    • +
    • +
      +

      render

      +
      public void render(float progress)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/widget/SudokuRenderer.html b/javadoc/gui/widget/SudokuRenderer.html new file mode 100644 index 0000000..66ca6c5 --- /dev/null +++ b/javadoc/gui/widget/SudokuRenderer.html @@ -0,0 +1,210 @@ + + + + +SudokuRenderer + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.widget
+

Class SudokuRenderer

+
+
java.lang.Object +
gui.widget.SudokuRenderer
+
+
+
+
public class SudokuRenderer +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      onResolve

      +
      public final Signal onResolve
      +
      +
    • +
    • +
      +

      onCellChange

      +
      public final ConsumerSignal<Cell> onCellChange
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SudokuRenderer

      +
      public SudokuRenderer(MultiDoku doku)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      public void render()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/widget/SudokuSelector.html b/javadoc/gui/widget/SudokuSelector.html new file mode 100644 index 0000000..599d012 --- /dev/null +++ b/javadoc/gui/widget/SudokuSelector.html @@ -0,0 +1,221 @@ + + + + +SudokuSelector + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.widget
+

Class SudokuSelector

+
+
java.lang.Object +
gui.widget.SudokuSelector
+
+
+
+
public class SudokuSelector +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SudokuSelector

      +
      public SudokuSelector(boolean canGenEmptyGrid, + String confirmMessage)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      renderFileDialog

      +
      public void renderFileDialog()
      +
      +
    • +
    • +
      +

      render

      +
      public void render()
      +
      +
    • +
    • +
      +

      clean

      +
      public void clean()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/widget/TimerRenderer.html b/javadoc/gui/widget/TimerRenderer.html new file mode 100644 index 0000000..5c1209a --- /dev/null +++ b/javadoc/gui/widget/TimerRenderer.html @@ -0,0 +1,174 @@ + + + + +TimerRenderer + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package gui.widget
+

Class TimerRenderer

+
+
java.lang.Object +
gui.widget.TimerRenderer
+
+
+
+
public class TimerRenderer +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TimerRenderer

      +
      public TimerRenderer(Instant startTime, + long duration)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      render

      +
      public void render()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/gui/widget/package-summary.html b/javadoc/gui/widget/package-summary.html new file mode 100644 index 0000000..6e3add7 --- /dev/null +++ b/javadoc/gui/widget/package-summary.html @@ -0,0 +1,118 @@ + + + + +gui.widget + + + + + + + + + + + + + + +
+ +
+
+
+

Package gui.widget

+
+
+
package gui.widget
+
+ +
+
+
+
+ + diff --git a/javadoc/gui/widget/package-tree.html b/javadoc/gui/widget/package-tree.html new file mode 100644 index 0000000..a074876 --- /dev/null +++ b/javadoc/gui/widget/package-tree.html @@ -0,0 +1,77 @@ + + + + +gui.widget Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package gui.widget

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/javadoc/help-doc.html b/javadoc/help-doc.html new file mode 100644 index 0000000..5acc48f --- /dev/null +++ b/javadoc/help-doc.html @@ -0,0 +1,193 @@ + + + + +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. +
+

Overview

+

The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+
+
+

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/javadoc/index-files/index-1.html b/javadoc/index-files/index-1.html new file mode 100644 index 0000000..ef53a36 --- /dev/null +++ b/javadoc/index-files/index-1.html @@ -0,0 +1,128 @@ + + + + +A-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

A

+
+
accept(PacketVisitor) - Method in class network.protocol.Packet
+
 
+
accept(PacketVisitor) - Method in class network.protocol.packets.ChangeCellPacket
+
 
+
accept(PacketVisitor) - Method in class network.protocol.packets.ConnexionInfoPacket
+
 
+
accept(PacketVisitor) - Method in class network.protocol.packets.DisconnectPacket
+
 
+
accept(PacketVisitor) - Method in class network.protocol.packets.EndGamePacket
+
 
+
accept(PacketVisitor) - Method in class network.protocol.packets.KeepAlivePacket
+
 
+
accept(PacketVisitor) - Method in class network.protocol.packets.LoginPacket
+
 
+
accept(PacketVisitor) - Method in class network.protocol.packets.PlayerJoinPacket
+
 
+
accept(PacketVisitor) - Method in class network.protocol.packets.PlayerLeavePacket
+
 
+
accept(PacketVisitor) - Method in class network.protocol.packets.StartGamePacket
+
 
+
accept(PacketVisitor) - Method in class network.protocol.packets.UpdatePlayerScorePacket
+
 
+
add(Coordinate) - Method in class sudoku.structure.Coordinate
+
+
Ajoute la Coordiante donnée à celle-ci.
+
+
addCell(Cell) - Method in class sudoku.structure.Block
+
+
Ajoute une Cell au Block
+
+
addPlayer(Player) - Method in class game.Game
+
 
+
addPlayer(Player) - Method in class network.client.Client
+
 
+
addPlayer(String) - Method in class network.server.Server
+
 
+
addStep(Cell, List<SolverStep>) - Method in interface sudoku.solver.Solver
+
+
Méthode utilisée en interne afin de rajouter une étape si l'utilisateur le + souhaite (steps non null)
+
+
AnimatedBackground - Class in gui.widget
+
 
+
AnimatedBackground() - Constructor for class gui.widget.AnimatedBackground
+
 
+
ANSI_BLUE - Static variable in class sudoku.io.SudokuPrinter
+
 
+
ANSI_CYAN - Static variable in class sudoku.io.SudokuPrinter
+
 
+
ANSI_GREEN - Static variable in class sudoku.io.SudokuPrinter
+
 
+
ANSI_PURPLE - Static variable in class sudoku.io.SudokuPrinter
+
 
+
ANSI_RED - Static variable in class sudoku.io.SudokuPrinter
+
 
+
ANSI_RESET - Static variable in class sudoku.io.SudokuPrinter
+
 
+
ANSI_YELLOW - Static variable in class sudoku.io.SudokuPrinter
+
 
+
ARIAL - Static variable in class gui.constants.Fonts
+
 
+
ARIAL_BOLD - Static variable in class gui.constants.Fonts
+
 
+
AssetManager - Class in gui
+
 
+
AssetManager() - Constructor for class gui.AssetManager
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-10.html b/javadoc/index-files/index-10.html new file mode 100644 index 0000000..6470e10 --- /dev/null +++ b/javadoc/index-files/index-10.html @@ -0,0 +1,71 @@ + + + + +K-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

K

+
+
KeepAlive - Enum constant in enum class network.protocol.Packets
+
 
+
KeepAliveHandler - Class in network.server
+
 
+
KeepAliveHandler(ServerConnexion) - Constructor for class network.server.KeepAliveHandler
+
 
+
KeepAlivePacket - Class in network.protocol.packets
+
 
+
KeepAlivePacket(long) - Constructor for class network.protocol.packets.KeepAlivePacket
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-11.html b/javadoc/index-files/index-11.html new file mode 100644 index 0000000..c9e46cb --- /dev/null +++ b/javadoc/index-files/index-11.html @@ -0,0 +1,87 @@ + + + + +L-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

L

+
+
LeaderboardRenderer - Class in gui.widget
+
 
+
LeaderboardRenderer(Game, Player) - Constructor for class gui.widget.LeaderboardRenderer
+
 
+
Letters - Enum constant in enum class gui.constants.Symbols
+
 
+
Line - Enum constant in enum class sudoku.constraint.Constraint
+
 
+
LineConstraint - Class in sudoku.constraint
+
+
Contrainte de ligne
+
+
LineConstraint() - Constructor for class sudoku.constraint.LineConstraint
+
 
+
logger - Static variable in interface sudoku.solver.Solver
+
+
Log du Solver, qui garde trace des actions réalisées.
+
+
login(String) - Method in class network.client.Client
+
 
+
Login - Enum constant in enum class network.protocol.Packets
+
 
+
LoginPacket - Class in network.protocol.packets
+
 
+
LoginPacket(String) - Constructor for class network.protocol.packets.LoginPacket
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-12.html b/javadoc/index-files/index-12.html new file mode 100644 index 0000000..4720e80 --- /dev/null +++ b/javadoc/index-files/index-12.html @@ -0,0 +1,114 @@ + + + + +M-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

M

+
+
main(String[]) - Static method in class gui.Main
+
 
+
main(String[]) - Static method in class sudoku.Main
+
 
+
Main - Class in gui
+
 
+
Main - Class in sudoku
+
 
+
Main() - Constructor for class gui.Main
+
 
+
Main() - Constructor for class sudoku.Main
+
 
+
MainMenu - Class in gui.menu
+
 
+
MainMenu(StateMachine) - Constructor for class gui.menu.MainMenu
+
 
+
Medium - Enum constant in enum class sudoku.structure.Difficulty
+
 
+
MixedSolver - Class in sudoku.solver
+
 
+
MixedSolver() - Constructor for class sudoku.solver.MixedSolver
+
 
+
MultiDoku - Class in sudoku.structure
+
+
Class : MultiDoku + Brief : Représente une grille de Multidoku.
+
+
MultiDoku(List<Sudoku>) - Constructor for class sudoku.structure.MultiDoku
+
 
+
MultidokuPlusRectangle - Enum constant in enum class gui.constants.SudokuType
+
 
+
MultiDokuPlusSquare - Enum constant in enum class gui.constants.SudokuType
+
 
+
MultidokuXRectangle - Enum constant in enum class gui.constants.SudokuType
+
 
+
MultiDokuXSquare - Enum constant in enum class gui.constants.SudokuType
+
 
+
MultiMenu - Class in gui.menu
+
 
+
MultiMenu(StateMachine) - Constructor for class gui.menu.MultiMenu
+
 
+
MultiPlayerCompleteProgress - Class in gui.widget
+
 
+
MultiPlayerCompleteProgress(Game) - Constructor for class gui.widget.MultiPlayerCompleteProgress
+
 
+
MultiPlayerDokuView - Class in gui.menu
+
 
+
MultiPlayerDokuView(StateMachine, Client, Server) - Constructor for class gui.menu.MultiPlayerDokuView
+
 
+
MultiPlayerView - Class in gui.menu
+
 
+
MultiPlayerView(StateMachine, Client, Server) - Constructor for class gui.menu.MultiPlayerView
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-13.html b/javadoc/index-files/index-13.html new file mode 100644 index 0000000..d097b81 --- /dev/null +++ b/javadoc/index-files/index-13.html @@ -0,0 +1,88 @@ + + + + +N-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

N

+
+
network - package network
+
 
+
network.client - package network.client
+
 
+
network.protocol - package network.protocol
+
 
+
network.protocol.packets - package network.protocol.packets
+
 
+
network.server - package network.server
+
 
+
newDokuFromFilledOne(MultiDoku, int, Solver) - Static method in class sudoku.structure.SudokuFactory
+
+
Créée un MultiDoku de difficulté difficulty à partir d'un MultiDoku fourni.
+
+
newValue() - Method in record class sudoku.solver.HintHelper.Hint
+
+
Returns the value of the newValue record component.
+
+
NOSYMBOL - Static variable in class sudoku.structure.Cell
+
+
Constante de valeur d'index de symbole quand il n'y en a pas, + soit que la Cell est vide.
+
+
nukeConnection() - Method in class network.server.ServerConnexion
+
 
+
Numbers - Enum constant in enum class gui.constants.Symbols
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-14.html b/javadoc/index-files/index-14.html new file mode 100644 index 0000000..bb6b729 --- /dev/null +++ b/javadoc/index-files/index-14.html @@ -0,0 +1,99 @@ + + + + +O-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

O

+
+
onCellChange - Variable in class gui.widget.SudokuRenderer
+
 
+
onClosed - Variable in class network.client.Client
+
 
+
onConnect - Variable in class network.client.Client
+
 
+
onConnect() - Method in class gui.menu.ConnexionStatusView
+
 
+
onDisconnect - Variable in class network.client.Client
+
 
+
onDisconnect() - Method in class gui.menu.ConnexionStatusView
+
 
+
onDisconnect() - Method in class gui.menu.MultiPlayerDokuView
+
 
+
onDisconnect() - Method in class gui.menu.MultiPlayerView
+
 
+
onGameEnd - Variable in class network.client.Client
+
 
+
onGameStarted - Variable in class network.client.Client
+
 
+
onLeave() - Method in class gui.menu.ConnexionStatusView
+
 
+
onResolve - Variable in class gui.widget.SudokuRenderer
+
 
+
onSelect - Variable in class gui.widget.SudokuSelector
+
 
+
Options - Class in gui.constants
+
 
+
Options() - Constructor for class gui.constants.Options
+
 
+
OptionsMenu - Class in gui.menu
+
 
+
OptionsMenu(StateMachine) - Constructor for class gui.menu.OptionsMenu
+
 
+
overrideState(BaseView) - Method in class gui.menu.StateMachine
+
 
+
overwriteTest(int) - Static method in class sudoku.Main
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-15.html b/javadoc/index-files/index-15.html new file mode 100644 index 0000000..145375f --- /dev/null +++ b/javadoc/index-files/index-15.html @@ -0,0 +1,115 @@ + + + + +P-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

P

+
+
Packet - Class in network.protocol
+
 
+
Packet() - Constructor for class network.protocol.Packet
+
 
+
Packets - Enum Class in network.protocol
+
 
+
PacketVisitor - Interface in network.protocol
+
 
+
Player - Class in game
+
 
+
Player(int, String) - Constructor for class game.Player
+
 
+
PlayerJoin - Enum constant in enum class network.protocol.Packets
+
 
+
PlayerJoinPacket - Class in network.protocol.packets
+
 
+
PlayerJoinPacket(Player) - Constructor for class network.protocol.packets.PlayerJoinPacket
+
 
+
PlayerLeave - Enum constant in enum class network.protocol.Packets
+
 
+
PlayerLeavePacket - Class in network.protocol.packets
+
 
+
PlayerLeavePacket(int) - Constructor for class network.protocol.packets.PlayerLeavePacket
+
 
+
popAndGetState() - Method in class sudoku.structure.StateManager
+
 
+
popState() - Method in class gui.menu.StateMachine
+
 
+
popState() - Method in class sudoku.structure.StateManager
+
 
+
preRun() - Method in class gui.Main
+
 
+
printMultiDoku(RenderableMultidoku, Symbols, int, int) - Static method in class sudoku.io.SudokuPrinter
+
 
+
printMultiDoku(RenderableMultidoku, List<String>, int, int) - Static method in class sudoku.io.SudokuPrinter
+
 
+
printMultiDoku(MultiDoku, int, int, Symbols) - Static method in class sudoku.io.SudokuPrinter
+
 
+
printMultiDokuWithIndex(RenderableMultidoku, List<String>, int, int) - Static method in class sudoku.io.SudokuPrinter
+
 
+
printMultiDokuWithIndex(MultiDoku, int, int, Symbols) - Static method in class sudoku.io.SudokuPrinter
+
 
+
printRectangleSudoku(Sudoku, int, int, Symbols) - Static method in class sudoku.io.SudokuPrinter
+
 
+
printRectangleSudoku(Sudoku, int, int, List<String>) - Static method in class sudoku.io.SudokuPrinter
+
 
+
printRectangleSudokuWithIndex(Sudoku, int, int, List<String>) - Static method in class sudoku.io.SudokuPrinter
+
 
+
process() - Method in class gui.Main
+
 
+
pushState() - Method in class sudoku.structure.StateManager
+
 
+
pushState(BaseView) - Method in class gui.menu.StateMachine
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-16.html b/javadoc/index-files/index-16.html new file mode 100644 index 0000000..fdf3244 --- /dev/null +++ b/javadoc/index-files/index-16.html @@ -0,0 +1,131 @@ + + + + +R-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

R

+
+
r - Variable in class gui.ColorGenerator.Color
+
 
+
RandomBloc - Enum constant in enum class gui.constants.SudokuType
+
 
+
RandomSolver - Class in sudoku.solver
+
 
+
RandomSolver() - Constructor for class sudoku.solver.RandomSolver
+
 
+
recievedKeepAlive(long) - Method in class network.server.KeepAliveHandler
+
 
+
Rectangle - Enum constant in enum class gui.constants.SudokuType
+
 
+
reloadImages() - Static method in class gui.constants.Images
+
 
+
removePlayer(int) - Method in class game.Game
+
 
+
render() - Method in class gui.menu.BaseView
+
 
+
render() - Method in class gui.menu.ConnexionStatusView
+
 
+
render() - Method in class gui.menu.EndGameView
+
 
+
render() - Method in class gui.menu.MainMenu
+
 
+
render() - Method in class gui.menu.MultiMenu
+
 
+
render() - Method in class gui.menu.MultiPlayerDokuView
+
 
+
render() - Method in class gui.menu.MultiPlayerView
+
 
+
render() - Method in class gui.menu.OptionsMenu
+
 
+
render() - Method in class gui.menu.SoloMenu
+
 
+
render() - Method in class gui.menu.StateMachine
+
 
+
render() - Method in class gui.menu.SudokuView
+
 
+
render() - Method in class gui.widget.AnimatedBackground
+
 
+
render() - Method in class gui.widget.LeaderboardRenderer
+
 
+
render() - Method in class gui.widget.MultiPlayerCompleteProgress
+
 
+
render() - Method in class gui.widget.SudokuRenderer
+
 
+
render() - Method in class gui.widget.SudokuSelector
+
 
+
render() - Method in class gui.widget.TimerRenderer
+
 
+
render(float) - Method in class gui.widget.SmoothProgressBar
+
 
+
render(String, ImVec2, float) - Method in class gui.widget.SmoothProgressBar
+
 
+
RenderableMultidoku - Class in gui
+
 
+
renderFileDialog() - Method in class gui.widget.SudokuSelector
+
 
+
renderGameStatus() - Method in class gui.menu.MultiPlayerView
+
 
+
renderReturnButton() - Method in class gui.menu.BaseView
+
 
+
run() - Method in class network.ConnexionThread
+
 
+
run() - Method in class network.server.ServerAcceptThread
+
 
+
run() - Method in class network.server.ServerLogicThread
+
 
+
Russian - Enum constant in enum class gui.constants.Symbols
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-17.html b/javadoc/index-files/index-17.html new file mode 100644 index 0000000..59f422a --- /dev/null +++ b/javadoc/index-files/index-17.html @@ -0,0 +1,266 @@ + + + + +S-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

S

+
+
saveMultiDoku(MultiDoku) - Static method in class sudoku.io.SudokuSerializer
+
+
Save a serialized MultiDoku in a JSON file.
+
+
saveMultiDoku(MultiDoku, int) - Static method in class sudoku.io.SudokuSerializer
+
 
+
sendCellChange(Cell) - Method in class network.client.Client
+
 
+
sendPacket(Packet) - Method in class network.Connexion
+
 
+
serializeSudoku(MultiDoku) - Static method in class sudoku.io.SudokuSerializer
+
+
Convertit un sudoku en object JSON
+
+
Server - Class in network.server
+
 
+
Server(short) - Constructor for class network.server.Server
+
 
+
ServerAcceptThread - Class in network.server
+
 
+
ServerAcceptThread(Server) - Constructor for class network.server.ServerAcceptThread
+
 
+
ServerConnexion - Class in network.server
+
 
+
ServerConnexion(Socket, Server) - Constructor for class network.server.ServerConnexion
+
 
+
ServerLogicThread - Class in network.server
+
 
+
ServerLogicThread(Server) - Constructor for class network.server.ServerLogicThread
+
 
+
setBlock(Block) - Method in class sudoku.structure.Cell
+
 
+
setBlockWidth(int) - Method in class sudoku.structure.Sudoku
+
 
+
setCellsSymbol(List<Integer>) - Method in class sudoku.structure.Sudoku
+
+
Place les symboles d'index contenus dans values dans les cases du Sudoku.
+
+
setCellSymbol(int, int, int) - Method in class sudoku.structure.Sudoku
+
+
Place le symbole d'index value dans la Cell de coordonnées précisées.
+
+
setFilledCellsImmutable() - Method in class sudoku.structure.MultiDoku
+
+
Change les Cells de ce MultiDoku avec des symboles, en Cells immuables.
+
+
setImmutable() - Method in class sudoku.structure.Cell
+
+
Rend la Cell immuable.
+
+
setImmutableCellsSymbol(List<Integer>) - Method in class sudoku.structure.Sudoku
+
+
Place les symboles d'index contenus dans values dans les cases du Sudoku et + rend ces cases immuables.
+
+
setPlayerRemainingCells(Player, int) - Method in class game.Game
+
 
+
setSudoku(MultiDoku) - Method in class network.server.ServerConnexion
+
 
+
setSymbolIndex(int) - Method in class sudoku.structure.Cell
+
 
+
setX(int) - Method in class sudoku.structure.Coordinate
+
 
+
setY(int) - Method in class sudoku.structure.Coordinate
+
 
+
Signal - Class in common
+
 
+
Signal() - Constructor for class common.Signal
+
 
+
SmoothProgressBar - Class in gui.widget
+
 
+
SmoothProgressBar() - Constructor for class gui.widget.SmoothProgressBar
+
 
+
SoloMenu - Class in gui.menu
+
 
+
SoloMenu(StateMachine) - Constructor for class gui.menu.SoloMenu
+
 
+
solve(MultiDoku) - Method in interface sudoku.solver.Solver
+
 
+
solve(MultiDoku, List<SolverStep>) - Method in class sudoku.solver.BacktrackingSolver
+
+
Résout le MultiDoku passé en paramètre, avec backtracking.
+
+
solve(MultiDoku, List<SolverStep>) - Method in class sudoku.solver.HumanSolver
+
+
Résout le MultiDoku passé en paramètre, avec règles de déduction.
+
+
solve(MultiDoku, List<SolverStep>) - Method in class sudoku.solver.MixedSolver
+
+
Résout le MultiDoku passé en paramètre, avec règles de déduction et + backtracking.
+
+
solve(MultiDoku, List<SolverStep>) - Method in class sudoku.solver.RandomSolver
+
+
Résout, si possible, le multidoku passé en paramètre + en testant toutes les possibilités, de manière aléatoire, avec un algorithme + de backtracking.
+
+
solve(MultiDoku, List<SolverStep>) - Method in interface sudoku.solver.Solver
+
 
+
solve(MultiDoku, List<SolverStep>) - Method in class sudoku.solver.StupidSolver
+
 
+
Solver - Interface in sudoku.solver
+
 
+
SolverStep - Class in sudoku.solver
+
 
+
SolverStep(Cell) - Constructor for class sudoku.solver.SolverStep
+
 
+
Square - Enum constant in enum class gui.constants.SudokuType
+
 
+
startGame(MultiDoku, long) - Method in class network.server.Server
+
 
+
startGame(MultiDoku, Instant, long) - Method in class game.Game
+
 
+
StartGame - Enum constant in enum class network.protocol.Packets
+
 
+
StartGamePacket - Class in network.protocol.packets
+
 
+
StartGamePacket(String, Instant, long) - Constructor for class network.protocol.packets.StartGamePacket
+
 
+
stateMachine - Variable in class gui.menu.BaseView
+
 
+
StateMachine - Class in gui.menu
+
 
+
StateMachine() - Constructor for class gui.menu.StateMachine
+
 
+
StateManager - Class in sudoku.structure
+
+
Une pile, qui réprésente les états d'un MultiDoku, + utile pour les Solvers.
+
+
StateManager(MultiDoku) - Constructor for class sudoku.structure.StateManager
+
 
+
stop() - Method in class network.client.Client
+
 
+
stop() - Method in class network.server.Server
+
 
+
stopGame() - Method in class game.Game
+
 
+
stopGame() - Method in class network.server.Server
+
 
+
StupidSolver - Class in sudoku.solver
+
+
Class de test non utilisé
+
+
StupidSolver() - Constructor for class sudoku.solver.StupidSolver
+
 
+
sub(Coordinate) - Method in class sudoku.structure.Coordinate
+
+
Soustrait la Coordiante donnée à celle-ci.
+
+
sudoku - package sudoku
+
 
+
Sudoku - Class in sudoku.structure
+
+
Class : Sudoku + Brief : Représent un Sudoku
+
+
Sudoku(List<Cell>, List<Block>, List<IConstraint>) - Constructor for class sudoku.structure.Sudoku
+
 
+
sudoku.constraint - package sudoku.constraint
+
 
+
sudoku.io - package sudoku.io
+
 
+
sudoku.solver - package sudoku.solver
+
 
+
sudoku.structure - package sudoku.structure
+
 
+
SudokuFactory - Class in sudoku.structure
+
 
+
SudokuFactory() - Constructor for class sudoku.structure.SudokuFactory
+
 
+
SudokuPrinter - Class in sudoku.io
+
 
+
SudokuPrinter() - Constructor for class sudoku.io.SudokuPrinter
+
 
+
SudokuRenderer - Class in gui.widget
+
 
+
SudokuRenderer(MultiDoku) - Constructor for class gui.widget.SudokuRenderer
+
 
+
SudokuSelector - Class in gui.widget
+
 
+
SudokuSelector(boolean, String) - Constructor for class gui.widget.SudokuSelector
+
 
+
SudokuSerializer - Class in sudoku.io
+
+
Classe permettant d'effectuer des opérations sur les sudokus afin de les + charger/sauvegarder
+
+
SudokuSerializer() - Constructor for class sudoku.io.SudokuSerializer
+
 
+
SudokuSerializerTest - Class in sudoku
+
 
+
SudokuSerializerTest() - Constructor for class sudoku.SudokuSerializerTest
+
 
+
SudokuType - Enum Class in gui.constants
+
 
+
SudokuView - Class in gui.menu
+
 
+
SudokuView(StateMachine, MultiDoku) - Constructor for class gui.menu.SudokuView
+
 
+
Symboles - Static variable in class gui.constants.Options
+
 
+
Symbols - Enum Class in gui.constants
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-18.html b/javadoc/index-files/index-18.html new file mode 100644 index 0000000..ea2ecce --- /dev/null +++ b/javadoc/index-files/index-18.html @@ -0,0 +1,89 @@ + + + + +T-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

T

+
+
TimerRenderer - Class in gui.widget
+
 
+
TimerRenderer(Instant, long) - Constructor for class gui.widget.TimerRenderer
+
 
+
toCoords(int) - Method in class sudoku.structure.Sudoku
+
+
Transforme un index de Cell en Coordinate.
+
+
toIndex(int, int) - Method in class sudoku.structure.Sudoku
+
+
Transforme des coordonées d'une Cell en index.
+
+
toString() - Method in record class sudoku.solver.HintHelper.Hint
+
+
Returns a string representation of this record class.
+
+
toString() - Method in class sudoku.structure.MultiDoku
+
 
+
toString() - Method in class sudoku.structure.Sudoku
+
 
+
toStringRectangleSudoku(Sudoku, int, int, Symbols) - Static method in class sudoku.io.SudokuPrinter
+
 
+
toStringRectangleSudoku(Sudoku, int, int, List<String>) - Static method in class sudoku.io.SudokuPrinter
+
 
+
trySetValue(int) - Method in class sudoku.structure.Cell
+
+
Essaye de placer la valeur et renvoie false si ce n'est pas possible.
+
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-19.html b/javadoc/index-files/index-19.html new file mode 100644 index 0000000..8384c10 --- /dev/null +++ b/javadoc/index-files/index-19.html @@ -0,0 +1,73 @@ + + + + +U-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

U

+
+
update() - Method in class network.server.KeepAliveHandler
+
 
+
update() - Method in class network.server.Server
+
 
+
update() - Method in class network.server.ServerConnexion
+
 
+
UpdatePlayerScore - Enum constant in enum class network.protocol.Packets
+
 
+
UpdatePlayerScorePacket - Class in network.protocol.packets
+
 
+
UpdatePlayerScorePacket(int, int) - Constructor for class network.protocol.packets.UpdatePlayerScorePacket
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-2.html b/javadoc/index-files/index-2.html new file mode 100644 index 0000000..0afe072 --- /dev/null +++ b/javadoc/index-files/index-2.html @@ -0,0 +1,101 @@ + + + + +B-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

B

+
+
b - Variable in class gui.ColorGenerator.Color
+
 
+
BACKGROUND - Static variable in class gui.constants.Images
+
 
+
BackgroundPath - Static variable in class gui.constants.Options
+
 
+
BackgroundSpeed - Static variable in class gui.constants.Options
+
 
+
BacktrackingSolver - Class in sudoku.solver
+
 
+
BacktrackingSolver() - Constructor for class sudoku.solver.BacktrackingSolver
+
 
+
BaseView - Class in gui.menu
+
 
+
BaseView(StateMachine) - Constructor for class gui.menu.BaseView
+
 
+
Block - Class in sudoku.structure
+
+
Class qui représente les Block de chaque Sudoku, + Un Block étant un ensemble de cellule avec une contrainte de block qui lui + ait associé.
+
+
Block - Enum constant in enum class sudoku.constraint.Constraint
+
 
+
Block() - Constructor for class sudoku.structure.Block
+
+
Crée un Block avec une liste de Cell vide.
+
+
Block(List<Cell>) - Constructor for class sudoku.structure.Block
+
+
Crée un Block avec une liste de Cell donnée.
+
+
BlockConstraint - Class in sudoku.constraint
+
+
Contrainte de bloc
+
+
BlockConstraint() - Constructor for class sudoku.constraint.BlockConstraint
+
 
+
broadcastPacket(Packet) - Method in class network.server.Server
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-20.html b/javadoc/index-files/index-20.html new file mode 100644 index 0000000..22edfb5 --- /dev/null +++ b/javadoc/index-files/index-20.html @@ -0,0 +1,183 @@ + + + + +V-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

V

+
+
valueOf(String) - Static method in enum class game.Game.GameState
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class gui.constants.SudokuType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class gui.constants.Symbols
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class network.protocol.Packets
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class sudoku.constraint.Constraint
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class sudoku.structure.Difficulty
+
+
Returns the enum constant of this class with the specified name.
+
+
values() - Static method in enum class game.Game.GameState
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class gui.constants.SudokuType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class gui.constants.Symbols
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class network.protocol.Packets
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class sudoku.constraint.Constraint
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class sudoku.structure.Difficulty
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
VeryEasy - Enum constant in enum class sudoku.structure.Difficulty
+
 
+
VeryHard - Enum constant in enum class sudoku.structure.Difficulty
+
 
+
visit(Packet) - Method in interface network.protocol.PacketVisitor
+
 
+
visitPacket(ChangeCellPacket) - Method in class network.client.ClientConnexion
+
 
+
visitPacket(ChangeCellPacket) - Method in interface network.protocol.PacketVisitor
+
 
+
visitPacket(ChangeCellPacket) - Method in class network.server.ServerConnexion
+
 
+
visitPacket(ConnexionInfoPacket) - Method in class network.client.ClientConnexion
+
 
+
visitPacket(ConnexionInfoPacket) - Method in interface network.protocol.PacketVisitor
+
 
+
visitPacket(ConnexionInfoPacket) - Method in class network.server.ServerConnexion
+
 
+
visitPacket(DisconnectPacket) - Method in class network.client.ClientConnexion
+
 
+
visitPacket(DisconnectPacket) - Method in interface network.protocol.PacketVisitor
+
 
+
visitPacket(DisconnectPacket) - Method in class network.server.ServerConnexion
+
 
+
visitPacket(EndGamePacket) - Method in class network.client.ClientConnexion
+
 
+
visitPacket(EndGamePacket) - Method in interface network.protocol.PacketVisitor
+
 
+
visitPacket(EndGamePacket) - Method in class network.server.ServerConnexion
+
 
+
visitPacket(KeepAlivePacket) - Method in class network.client.ClientConnexion
+
 
+
visitPacket(KeepAlivePacket) - Method in interface network.protocol.PacketVisitor
+
 
+
visitPacket(KeepAlivePacket) - Method in class network.server.ServerConnexion
+
 
+
visitPacket(LoginPacket) - Method in class network.client.ClientConnexion
+
 
+
visitPacket(LoginPacket) - Method in interface network.protocol.PacketVisitor
+
 
+
visitPacket(LoginPacket) - Method in class network.server.ServerConnexion
+
 
+
visitPacket(PlayerJoinPacket) - Method in class network.client.ClientConnexion
+
 
+
visitPacket(PlayerJoinPacket) - Method in interface network.protocol.PacketVisitor
+
 
+
visitPacket(PlayerJoinPacket) - Method in class network.server.ServerConnexion
+
 
+
visitPacket(PlayerLeavePacket) - Method in class network.client.ClientConnexion
+
 
+
visitPacket(PlayerLeavePacket) - Method in interface network.protocol.PacketVisitor
+
 
+
visitPacket(PlayerLeavePacket) - Method in class network.server.ServerConnexion
+
 
+
visitPacket(StartGamePacket) - Method in class network.client.ClientConnexion
+
 
+
visitPacket(StartGamePacket) - Method in interface network.protocol.PacketVisitor
+
 
+
visitPacket(StartGamePacket) - Method in class network.server.ServerConnexion
+
 
+
visitPacket(UpdatePlayerScorePacket) - Method in class network.client.ClientConnexion
+
 
+
visitPacket(UpdatePlayerScorePacket) - Method in interface network.protocol.PacketVisitor
+
 
+
visitPacket(UpdatePlayerScorePacket) - Method in class network.server.ServerConnexion
+
 
+
voidTest() - Static method in class sudoku.Main
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-21.html b/javadoc/index-files/index-21.html new file mode 100644 index 0000000..39c87cd --- /dev/null +++ b/javadoc/index-files/index-21.html @@ -0,0 +1,68 @@ + + + + +W-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

W

+
+
welcome() - Method in class sudoku.io.ConsoleInterface
+
+
Début de la séquence console, affiche un message de bienvenue et les crédits + du projet + puis donne à l'utilisateur le choix de récupérer un doku sauvegardé + ou d'en créer un nouveau.
+
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-3.html b/javadoc/index-files/index-3.html new file mode 100644 index 0000000..441f123 --- /dev/null +++ b/javadoc/index-files/index-3.html @@ -0,0 +1,286 @@ + + + + +C-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

C

+
+
canBePlaced(int, int, int) - Method in class sudoku.structure.Sudoku
+
+
Teste si on peut placer la value dans la Cell aux coordonnées x, y d'après + les contraintes du Sudoku.
+
+
canBePlaced(Sudoku, int, int, int) - Method in class sudoku.constraint.BlockConstraint
+
 
+
canBePlaced(Sudoku, int, int, int) - Method in class sudoku.constraint.ColumnConstraint
+
 
+
canBePlaced(Sudoku, int, int, int) - Method in class sudoku.constraint.DiagonalConstraint
+
 
+
canBePlaced(Sudoku, int, int, int) - Method in interface sudoku.constraint.IConstraint
+
 
+
canBePlaced(Sudoku, int, int, int) - Method in class sudoku.constraint.LineConstraint
+
 
+
cancel() - Method in class network.ConnexionThread
+
 
+
cancel() - Method in class network.server.ServerAcceptThread
+
 
+
cancel() - Method in class network.server.ServerLogicThread
+
 
+
canHaveValue(int) - Method in class sudoku.structure.Cell
+
+
Vérifie si la Cell peut prendre ce symbole par rapport aux contraintes de ses Sudokus.
+
+
cell() - Method in record class sudoku.solver.HintHelper.Hint
+
+
Returns the value of the cell record component.
+
+
Cell - Class in sudoku.structure
+
+
Représente une case d'un, ou plusieurs, sudoku qui à comme valeur un index de symbole.
+
+
Cell() - Constructor for class sudoku.structure.Cell
+
 
+
Cell(int) - Constructor for class sudoku.structure.Cell
+
 
+
Cell(int, boolean) - Constructor for class sudoku.structure.Cell
+
 
+
ChangeCell - Enum constant in enum class network.protocol.Packets
+
 
+
ChangeCellPacket - Class in network.protocol.packets
+
 
+
ChangeCellPacket(int, int, int) - Constructor for class network.protocol.packets.ChangeCellPacket
+
 
+
CHERI - Static variable in class gui.constants.Fonts
+
 
+
clean() - Method in class gui.widget.SudokuSelector
+
 
+
cleanResources() - Method in class gui.menu.BaseView
+
 
+
cleanResources() - Method in class gui.menu.ConnexionStatusView
+
 
+
cleanResources() - Method in class gui.menu.MultiPlayerView
+
 
+
cleanResources() - Method in class gui.menu.SoloMenu
+
 
+
clear() - Method in class common.ConsumerSignal
+
 
+
clear() - Method in class common.Signal
+
 
+
clear() - Method in class gui.menu.StateMachine
+
 
+
clearCurrentSymbol() - Method in class sudoku.structure.Cell
+
+
Vide la Cell.
+
+
clearMutableCells() - Method in class sudoku.structure.MultiDoku
+
+
Vide les Cells modifiable.
+
+
Client - Class in network.client
+
 
+
Client(String, String, short) - Constructor for class network.client.Client
+
 
+
ClientConnexion - Class in network.client
+
 
+
ClientConnexion(String, short, Client) - Constructor for class network.client.ClientConnexion
+
 
+
clone() - Method in class sudoku.structure.MultiDoku
+
 
+
close() - Method in class network.client.ClientConnexion
+
 
+
close() - Method in class network.Connexion
+
 
+
close() - Method in class network.server.ServerConnexion
+
 
+
closeMenu() - Method in class gui.menu.BaseView
+
 
+
closeMenu() - Method in class gui.menu.ConnexionStatusView
+
 
+
closeMenu() - Method in class gui.menu.MultiPlayerView
+
 
+
closeMenu() - Method in class gui.menu.SudokuView
+
 
+
closeMenu(int) - Method in class gui.menu.BaseView
+
 
+
Color(float, float, float) - Constructor for class gui.ColorGenerator.Color
+
 
+
ColorGenerator - Class in gui
+
 
+
ColorGenerator() - Constructor for class gui.ColorGenerator
+
 
+
ColorGenerator.Color - Class in gui
+
 
+
Column - Enum constant in enum class sudoku.constraint.Constraint
+
 
+
ColumnConstraint - Class in sudoku.constraint
+
+
Contrainte de colonne
+
+
ColumnConstraint() - Constructor for class sudoku.constraint.ColumnConstraint
+
 
+
COMIC - Static variable in class gui.constants.Fonts
+
 
+
common - package common
+
 
+
configure(Configuration) - Method in class gui.Main
+
 
+
connect(Runnable) - Method in class common.Signal
+
 
+
connect(Consumer<T>) - Method in class common.ConsumerSignal
+
 
+
ConnectionInfo - Enum constant in enum class network.protocol.Packets
+
 
+
Connexion - Class in network
+
 
+
Connexion(Socket) - Constructor for class network.Connexion
+
 
+
ConnexionInfoPacket - Class in network.protocol.packets
+
 
+
ConnexionInfoPacket(int) - Constructor for class network.protocol.packets.ConnexionInfoPacket
+
 
+
ConnexionStatusView - Class in gui.menu
+
 
+
ConnexionStatusView(StateMachine, String, short) - Constructor for class gui.menu.ConnexionStatusView
+
 
+
ConnexionStatusView(StateMachine, String, String, short) - Constructor for class gui.menu.ConnexionStatusView
+
 
+
ConnexionThread - Class in network
+
 
+
ConnexionThread(Connexion) - Constructor for class network.ConnexionThread
+
 
+
ConsoleInterface - Class in sudoku.io
+
 
+
ConsoleInterface() - Constructor for class sudoku.io.ConsoleInterface
+
 
+
Constraint - Enum Class in sudoku.constraint
+
+
Enumération utilisée afin de simplifier l'affichage en graphique.
+
+
ConsumerSignal<T> - Class in common
+
 
+
ConsumerSignal() - Constructor for class common.ConsumerSignal
+
 
+
containsSymbol(int) - Method in class sudoku.structure.Block
+
+
Cherche si le Block contient déjà un symbole donné.
+
+
Coordinate - Class in sudoku.structure
+
+
Représente les coordonnées d'une Cell.
+
+
Coordinate(int, int) - Constructor for class sudoku.structure.Coordinate
+
 
+
countSolution(MultiDoku) - Method in interface sudoku.solver.Solver
+
+
Compte le nombre de solutions possibles au MultiDoku passé en paramètres.
+
+
createBasicEmptyRandomBlockDoku(int, List<IConstraint>) - Static method in class sudoku.structure.SudokuFactory
+
+
Crée un Sudoku vide avec les Blocks aléatoires.
+
+
createBasicEmptyRectangleDoku(int, int, List<IConstraint>) - Static method in class sudoku.structure.SudokuFactory
+
+
Créée un MultiDoku vide dont les Blocks sont de taille widthBlock par + heightBlock.
+
+
createBasicEmptySquareDoku(int, List<IConstraint>) - Static method in class sudoku.structure.SudokuFactory
+
+
Créée un MultiDoku vide dont les Blocks sont carrés de longueur size.
+
+
createBasicPlusShapedMultidoku(int, int, List<IConstraint>) - Static method in class sudoku.structure.SudokuFactory
+
+
Créée un MultiDoku de Blocks rectangulaires de forme +, de taille width par height composé + de cinq Sudokus, + dont un central qui partage chacun de ses Blocks de bord avec un autre + Sudoku. + 3 + 2 1 4 + 5
+
+
createBasicPlusShapedMultidoku(int, List<IConstraint>) - Static method in class sudoku.structure.SudokuFactory
+
+
Créée un MultiDoku de Blocks carrés de forme +, de taille size composé + de cinq Sudokus, + dont un central qui partage chacun de ses Blocks de bord avec un autre + Sudoku. + 3 + 2 1 4 + 5
+
+
createBasicXShapedMultidoku(int, int, List<IConstraint>) - Static method in class sudoku.structure.SudokuFactory
+
+
Créée un MultiDoku de Blocks rectangulaires de forme X, de taille width par height composé + de cinq Sudokus, + dont un central qui partage chacun de ses Blocks d'angle avec un autre + Sudoku. + 2 3 + 1 + 4 5
+
+
createBasicXShapedMultidoku(int, List<IConstraint>) - Static method in class sudoku.structure.SudokuFactory
+
+
Créée un MultiDoku de Blocks carrés de taille size composé de cinq Sudokus, + dont un central qui partage chacun de ses Blockss d'angle avec un autre + Sudoku. + 2 3 + 1 + 4 5
+
+
createDoku(List<IConstraint>, int...) - Method in enum class gui.constants.SudokuType
+
 
+
createFonts() - Static method in class gui.constants.Fonts
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-4.html b/javadoc/index-files/index-4.html new file mode 100644 index 0000000..828334e --- /dev/null +++ b/javadoc/index-files/index-4.html @@ -0,0 +1,94 @@ + + + + +D-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

D

+
+
DEFAULT_CONSTRAINTS - Static variable in class sudoku.structure.SudokuFactory
+
+
Liste des contraintes par défaut d'un Multi- ou Sudoku.
+
+
deserializeSudoku(String) - Static method in class sudoku.io.SudokuSerializer
+
+
Construit un sudoku à partir d'un String en JSON
+
+
deserializeSudoku(JSONObject) - Static method in class sudoku.io.SudokuSerializer
+
+
Désérialise un sudoku d'un objet JSON
+
+
Diagonal - Enum constant in enum class sudoku.constraint.Constraint
+
 
+
DiagonalConstraint - Class in sudoku.constraint
+
+
Contrainte de diagonale
+
+
DiagonalConstraint() - Constructor for class sudoku.constraint.DiagonalConstraint
+
 
+
Difficulty - Enum Class in sudoku.structure
+
+
Les difficultés d'un Sudoku, + représente le nombre de cases à enlever, en proportion, à un Sudoku.
+
+
Disconnect - Enum constant in enum class network.protocol.Packets
+
 
+
DisconnectPacket - Class in network.protocol.packets
+
 
+
DisconnectPacket(String) - Constructor for class network.protocol.packets.DisconnectPacket
+
 
+
disposeWindow() - Method in class gui.Main
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-5.html b/javadoc/index-files/index-5.html new file mode 100644 index 0000000..b62a5e4 --- /dev/null +++ b/javadoc/index-files/index-5.html @@ -0,0 +1,91 @@ + + + + +E-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

E

+
+
Easy - Enum constant in enum class sudoku.structure.Difficulty
+
 
+
emit() - Method in class common.Signal
+
 
+
emit(T) - Method in class common.ConsumerSignal
+
 
+
Emojis - Enum constant in enum class gui.constants.Symbols
+
 
+
EMOJIS - Static variable in class gui.constants.Fonts
+
 
+
empty() - Method in class sudoku.structure.Cell
+
+
Vide la Cell, en renvoie l'ancien index du symbole qui était dedans.
+
+
EndGame - Enum constant in enum class network.protocol.Packets
+
 
+
EndGamePacket - Class in network.protocol.packets
+
 
+
EndGamePacket() - Constructor for class network.protocol.packets.EndGamePacket
+
 
+
EndGameView - Class in gui.menu
+
 
+
EndGameView(StateMachine, MultiDoku, Player) - Constructor for class gui.menu.EndGameView
+
 
+
equals(Object) - Method in record class sudoku.solver.HintHelper.Hint
+
+
Indicates whether some other object is "equal to" this one.
+
+
equals(Object) - Method in class sudoku.structure.MultiDoku
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-6.html b/javadoc/index-files/index-6.html new file mode 100644 index 0000000..4f65763 --- /dev/null +++ b/javadoc/index-files/index-6.html @@ -0,0 +1,83 @@ + + + + +F-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

F

+
+
fillDoku(MultiDoku, Difficulty) - Static method in class sudoku.structure.SudokuFactory
+
+
Rempli un MultiDoku donné par rapport à un difficulté.
+
+
filledTest() - Static method in class sudoku.Main
+
 
+
Fonts - Class in gui.constants
+
 
+
Fonts() - Constructor for class gui.constants.Fonts
+
 
+
forceDisconnect() - Method in class network.client.Client
+
 
+
fromConstraints(List<Constraint>) - Static method in class sudoku.structure.SudokuFactory
+
+
Transforme des Constraints en IConstraints correspondants.
+
+
fromfile(String) - Static method in class sudoku.structure.SudokuFactory
+
+
Génère un MultiDoku à partir d'un fichier de sauvegarde.
+
+
fromMultidoku(MultiDoku) - Static method in class gui.RenderableMultidoku
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-7.html b/javadoc/index-files/index-7.html new file mode 100644 index 0000000..3ce109e --- /dev/null +++ b/javadoc/index-files/index-7.html @@ -0,0 +1,267 @@ + + + + +G-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

G

+
+
g - Variable in class gui.ColorGenerator.Color
+
 
+
game - package game
+
 
+
Game - Class in game
+
 
+
Game() - Constructor for class game.Game
+
 
+
Game.GameState - Enum Class in game
+
 
+
GameGoing - Enum constant in enum class game.Game.GameState
+
 
+
GameNotStarted - Enum constant in enum class game.Game.GameState
+
 
+
getBlock() - Method in class sudoku.structure.Cell
+
+
Renvoie le Block qui la contient.
+
+
getBlocks() - Method in class gui.RenderableMultidoku
+
 
+
getBlocks() - Method in class sudoku.structure.Sudoku
+
 
+
getBlockWidth() - Method in class sudoku.structure.Sudoku
+
 
+
getCell() - Method in class sudoku.solver.SolverStep
+
 
+
getCell(int) - Method in class gui.RenderableMultidoku
+
 
+
getCell(int) - Method in class sudoku.structure.Sudoku
+
 
+
getCell(int, int) - Method in class gui.RenderableMultidoku
+
 
+
getCell(int, int) - Method in class sudoku.structure.Sudoku
+
+
Renvoie la Cell aux coordonées données.
+
+
getCellIndex() - Method in class network.protocol.packets.ChangeCellPacket
+
 
+
getCells() - Method in class sudoku.structure.Block
+
 
+
getCells() - Method in class sudoku.structure.MultiDoku
+
+
Renvoie la liste des Cells contenue dans ce MultiDoku, + soit les Cells contenues de chaques sous-Sudoku.
+
+
getCells() - Method in class sudoku.structure.Sudoku
+
 
+
getCellsLeft() - Method in class network.protocol.packets.UpdatePlayerScorePacket
+
 
+
getConnectionId() - Method in class network.protocol.packets.ConnexionInfoPacket
+
 
+
getConstraint() - Method in enum class sudoku.constraint.Constraint
+
 
+
getConstraints() - Method in class sudoku.structure.Sudoku
+
 
+
getDifficultyNames() - Static method in enum class sudoku.structure.Difficulty
+
 
+
getDisconnectReason() - Method in class network.client.Client
+
 
+
getDisplayName() - Method in enum class gui.constants.SudokuType
+
 
+
getDisplayName() - Method in enum class gui.constants.Symbols
+
 
+
getDisplayName() - Method in enum class sudoku.constraint.Constraint
+
 
+
getDisplayName() - Method in enum class sudoku.structure.Difficulty
+
 
+
getDoku() - Method in class game.Game
+
 
+
getDoku() - Method in class gui.RenderableMultidoku
+
 
+
getEmptyCells() - Method in class sudoku.structure.MultiDoku
+
+
Renvoie la liste des Cells vides du MultiDoku.
+
+
getFactor() - Method in enum class sudoku.structure.Difficulty
+
 
+
getFilledCells() - Method in class sudoku.structure.MultiDoku
+
+
Renvoie la liste des Cells préalablement remplies du MultiDoku.
+
+
getFirstEmptyCell() - Method in class sudoku.structure.MultiDoku
+
+
Renvoie la 1re Cell vide des sous-Sudoku.
+
+
getFirstEmptyCell() - Method in class sudoku.structure.Sudoku
+
+
Renvoie la 1re Cell vide du Sudoku.
+
+
getGame() - Method in class network.client.Client
+
 
+
getGame() - Method in class network.server.Server
+
 
+
getGameDuration() - Method in class game.Game
+
 
+
getGameDuration() - Method in class network.protocol.packets.StartGamePacket
+
 
+
getGameState() - Method in class game.Game
+
 
+
getGreeting() - Method in class sudoku.Main
+
 
+
getHeight() - Method in class gui.RenderableMultidoku
+
 
+
getHint(MultiDoku, Solver) - Static method in class sudoku.solver.HintHelper
+
+
Si possible, donne un indice sur la résolution du doku passé en paramètre, + selon la méthode de résolution rensaignée.
+
+
getId() - Method in class game.Player
+
 
+
getInstant() - Method in class network.protocol.packets.StartGamePacket
+
 
+
getKeepAliveId() - Method in class network.protocol.packets.KeepAlivePacket
+
 
+
getLeaderboard() - Method in class game.Game
+
 
+
getMakerParamCount() - Method in enum class gui.constants.SudokuType
+
 
+
getNbCells() - Method in class sudoku.structure.MultiDoku
+
+
Renvoie le nombre de Cell contenue dans le MultiDoku.
+
+
getNbSubGrids() - Method in class sudoku.structure.MultiDoku
+
+
Renvoie le nombre de sudoku contenu dans ce MultiDoku.
+
+
getNewValue() - Method in class network.protocol.packets.ChangeCellPacket
+
 
+
getNewValue() - Method in class sudoku.solver.SolverStep
+
 
+
getPlayer() - Method in class network.client.Client
+
 
+
getPlayer() - Method in class network.protocol.packets.PlayerJoinPacket
+
 
+
getPlayer() - Method in class network.protocol.packets.PlayerLeavePacket
+
 
+
getPlayerById(int) - Method in class game.Game
+
 
+
getPlayerId() - Method in class network.protocol.packets.UpdatePlayerScorePacket
+
 
+
getPlayers() - Method in class game.Game
+
 
+
getPossibleSymbols() - Method in class sudoku.structure.Cell
+
+
Renvoie les symboles que peut prendre cette Cell par rapport aux contraintes de ses Sudokus.
+
+
getPseudo() - Method in class game.Player
+
 
+
getPseudo() - Method in class network.protocol.packets.LoginPacket
+
 
+
getReason() - Method in class network.protocol.packets.DisconnectPacket
+
 
+
getRemainingCells() - Method in class game.Player
+
 
+
getResource(String) - Static method in class gui.AssetManager
+
 
+
getSavedMultiDoku(int) - Static method in class sudoku.io.SudokuSerializer
+
+
Get a MultiDoku from a pre-existing json save file.
+
+
getSerializedSudoku() - Method in class network.protocol.packets.StartGamePacket
+
 
+
getSize() - Method in class sudoku.structure.Sudoku
+
 
+
getStartTime() - Method in class game.Game
+
 
+
getStateManager() - Method in class sudoku.structure.MultiDoku
+
 
+
getSubGrid(int) - Method in class sudoku.structure.MultiDoku
+
+
Renvoie la ie sudoku contenue dans ce MultiDoku.
+
+
getSubGrids() - Method in class sudoku.structure.MultiDoku
+
+
Renvoie les sous-Sudoku
+
+
getSudokuIndex() - Method in class network.protocol.packets.ChangeCellPacket
+
 
+
getSudokus() - Method in class sudoku.structure.Block
+
 
+
getSymbolIndex() - Method in class sudoku.structure.Cell
+
 
+
getSymbols() - Method in enum class gui.constants.Symbols
+
 
+
getSymbolsNames() - Static method in enum class gui.constants.Symbols
+
 
+
getTypeNames() - Static method in enum class gui.constants.SudokuType
+
 
+
getWidth() - Method in class gui.RenderableMultidoku
+
 
+
getX() - Method in class sudoku.structure.Coordinate
+
 
+
getY() - Method in class sudoku.structure.Coordinate
+
 
+
greatPalette(int) - Static method in class gui.ColorGenerator
+
 
+
greatScheme(int) - Static method in class gui.ColorGenerator
+
 
+
gui - package gui
+
 
+
gui.constants - package gui.constants
+
 
+
gui.menu - package gui.menu
+
 
+
gui.widget - package gui.widget
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-8.html b/javadoc/index-files/index-8.html new file mode 100644 index 0000000..bd0a4f9 --- /dev/null +++ b/javadoc/index-files/index-8.html @@ -0,0 +1,89 @@ + + + + +H-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

H

+
+
Hard - Enum constant in enum class sudoku.structure.Difficulty
+
 
+
hasConstraint(Constraint) - Method in class sudoku.structure.Sudoku
+
 
+
hashCode() - Method in record class sudoku.solver.HintHelper.Hint
+
+
Returns a hash code value for this object.
+
+
Hint(Cell, int) - Constructor for record class sudoku.solver.HintHelper.Hint
+
+
Creates an instance of a Hint record class.
+
+
HintHelper - Class in sudoku.solver
+
 
+
HintHelper() - Constructor for class sudoku.solver.HintHelper
+
 
+
HintHelper.Hint - Record Class in sudoku.solver
+
 
+
hslToRgb(float, float, float) - Static method in class gui.ColorGenerator
+
 
+
hueToRgb(float, float, float) - Static method in class gui.ColorGenerator
+
+
Helper method that converts hue to rgb
+
+
HumanSolver - Class in sudoku.solver
+
 
+
HumanSolver() - Constructor for class sudoku.solver.HumanSolver
+
 
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index-files/index-9.html b/javadoc/index-files/index-9.html new file mode 100644 index 0000000..2b43fae --- /dev/null +++ b/javadoc/index-files/index-9.html @@ -0,0 +1,102 @@ + + + + +I-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

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

I

+
+
IConstraint - Interface in sudoku.constraint
+
+
Interface de base pour la déclaration d'une contrainte + Elle est en théorie assez générique pour implémenter n'importe quelle + contrainte
+
+
Images - Class in gui.constants
+
 
+
Images() - Constructor for class gui.constants.Images
+
 
+
INFECTED - Static variable in class gui.constants.Fonts
+
 
+
initImGui(Configuration) - Method in class gui.Main
+
 
+
isClosed() - Method in class network.Connexion
+
 
+
isEmpty() - Method in class sudoku.structure.Cell
+
+
Renvoie si la Cell est vide ou non.
+
+
isMutable() - Method in class sudoku.structure.Cell
+
+
Renvoie si la Cell est modifiable
+
+
isSolved() - Method in class sudoku.structure.MultiDoku
+
+
Check si le MultiDoku est résolu, c'est à dire complet et cohérent avec ses contraintes.
+
+
isSolved() - Method in class sudoku.structure.Sudoku
+
+
Vérifie si le Sudoku est résolue, soit complet et cohérent avec ses + contraintes.
+
+
isValidCoords(int) - Method in class sudoku.structure.Sudoku
+
+
Vérifie que l'index correspond bien à une Cell dans le Sudoku.
+
+
isValidCoords(int, int) - Method in class sudoku.structure.Sudoku
+
+
Vérifie que des coordonnées correspondent bien à une Cell dans le Sudoku.
+
+
+A B C D E F G H I K L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/javadoc/index.html b/javadoc/index.html new file mode 100644 index 0000000..6b70d18 --- /dev/null +++ b/javadoc/index.html @@ -0,0 +1,93 @@ + + + + +Overview + + + + + + + + + + + + + + +
+ +
+
+
+
Packages
+
+
Package
+
Description
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+
+
+
+
+
+ + diff --git a/javadoc/legal/COPYRIGHT b/javadoc/legal/COPYRIGHT new file mode 100644 index 0000000..945e19c --- /dev/null +++ b/javadoc/legal/COPYRIGHT @@ -0,0 +1,69 @@ +Copyright © 1993, 2018, Oracle and/or its affiliates. +All rights reserved. + +This software and related documentation are provided under a +license agreement containing restrictions on use and +disclosure and are protected by intellectual property laws. +Except as expressly permitted in your license agreement or +allowed by law, you may not use, copy, reproduce, translate, +broadcast, modify, license, transmit, distribute, exhibit, +perform, publish, or display any part, in any form, or by +any means. Reverse engineering, disassembly, or +decompilation of this software, unless required by law for +interoperability, is prohibited. + +The information contained herein is subject to change +without notice and is not warranted to be error-free. If you +find any errors, please report them to us in writing. + +If this is software or related documentation that is +delivered to the U.S. Government or anyone licensing it on +behalf of the U.S. Government, the following notice is +applicable: + +U.S. GOVERNMENT END USERS: Oracle programs, including any +operating system, integrated software, any programs +installed on the hardware, and/or documentation, delivered +to U.S. Government end users are "commercial computer +software" pursuant to the applicable Federal Acquisition +Regulation and agency-specific supplemental regulations. As +such, use, duplication, disclosure, modification, and +adaptation of the programs, including any operating system, +integrated software, any programs installed on the hardware, +and/or documentation, shall be subject to license terms and +license restrictions applicable to the programs. No other +rights are granted to the U.S. Government. + +This software or hardware is developed for general use in a +variety of information management applications. It is not +developed or intended for use in any inherently dangerous +applications, including applications that may create a risk +of personal injury. If you use this software or hardware in +dangerous applications, then you shall be responsible to +take all appropriate fail-safe, backup, redundancy, and +other measures to ensure its safe use. Oracle Corporation +and its affiliates disclaim any liability for any damages +caused by use of this software or hardware in dangerous +applications. + +Oracle and Java are registered trademarks of Oracle and/or +its affiliates. Other names may be trademarks of their +respective owners. + +Intel and Intel Xeon are trademarks or registered trademarks +of Intel Corporation. All SPARC trademarks are used under +license and are trademarks or registered trademarks of SPARC +International, Inc. AMD, Opteron, the AMD logo, and the AMD +Opteron logo are trademarks or registered trademarks of +Advanced Micro Devices. UNIX is a registered trademark of +The Open Group. + +This software or hardware and documentation may provide +access to or information on content, products, and services +from third parties. Oracle Corporation and its affiliates +are not responsible for and expressly disclaim all +warranties of any kind with respect to third-party content, +products, and services. Oracle Corporation and its +affiliates will not be responsible for any loss, costs, or +damages incurred due to your access to or use of third-party +content, products, or services. diff --git a/javadoc/legal/LICENSE b/javadoc/legal/LICENSE new file mode 100644 index 0000000..ee860d3 --- /dev/null +++ b/javadoc/legal/LICENSE @@ -0,0 +1,118 @@ +Your use of this Program is governed by the No-Fee Terms and Conditions set +forth below, unless you have received this Program (alone or as part of another +Oracle product) under an Oracle license agreement (including but not limited to +the Oracle Master Agreement), in which case your use of this Program is governed +solely by such license agreement with Oracle. + +Oracle No-Fee Terms and Conditions (NFTC) + +Definitions + +"Oracle" refers to Oracle America, Inc. "You" and "Your" refers to (a) a company +or organization (each an "Entity") accessing the Programs, if use of the +Programs will be on behalf of such Entity; or (b) an individual accessing the +Programs, if use of the Programs will not be on behalf of an Entity. +"Program(s)" refers to Oracle software provided by Oracle pursuant to the +following terms and any updates, error corrections, and/or Program Documentation +provided by Oracle. "Program Documentation" refers to Program user manuals and +Program installation manuals, if any. If available, Program Documentation may be +delivered with the Programs and/or may be accessed from +www.oracle.com/documentation. "Separate Terms" refers to separate license terms +that are specified in the Program Documentation, readmes or notice files and +that apply to Separately Licensed Technology. "Separately Licensed Technology" +refers to Oracle or third party technology that is licensed under Separate Terms +and not under the terms of this license. + +Separately Licensed Technology + +Oracle may provide certain notices to You in Program Documentation, readmes or +notice files in connection with Oracle or third party technology provided as or +with the Programs. If specified in the Program Documentation, readmes or notice +files, such technology will be licensed to You under Separate Terms. Your rights +to use Separately Licensed Technology under Separate Terms are not restricted in +any way by the terms herein. For clarity, notwithstanding the existence of a +notice, third party technology that is not Separately Licensed Technology shall +be deemed part of the Programs licensed to You under the terms of this license. + +Source Code for Open Source Software + +For software that You receive from Oracle in binary form that is licensed under +an open source license that gives You the right to receive the source code for +that binary, You can obtain a copy of the applicable source code from +https://oss.oracle.com/sources/ or http://www.oracle.com/goto/opensourcecode. If +the source code for such software was not provided to You with the binary, You +can also receive a copy of the source code on physical media by submitting a +written request pursuant to the instructions in the "Written Offer for Source +Code" section of the latter website. + +------------------------------------------------------------------------------- + +The following license terms apply to those Programs that are not provided to You +under Separate Terms. + +License Rights and Restrictions + +Oracle grants to You, as a recipient of this Program, subject to the conditions +stated herein, a nonexclusive, nontransferable, limited license to: + +(a) internally use the unmodified Programs for the purposes of developing, +testing, prototyping and demonstrating your applications, and running the +Program for Your own personal use or internal business operations; and + +(b) redistribute the unmodified Program and Program Documentation, under the +terms of this License, provided that You do not charge Your licensees any fees +associated with such distribution or use of the Program, including, without +limitation, fees for products that include or are bundled with a copy of the +Program or for services that involve the use of the distributed Program. + +You may make copies of the Programs to the extent reasonably necessary for +exercising the license rights granted herein and for backup purposes. You are +granted the right to use the Programs to provide third party training in the use +of the Programs and associated Separately Licensed Technology only if there is +express authorization of such use by Oracle on the Program's download page or in +the Program Documentation. + +Your license is contingent on compliance with the following conditions: + +- You do not remove markings or notices of either Oracle's or a licensor's + proprietary rights from the Programs or Program Documentation; + +- You comply with all U.S. and applicable export control and economic sanctions + laws and regulations that govern Your use of the Programs (including technical + data); + +- You do not cause or permit reverse engineering, disassembly or decompilation + of the Programs (except as allowed by law) by You nor allow an associated + party to do so. + +For clarity, any source code that may be included in the distribution with the +Programs is provided solely for reference purposes and may not be modified, +unless such source code is under Separate Terms permitting modification. + +Ownership + +Oracle or its licensors retain all ownership and intellectual property rights to +the Programs. + +Information Collection + +The Programs' installation and/or auto-update processes, if any, may transmit a +limited amount of data to Oracle or its service provider about those processes +to help Oracle understand and optimize them. Oracle does not associate the data +with personally identifiable information. Refer to Oracle's Privacy Policy at +www.oracle.com/privacy. + +Disclaimer of Warranties; Limitation of Liability + +THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ORACLE FURTHER +DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION, ANY +IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +NONINFRINGEMENT. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL ORACLE 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. diff --git a/javadoc/legal/jquery.md b/javadoc/legal/jquery.md new file mode 100644 index 0000000..d468b31 --- /dev/null +++ b/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/javadoc/legal/jqueryUI.md b/javadoc/legal/jqueryUI.md new file mode 100644 index 0000000..8bda9d7 --- /dev/null +++ b/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/javadoc/link.svg b/javadoc/link.svg new file mode 100644 index 0000000..dadef51 --- /dev/null +++ b/javadoc/link.svg @@ -0,0 +1,31 @@ + + + + + + + + diff --git a/javadoc/member-search-index.js b/javadoc/member-search-index.js new file mode 100644 index 0000000..5274bc0 --- /dev/null +++ b/javadoc/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"network.protocol","c":"Packet","l":"accept(PacketVisitor)","u":"accept(network.protocol.PacketVisitor)"},{"p":"network.protocol.packets","c":"ChangeCellPacket","l":"accept(PacketVisitor)","u":"accept(network.protocol.PacketVisitor)"},{"p":"network.protocol.packets","c":"ConnexionInfoPacket","l":"accept(PacketVisitor)","u":"accept(network.protocol.PacketVisitor)"},{"p":"network.protocol.packets","c":"DisconnectPacket","l":"accept(PacketVisitor)","u":"accept(network.protocol.PacketVisitor)"},{"p":"network.protocol.packets","c":"EndGamePacket","l":"accept(PacketVisitor)","u":"accept(network.protocol.PacketVisitor)"},{"p":"network.protocol.packets","c":"KeepAlivePacket","l":"accept(PacketVisitor)","u":"accept(network.protocol.PacketVisitor)"},{"p":"network.protocol.packets","c":"LoginPacket","l":"accept(PacketVisitor)","u":"accept(network.protocol.PacketVisitor)"},{"p":"network.protocol.packets","c":"PlayerJoinPacket","l":"accept(PacketVisitor)","u":"accept(network.protocol.PacketVisitor)"},{"p":"network.protocol.packets","c":"PlayerLeavePacket","l":"accept(PacketVisitor)","u":"accept(network.protocol.PacketVisitor)"},{"p":"network.protocol.packets","c":"StartGamePacket","l":"accept(PacketVisitor)","u":"accept(network.protocol.PacketVisitor)"},{"p":"network.protocol.packets","c":"UpdatePlayerScorePacket","l":"accept(PacketVisitor)","u":"accept(network.protocol.PacketVisitor)"},{"p":"sudoku.structure","c":"Coordinate","l":"add(Coordinate)","u":"add(sudoku.structure.Coordinate)"},{"p":"sudoku.structure","c":"Block","l":"addCell(Cell)","u":"addCell(sudoku.structure.Cell)"},{"p":"game","c":"Game","l":"addPlayer(Player)","u":"addPlayer(game.Player)"},{"p":"network.client","c":"Client","l":"addPlayer(Player)","u":"addPlayer(game.Player)"},{"p":"network.server","c":"Server","l":"addPlayer(String)","u":"addPlayer(java.lang.String)"},{"p":"sudoku.solver","c":"Solver","l":"addStep(Cell, List)","u":"addStep(sudoku.structure.Cell,java.util.List)"},{"p":"gui.widget","c":"AnimatedBackground","l":"AnimatedBackground()","u":"%3Cinit%3E()"},{"p":"sudoku.io","c":"SudokuPrinter","l":"ANSI_BLUE"},{"p":"sudoku.io","c":"SudokuPrinter","l":"ANSI_CYAN"},{"p":"sudoku.io","c":"SudokuPrinter","l":"ANSI_GREEN"},{"p":"sudoku.io","c":"SudokuPrinter","l":"ANSI_PURPLE"},{"p":"sudoku.io","c":"SudokuPrinter","l":"ANSI_RED"},{"p":"sudoku.io","c":"SudokuPrinter","l":"ANSI_RESET"},{"p":"sudoku.io","c":"SudokuPrinter","l":"ANSI_YELLOW"},{"p":"gui.constants","c":"Fonts","l":"ARIAL"},{"p":"gui.constants","c":"Fonts","l":"ARIAL_BOLD"},{"p":"gui","c":"AssetManager","l":"AssetManager()","u":"%3Cinit%3E()"},{"p":"gui","c":"ColorGenerator.Color","l":"b"},{"p":"gui.constants","c":"Images","l":"BACKGROUND"},{"p":"gui.constants","c":"Options","l":"BackgroundPath"},{"p":"gui.constants","c":"Options","l":"BackgroundSpeed"},{"p":"sudoku.solver","c":"BacktrackingSolver","l":"BacktrackingSolver()","u":"%3Cinit%3E()"},{"p":"gui.menu","c":"BaseView","l":"BaseView(StateMachine)","u":"%3Cinit%3E(gui.menu.StateMachine)"},{"p":"sudoku.constraint","c":"Constraint","l":"Block"},{"p":"sudoku.structure","c":"Block","l":"Block()","u":"%3Cinit%3E()"},{"p":"sudoku.structure","c":"Block","l":"Block(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"sudoku.constraint","c":"BlockConstraint","l":"BlockConstraint()","u":"%3Cinit%3E()"},{"p":"network.server","c":"Server","l":"broadcastPacket(Packet)","u":"broadcastPacket(network.protocol.Packet)"},{"p":"sudoku.structure","c":"Sudoku","l":"canBePlaced(int, int, int)","u":"canBePlaced(int,int,int)"},{"p":"sudoku.constraint","c":"BlockConstraint","l":"canBePlaced(Sudoku, int, int, int)","u":"canBePlaced(sudoku.structure.Sudoku,int,int,int)"},{"p":"sudoku.constraint","c":"ColumnConstraint","l":"canBePlaced(Sudoku, int, int, int)","u":"canBePlaced(sudoku.structure.Sudoku,int,int,int)"},{"p":"sudoku.constraint","c":"DiagonalConstraint","l":"canBePlaced(Sudoku, int, int, int)","u":"canBePlaced(sudoku.structure.Sudoku,int,int,int)"},{"p":"sudoku.constraint","c":"IConstraint","l":"canBePlaced(Sudoku, int, int, int)","u":"canBePlaced(sudoku.structure.Sudoku,int,int,int)"},{"p":"sudoku.constraint","c":"LineConstraint","l":"canBePlaced(Sudoku, int, int, int)","u":"canBePlaced(sudoku.structure.Sudoku,int,int,int)"},{"p":"network","c":"ConnexionThread","l":"cancel()"},{"p":"network.server","c":"ServerAcceptThread","l":"cancel()"},{"p":"network.server","c":"ServerLogicThread","l":"cancel()"},{"p":"sudoku.structure","c":"Cell","l":"canHaveValue(int)"},{"p":"sudoku.solver","c":"HintHelper.Hint","l":"cell()"},{"p":"sudoku.structure","c":"Cell","l":"Cell()","u":"%3Cinit%3E()"},{"p":"sudoku.structure","c":"Cell","l":"Cell(int)","u":"%3Cinit%3E(int)"},{"p":"sudoku.structure","c":"Cell","l":"Cell(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"network.protocol","c":"Packets","l":"ChangeCell"},{"p":"network.protocol.packets","c":"ChangeCellPacket","l":"ChangeCellPacket(int, int, int)","u":"%3Cinit%3E(int,int,int)"},{"p":"gui.constants","c":"Fonts","l":"CHERI"},{"p":"gui.widget","c":"SudokuSelector","l":"clean()"},{"p":"gui.menu","c":"BaseView","l":"cleanResources()"},{"p":"gui.menu","c":"ConnexionStatusView","l":"cleanResources()"},{"p":"gui.menu","c":"MultiPlayerView","l":"cleanResources()"},{"p":"gui.menu","c":"SoloMenu","l":"cleanResources()"},{"p":"common","c":"ConsumerSignal","l":"clear()"},{"p":"common","c":"Signal","l":"clear()"},{"p":"gui.menu","c":"StateMachine","l":"clear()"},{"p":"sudoku.structure","c":"Cell","l":"clearCurrentSymbol()"},{"p":"sudoku.structure","c":"MultiDoku","l":"clearMutableCells()"},{"p":"network.client","c":"Client","l":"Client(String, String, short)","u":"%3Cinit%3E(java.lang.String,java.lang.String,short)"},{"p":"network.client","c":"ClientConnexion","l":"ClientConnexion(String, short, Client)","u":"%3Cinit%3E(java.lang.String,short,network.client.Client)"},{"p":"sudoku.structure","c":"MultiDoku","l":"clone()"},{"p":"network.client","c":"ClientConnexion","l":"close()"},{"p":"network","c":"Connexion","l":"close()"},{"p":"network.server","c":"ServerConnexion","l":"close()"},{"p":"gui.menu","c":"BaseView","l":"closeMenu()"},{"p":"gui.menu","c":"ConnexionStatusView","l":"closeMenu()"},{"p":"gui.menu","c":"MultiPlayerView","l":"closeMenu()"},{"p":"gui.menu","c":"SudokuView","l":"closeMenu()"},{"p":"gui.menu","c":"BaseView","l":"closeMenu(int)"},{"p":"gui","c":"ColorGenerator.Color","l":"Color(float, float, float)","u":"%3Cinit%3E(float,float,float)"},{"p":"gui","c":"ColorGenerator","l":"ColorGenerator()","u":"%3Cinit%3E()"},{"p":"sudoku.constraint","c":"Constraint","l":"Column"},{"p":"sudoku.constraint","c":"ColumnConstraint","l":"ColumnConstraint()","u":"%3Cinit%3E()"},{"p":"gui.constants","c":"Fonts","l":"COMIC"},{"p":"gui","c":"Main","l":"configure(Configuration)","u":"configure(imgui.app.Configuration)"},{"p":"common","c":"ConsumerSignal","l":"connect(Consumer)","u":"connect(java.util.function.Consumer)"},{"p":"common","c":"Signal","l":"connect(Runnable)","u":"connect(java.lang.Runnable)"},{"p":"network.protocol","c":"Packets","l":"ConnectionInfo"},{"p":"network","c":"Connexion","l":"Connexion(Socket)","u":"%3Cinit%3E(java.net.Socket)"},{"p":"network.protocol.packets","c":"ConnexionInfoPacket","l":"ConnexionInfoPacket(int)","u":"%3Cinit%3E(int)"},{"p":"gui.menu","c":"ConnexionStatusView","l":"ConnexionStatusView(StateMachine, String, short)","u":"%3Cinit%3E(gui.menu.StateMachine,java.lang.String,short)"},{"p":"gui.menu","c":"ConnexionStatusView","l":"ConnexionStatusView(StateMachine, String, String, short)","u":"%3Cinit%3E(gui.menu.StateMachine,java.lang.String,java.lang.String,short)"},{"p":"network","c":"ConnexionThread","l":"ConnexionThread(Connexion)","u":"%3Cinit%3E(network.Connexion)"},{"p":"sudoku.io","c":"ConsoleInterface","l":"ConsoleInterface()","u":"%3Cinit%3E()"},{"p":"common","c":"ConsumerSignal","l":"ConsumerSignal()","u":"%3Cinit%3E()"},{"p":"sudoku.structure","c":"Block","l":"containsSymbol(int)"},{"p":"sudoku.structure","c":"Coordinate","l":"Coordinate(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"sudoku.solver","c":"Solver","l":"countSolution(MultiDoku)","u":"countSolution(sudoku.structure.MultiDoku)"},{"p":"sudoku.structure","c":"SudokuFactory","l":"createBasicEmptyRandomBlockDoku(int, List)","u":"createBasicEmptyRandomBlockDoku(int,java.util.List)"},{"p":"sudoku.structure","c":"SudokuFactory","l":"createBasicEmptyRectangleDoku(int, int, List)","u":"createBasicEmptyRectangleDoku(int,int,java.util.List)"},{"p":"sudoku.structure","c":"SudokuFactory","l":"createBasicEmptySquareDoku(int, List)","u":"createBasicEmptySquareDoku(int,java.util.List)"},{"p":"sudoku.structure","c":"SudokuFactory","l":"createBasicPlusShapedMultidoku(int, int, List)","u":"createBasicPlusShapedMultidoku(int,int,java.util.List)"},{"p":"sudoku.structure","c":"SudokuFactory","l":"createBasicPlusShapedMultidoku(int, List)","u":"createBasicPlusShapedMultidoku(int,java.util.List)"},{"p":"sudoku.structure","c":"SudokuFactory","l":"createBasicXShapedMultidoku(int, int, List)","u":"createBasicXShapedMultidoku(int,int,java.util.List)"},{"p":"sudoku.structure","c":"SudokuFactory","l":"createBasicXShapedMultidoku(int, List)","u":"createBasicXShapedMultidoku(int,java.util.List)"},{"p":"gui.constants","c":"SudokuType","l":"createDoku(List, int...)","u":"createDoku(java.util.List,int...)"},{"p":"gui.constants","c":"Fonts","l":"createFonts()"},{"p":"sudoku.structure","c":"SudokuFactory","l":"DEFAULT_CONSTRAINTS"},{"p":"sudoku.io","c":"SudokuSerializer","l":"deserializeSudoku(JSONObject)","u":"deserializeSudoku(org.json.JSONObject)"},{"p":"sudoku.io","c":"SudokuSerializer","l":"deserializeSudoku(String)","u":"deserializeSudoku(java.lang.String)"},{"p":"sudoku.constraint","c":"Constraint","l":"Diagonal"},{"p":"sudoku.constraint","c":"DiagonalConstraint","l":"DiagonalConstraint()","u":"%3Cinit%3E()"},{"p":"network.protocol","c":"Packets","l":"Disconnect"},{"p":"network.protocol.packets","c":"DisconnectPacket","l":"DisconnectPacket(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"gui","c":"Main","l":"disposeWindow()"},{"p":"sudoku.structure","c":"Difficulty","l":"Easy"},{"p":"common","c":"Signal","l":"emit()"},{"p":"common","c":"ConsumerSignal","l":"emit(T)"},{"p":"gui.constants","c":"Symbols","l":"Emojis"},{"p":"gui.constants","c":"Fonts","l":"EMOJIS"},{"p":"sudoku.structure","c":"Cell","l":"empty()"},{"p":"network.protocol","c":"Packets","l":"EndGame"},{"p":"network.protocol.packets","c":"EndGamePacket","l":"EndGamePacket()","u":"%3Cinit%3E()"},{"p":"gui.menu","c":"EndGameView","l":"EndGameView(StateMachine, MultiDoku, Player)","u":"%3Cinit%3E(gui.menu.StateMachine,sudoku.structure.MultiDoku,game.Player)"},{"p":"sudoku.solver","c":"HintHelper.Hint","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"sudoku.structure","c":"MultiDoku","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"sudoku.structure","c":"SudokuFactory","l":"fillDoku(MultiDoku, Difficulty)","u":"fillDoku(sudoku.structure.MultiDoku,sudoku.structure.Difficulty)"},{"p":"sudoku","c":"Main","l":"filledTest()"},{"p":"gui.constants","c":"Fonts","l":"Fonts()","u":"%3Cinit%3E()"},{"p":"network.client","c":"Client","l":"forceDisconnect()"},{"p":"sudoku.structure","c":"SudokuFactory","l":"fromConstraints(List)","u":"fromConstraints(java.util.List)"},{"p":"sudoku.structure","c":"SudokuFactory","l":"fromfile(String)","u":"fromfile(java.lang.String)"},{"p":"gui","c":"RenderableMultidoku","l":"fromMultidoku(MultiDoku)","u":"fromMultidoku(sudoku.structure.MultiDoku)"},{"p":"gui","c":"ColorGenerator.Color","l":"g"},{"p":"game","c":"Game","l":"Game()","u":"%3Cinit%3E()"},{"p":"game","c":"Game.GameState","l":"GameGoing"},{"p":"game","c":"Game.GameState","l":"GameNotStarted"},{"p":"sudoku.structure","c":"Cell","l":"getBlock()"},{"p":"gui","c":"RenderableMultidoku","l":"getBlocks()"},{"p":"sudoku.structure","c":"Sudoku","l":"getBlocks()"},{"p":"sudoku.structure","c":"Sudoku","l":"getBlockWidth()"},{"p":"sudoku.solver","c":"SolverStep","l":"getCell()"},{"p":"gui","c":"RenderableMultidoku","l":"getCell(int)"},{"p":"sudoku.structure","c":"Sudoku","l":"getCell(int)"},{"p":"gui","c":"RenderableMultidoku","l":"getCell(int, int)","u":"getCell(int,int)"},{"p":"sudoku.structure","c":"Sudoku","l":"getCell(int, int)","u":"getCell(int,int)"},{"p":"network.protocol.packets","c":"ChangeCellPacket","l":"getCellIndex()"},{"p":"sudoku.structure","c":"Block","l":"getCells()"},{"p":"sudoku.structure","c":"MultiDoku","l":"getCells()"},{"p":"sudoku.structure","c":"Sudoku","l":"getCells()"},{"p":"network.protocol.packets","c":"UpdatePlayerScorePacket","l":"getCellsLeft()"},{"p":"network.protocol.packets","c":"ConnexionInfoPacket","l":"getConnectionId()"},{"p":"sudoku.constraint","c":"Constraint","l":"getConstraint()"},{"p":"sudoku.structure","c":"Sudoku","l":"getConstraints()"},{"p":"sudoku.structure","c":"Difficulty","l":"getDifficultyNames()"},{"p":"network.client","c":"Client","l":"getDisconnectReason()"},{"p":"gui.constants","c":"SudokuType","l":"getDisplayName()"},{"p":"gui.constants","c":"Symbols","l":"getDisplayName()"},{"p":"sudoku.constraint","c":"Constraint","l":"getDisplayName()"},{"p":"sudoku.structure","c":"Difficulty","l":"getDisplayName()"},{"p":"game","c":"Game","l":"getDoku()"},{"p":"gui","c":"RenderableMultidoku","l":"getDoku()"},{"p":"sudoku.structure","c":"MultiDoku","l":"getEmptyCells()"},{"p":"sudoku.structure","c":"Difficulty","l":"getFactor()"},{"p":"sudoku.structure","c":"MultiDoku","l":"getFilledCells()"},{"p":"sudoku.structure","c":"MultiDoku","l":"getFirstEmptyCell()"},{"p":"sudoku.structure","c":"Sudoku","l":"getFirstEmptyCell()"},{"p":"network.client","c":"Client","l":"getGame()"},{"p":"network.server","c":"Server","l":"getGame()"},{"p":"game","c":"Game","l":"getGameDuration()"},{"p":"network.protocol.packets","c":"StartGamePacket","l":"getGameDuration()"},{"p":"game","c":"Game","l":"getGameState()"},{"p":"sudoku","c":"Main","l":"getGreeting()"},{"p":"gui","c":"RenderableMultidoku","l":"getHeight()"},{"p":"sudoku.solver","c":"HintHelper","l":"getHint(MultiDoku, Solver)","u":"getHint(sudoku.structure.MultiDoku,sudoku.solver.Solver)"},{"p":"game","c":"Player","l":"getId()"},{"p":"network.protocol.packets","c":"StartGamePacket","l":"getInstant()"},{"p":"network.protocol.packets","c":"KeepAlivePacket","l":"getKeepAliveId()"},{"p":"game","c":"Game","l":"getLeaderboard()"},{"p":"gui.constants","c":"SudokuType","l":"getMakerParamCount()"},{"p":"sudoku.structure","c":"MultiDoku","l":"getNbCells()"},{"p":"sudoku.structure","c":"MultiDoku","l":"getNbSubGrids()"},{"p":"network.protocol.packets","c":"ChangeCellPacket","l":"getNewValue()"},{"p":"sudoku.solver","c":"SolverStep","l":"getNewValue()"},{"p":"network.client","c":"Client","l":"getPlayer()"},{"p":"network.protocol.packets","c":"PlayerJoinPacket","l":"getPlayer()"},{"p":"network.protocol.packets","c":"PlayerLeavePacket","l":"getPlayer()"},{"p":"game","c":"Game","l":"getPlayerById(int)"},{"p":"network.protocol.packets","c":"UpdatePlayerScorePacket","l":"getPlayerId()"},{"p":"game","c":"Game","l":"getPlayers()"},{"p":"sudoku.structure","c":"Cell","l":"getPossibleSymbols()"},{"p":"game","c":"Player","l":"getPseudo()"},{"p":"network.protocol.packets","c":"LoginPacket","l":"getPseudo()"},{"p":"network.protocol.packets","c":"DisconnectPacket","l":"getReason()"},{"p":"game","c":"Player","l":"getRemainingCells()"},{"p":"gui","c":"AssetManager","l":"getResource(String)","u":"getResource(java.lang.String)"},{"p":"sudoku.io","c":"SudokuSerializer","l":"getSavedMultiDoku(int)"},{"p":"network.protocol.packets","c":"StartGamePacket","l":"getSerializedSudoku()"},{"p":"sudoku.structure","c":"Sudoku","l":"getSize()"},{"p":"game","c":"Game","l":"getStartTime()"},{"p":"sudoku.structure","c":"MultiDoku","l":"getStateManager()"},{"p":"sudoku.structure","c":"MultiDoku","l":"getSubGrid(int)"},{"p":"sudoku.structure","c":"MultiDoku","l":"getSubGrids()"},{"p":"network.protocol.packets","c":"ChangeCellPacket","l":"getSudokuIndex()"},{"p":"sudoku.structure","c":"Block","l":"getSudokus()"},{"p":"sudoku.structure","c":"Cell","l":"getSymbolIndex()"},{"p":"gui.constants","c":"Symbols","l":"getSymbols()"},{"p":"gui.constants","c":"Symbols","l":"getSymbolsNames()"},{"p":"gui.constants","c":"SudokuType","l":"getTypeNames()"},{"p":"gui","c":"RenderableMultidoku","l":"getWidth()"},{"p":"sudoku.structure","c":"Coordinate","l":"getX()"},{"p":"sudoku.structure","c":"Coordinate","l":"getY()"},{"p":"gui","c":"ColorGenerator","l":"greatPalette(int)"},{"p":"gui","c":"ColorGenerator","l":"greatScheme(int)"},{"p":"sudoku.structure","c":"Difficulty","l":"Hard"},{"p":"sudoku.structure","c":"Sudoku","l":"hasConstraint(Constraint)","u":"hasConstraint(sudoku.constraint.Constraint)"},{"p":"sudoku.solver","c":"HintHelper.Hint","l":"hashCode()"},{"p":"sudoku.solver","c":"HintHelper.Hint","l":"Hint(Cell, int)","u":"%3Cinit%3E(sudoku.structure.Cell,int)"},{"p":"sudoku.solver","c":"HintHelper","l":"HintHelper()","u":"%3Cinit%3E()"},{"p":"gui","c":"ColorGenerator","l":"hslToRgb(float, float, float)","u":"hslToRgb(float,float,float)"},{"p":"gui","c":"ColorGenerator","l":"hueToRgb(float, float, float)","u":"hueToRgb(float,float,float)"},{"p":"sudoku.solver","c":"HumanSolver","l":"HumanSolver()","u":"%3Cinit%3E()"},{"p":"gui.constants","c":"Images","l":"Images()","u":"%3Cinit%3E()"},{"p":"gui.constants","c":"Fonts","l":"INFECTED"},{"p":"gui","c":"Main","l":"initImGui(Configuration)","u":"initImGui(imgui.app.Configuration)"},{"p":"network","c":"Connexion","l":"isClosed()"},{"p":"sudoku.structure","c":"Cell","l":"isEmpty()"},{"p":"sudoku.structure","c":"Cell","l":"isMutable()"},{"p":"sudoku.structure","c":"MultiDoku","l":"isSolved()"},{"p":"sudoku.structure","c":"Sudoku","l":"isSolved()"},{"p":"sudoku.structure","c":"Sudoku","l":"isValidCoords(int)"},{"p":"sudoku.structure","c":"Sudoku","l":"isValidCoords(int, int)","u":"isValidCoords(int,int)"},{"p":"network.protocol","c":"Packets","l":"KeepAlive"},{"p":"network.server","c":"KeepAliveHandler","l":"KeepAliveHandler(ServerConnexion)","u":"%3Cinit%3E(network.server.ServerConnexion)"},{"p":"network.protocol.packets","c":"KeepAlivePacket","l":"KeepAlivePacket(long)","u":"%3Cinit%3E(long)"},{"p":"gui.widget","c":"LeaderboardRenderer","l":"LeaderboardRenderer(Game, Player)","u":"%3Cinit%3E(game.Game,game.Player)"},{"p":"gui.constants","c":"Symbols","l":"Letters"},{"p":"sudoku.constraint","c":"Constraint","l":"Line"},{"p":"sudoku.constraint","c":"LineConstraint","l":"LineConstraint()","u":"%3Cinit%3E()"},{"p":"sudoku.solver","c":"Solver","l":"logger"},{"p":"network.protocol","c":"Packets","l":"Login"},{"p":"network.client","c":"Client","l":"login(String)","u":"login(java.lang.String)"},{"p":"network.protocol.packets","c":"LoginPacket","l":"LoginPacket(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"gui","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"sudoku","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"gui","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"sudoku","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"gui.menu","c":"MainMenu","l":"MainMenu(StateMachine)","u":"%3Cinit%3E(gui.menu.StateMachine)"},{"p":"sudoku.structure","c":"Difficulty","l":"Medium"},{"p":"sudoku.solver","c":"MixedSolver","l":"MixedSolver()","u":"%3Cinit%3E()"},{"p":"sudoku.structure","c":"MultiDoku","l":"MultiDoku(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"gui.constants","c":"SudokuType","l":"MultidokuPlusRectangle"},{"p":"gui.constants","c":"SudokuType","l":"MultiDokuPlusSquare"},{"p":"gui.constants","c":"SudokuType","l":"MultidokuXRectangle"},{"p":"gui.constants","c":"SudokuType","l":"MultiDokuXSquare"},{"p":"gui.menu","c":"MultiMenu","l":"MultiMenu(StateMachine)","u":"%3Cinit%3E(gui.menu.StateMachine)"},{"p":"gui.widget","c":"MultiPlayerCompleteProgress","l":"MultiPlayerCompleteProgress(Game)","u":"%3Cinit%3E(game.Game)"},{"p":"gui.menu","c":"MultiPlayerDokuView","l":"MultiPlayerDokuView(StateMachine, Client, Server)","u":"%3Cinit%3E(gui.menu.StateMachine,network.client.Client,network.server.Server)"},{"p":"gui.menu","c":"MultiPlayerView","l":"MultiPlayerView(StateMachine, Client, Server)","u":"%3Cinit%3E(gui.menu.StateMachine,network.client.Client,network.server.Server)"},{"p":"sudoku.structure","c":"SudokuFactory","l":"newDokuFromFilledOne(MultiDoku, int, Solver)","u":"newDokuFromFilledOne(sudoku.structure.MultiDoku,int,sudoku.solver.Solver)"},{"p":"sudoku.solver","c":"HintHelper.Hint","l":"newValue()"},{"p":"sudoku.structure","c":"Cell","l":"NOSYMBOL"},{"p":"network.server","c":"ServerConnexion","l":"nukeConnection()"},{"p":"gui.constants","c":"Symbols","l":"Numbers"},{"p":"gui.widget","c":"SudokuRenderer","l":"onCellChange"},{"p":"network.client","c":"Client","l":"onClosed"},{"p":"network.client","c":"Client","l":"onConnect"},{"p":"gui.menu","c":"ConnexionStatusView","l":"onConnect()"},{"p":"network.client","c":"Client","l":"onDisconnect"},{"p":"gui.menu","c":"ConnexionStatusView","l":"onDisconnect()"},{"p":"gui.menu","c":"MultiPlayerDokuView","l":"onDisconnect()"},{"p":"gui.menu","c":"MultiPlayerView","l":"onDisconnect()"},{"p":"network.client","c":"Client","l":"onGameEnd"},{"p":"network.client","c":"Client","l":"onGameStarted"},{"p":"gui.menu","c":"ConnexionStatusView","l":"onLeave()"},{"p":"gui.widget","c":"SudokuRenderer","l":"onResolve"},{"p":"gui.widget","c":"SudokuSelector","l":"onSelect"},{"p":"gui.constants","c":"Options","l":"Options()","u":"%3Cinit%3E()"},{"p":"gui.menu","c":"OptionsMenu","l":"OptionsMenu(StateMachine)","u":"%3Cinit%3E(gui.menu.StateMachine)"},{"p":"gui.menu","c":"StateMachine","l":"overrideState(BaseView)","u":"overrideState(gui.menu.BaseView)"},{"p":"sudoku","c":"Main","l":"overwriteTest(int)"},{"p":"network.protocol","c":"Packet","l":"Packet()","u":"%3Cinit%3E()"},{"p":"game","c":"Player","l":"Player(int, String)","u":"%3Cinit%3E(int,java.lang.String)"},{"p":"network.protocol","c":"Packets","l":"PlayerJoin"},{"p":"network.protocol.packets","c":"PlayerJoinPacket","l":"PlayerJoinPacket(Player)","u":"%3Cinit%3E(game.Player)"},{"p":"network.protocol","c":"Packets","l":"PlayerLeave"},{"p":"network.protocol.packets","c":"PlayerLeavePacket","l":"PlayerLeavePacket(int)","u":"%3Cinit%3E(int)"},{"p":"sudoku.structure","c":"StateManager","l":"popAndGetState()"},{"p":"gui.menu","c":"StateMachine","l":"popState()"},{"p":"sudoku.structure","c":"StateManager","l":"popState()"},{"p":"gui","c":"Main","l":"preRun()"},{"p":"sudoku.io","c":"SudokuPrinter","l":"printMultiDoku(MultiDoku, int, int, Symbols)","u":"printMultiDoku(sudoku.structure.MultiDoku,int,int,gui.constants.Symbols)"},{"p":"sudoku.io","c":"SudokuPrinter","l":"printMultiDoku(RenderableMultidoku, List, int, int)","u":"printMultiDoku(gui.RenderableMultidoku,java.util.List,int,int)"},{"p":"sudoku.io","c":"SudokuPrinter","l":"printMultiDoku(RenderableMultidoku, Symbols, int, int)","u":"printMultiDoku(gui.RenderableMultidoku,gui.constants.Symbols,int,int)"},{"p":"sudoku.io","c":"SudokuPrinter","l":"printMultiDokuWithIndex(MultiDoku, int, int, Symbols)","u":"printMultiDokuWithIndex(sudoku.structure.MultiDoku,int,int,gui.constants.Symbols)"},{"p":"sudoku.io","c":"SudokuPrinter","l":"printMultiDokuWithIndex(RenderableMultidoku, List, int, int)","u":"printMultiDokuWithIndex(gui.RenderableMultidoku,java.util.List,int,int)"},{"p":"sudoku.io","c":"SudokuPrinter","l":"printRectangleSudoku(Sudoku, int, int, List)","u":"printRectangleSudoku(sudoku.structure.Sudoku,int,int,java.util.List)"},{"p":"sudoku.io","c":"SudokuPrinter","l":"printRectangleSudoku(Sudoku, int, int, Symbols)","u":"printRectangleSudoku(sudoku.structure.Sudoku,int,int,gui.constants.Symbols)"},{"p":"sudoku.io","c":"SudokuPrinter","l":"printRectangleSudokuWithIndex(Sudoku, int, int, List)","u":"printRectangleSudokuWithIndex(sudoku.structure.Sudoku,int,int,java.util.List)"},{"p":"gui","c":"Main","l":"process()"},{"p":"sudoku.structure","c":"StateManager","l":"pushState()"},{"p":"gui.menu","c":"StateMachine","l":"pushState(BaseView)","u":"pushState(gui.menu.BaseView)"},{"p":"gui","c":"ColorGenerator.Color","l":"r"},{"p":"gui.constants","c":"SudokuType","l":"RandomBloc"},{"p":"sudoku.solver","c":"RandomSolver","l":"RandomSolver()","u":"%3Cinit%3E()"},{"p":"network.server","c":"KeepAliveHandler","l":"recievedKeepAlive(long)"},{"p":"gui.constants","c":"SudokuType","l":"Rectangle"},{"p":"gui.constants","c":"Images","l":"reloadImages()"},{"p":"game","c":"Game","l":"removePlayer(int)"},{"p":"gui.menu","c":"BaseView","l":"render()"},{"p":"gui.menu","c":"ConnexionStatusView","l":"render()"},{"p":"gui.menu","c":"EndGameView","l":"render()"},{"p":"gui.menu","c":"MainMenu","l":"render()"},{"p":"gui.menu","c":"MultiMenu","l":"render()"},{"p":"gui.menu","c":"MultiPlayerDokuView","l":"render()"},{"p":"gui.menu","c":"MultiPlayerView","l":"render()"},{"p":"gui.menu","c":"OptionsMenu","l":"render()"},{"p":"gui.menu","c":"SoloMenu","l":"render()"},{"p":"gui.menu","c":"StateMachine","l":"render()"},{"p":"gui.menu","c":"SudokuView","l":"render()"},{"p":"gui.widget","c":"AnimatedBackground","l":"render()"},{"p":"gui.widget","c":"LeaderboardRenderer","l":"render()"},{"p":"gui.widget","c":"MultiPlayerCompleteProgress","l":"render()"},{"p":"gui.widget","c":"SudokuRenderer","l":"render()"},{"p":"gui.widget","c":"SudokuSelector","l":"render()"},{"p":"gui.widget","c":"TimerRenderer","l":"render()"},{"p":"gui.widget","c":"SmoothProgressBar","l":"render(float)"},{"p":"gui.widget","c":"SmoothProgressBar","l":"render(String, ImVec2, float)","u":"render(java.lang.String,imgui.ImVec2,float)"},{"p":"gui.widget","c":"SudokuSelector","l":"renderFileDialog()"},{"p":"gui.menu","c":"MultiPlayerView","l":"renderGameStatus()"},{"p":"gui.menu","c":"BaseView","l":"renderReturnButton()"},{"p":"network","c":"ConnexionThread","l":"run()"},{"p":"network.server","c":"ServerAcceptThread","l":"run()"},{"p":"network.server","c":"ServerLogicThread","l":"run()"},{"p":"gui.constants","c":"Symbols","l":"Russian"},{"p":"sudoku.io","c":"SudokuSerializer","l":"saveMultiDoku(MultiDoku)","u":"saveMultiDoku(sudoku.structure.MultiDoku)"},{"p":"sudoku.io","c":"SudokuSerializer","l":"saveMultiDoku(MultiDoku, int)","u":"saveMultiDoku(sudoku.structure.MultiDoku,int)"},{"p":"network.client","c":"Client","l":"sendCellChange(Cell)","u":"sendCellChange(sudoku.structure.Cell)"},{"p":"network","c":"Connexion","l":"sendPacket(Packet)","u":"sendPacket(network.protocol.Packet)"},{"p":"sudoku.io","c":"SudokuSerializer","l":"serializeSudoku(MultiDoku)","u":"serializeSudoku(sudoku.structure.MultiDoku)"},{"p":"network.server","c":"Server","l":"Server(short)","u":"%3Cinit%3E(short)"},{"p":"network.server","c":"ServerAcceptThread","l":"ServerAcceptThread(Server)","u":"%3Cinit%3E(network.server.Server)"},{"p":"network.server","c":"ServerConnexion","l":"ServerConnexion(Socket, Server)","u":"%3Cinit%3E(java.net.Socket,network.server.Server)"},{"p":"network.server","c":"ServerLogicThread","l":"ServerLogicThread(Server)","u":"%3Cinit%3E(network.server.Server)"},{"p":"sudoku.structure","c":"Cell","l":"setBlock(Block)","u":"setBlock(sudoku.structure.Block)"},{"p":"sudoku.structure","c":"Sudoku","l":"setBlockWidth(int)"},{"p":"sudoku.structure","c":"Sudoku","l":"setCellsSymbol(List)","u":"setCellsSymbol(java.util.List)"},{"p":"sudoku.structure","c":"Sudoku","l":"setCellSymbol(int, int, int)","u":"setCellSymbol(int,int,int)"},{"p":"sudoku.structure","c":"MultiDoku","l":"setFilledCellsImmutable()"},{"p":"sudoku.structure","c":"Cell","l":"setImmutable()"},{"p":"sudoku.structure","c":"Sudoku","l":"setImmutableCellsSymbol(List)","u":"setImmutableCellsSymbol(java.util.List)"},{"p":"game","c":"Game","l":"setPlayerRemainingCells(Player, int)","u":"setPlayerRemainingCells(game.Player,int)"},{"p":"network.server","c":"ServerConnexion","l":"setSudoku(MultiDoku)","u":"setSudoku(sudoku.structure.MultiDoku)"},{"p":"sudoku.structure","c":"Cell","l":"setSymbolIndex(int)"},{"p":"sudoku.structure","c":"Coordinate","l":"setX(int)"},{"p":"sudoku.structure","c":"Coordinate","l":"setY(int)"},{"p":"common","c":"Signal","l":"Signal()","u":"%3Cinit%3E()"},{"p":"gui.widget","c":"SmoothProgressBar","l":"SmoothProgressBar()","u":"%3Cinit%3E()"},{"p":"gui.menu","c":"SoloMenu","l":"SoloMenu(StateMachine)","u":"%3Cinit%3E(gui.menu.StateMachine)"},{"p":"sudoku.solver","c":"Solver","l":"solve(MultiDoku)","u":"solve(sudoku.structure.MultiDoku)"},{"p":"sudoku.solver","c":"BacktrackingSolver","l":"solve(MultiDoku, List)","u":"solve(sudoku.structure.MultiDoku,java.util.List)"},{"p":"sudoku.solver","c":"HumanSolver","l":"solve(MultiDoku, List)","u":"solve(sudoku.structure.MultiDoku,java.util.List)"},{"p":"sudoku.solver","c":"MixedSolver","l":"solve(MultiDoku, List)","u":"solve(sudoku.structure.MultiDoku,java.util.List)"},{"p":"sudoku.solver","c":"RandomSolver","l":"solve(MultiDoku, List)","u":"solve(sudoku.structure.MultiDoku,java.util.List)"},{"p":"sudoku.solver","c":"Solver","l":"solve(MultiDoku, List)","u":"solve(sudoku.structure.MultiDoku,java.util.List)"},{"p":"sudoku.solver","c":"StupidSolver","l":"solve(MultiDoku, List)","u":"solve(sudoku.structure.MultiDoku,java.util.List)"},{"p":"sudoku.solver","c":"SolverStep","l":"SolverStep(Cell)","u":"%3Cinit%3E(sudoku.structure.Cell)"},{"p":"gui.constants","c":"SudokuType","l":"Square"},{"p":"network.protocol","c":"Packets","l":"StartGame"},{"p":"game","c":"Game","l":"startGame(MultiDoku, Instant, long)","u":"startGame(sudoku.structure.MultiDoku,java.time.Instant,long)"},{"p":"network.server","c":"Server","l":"startGame(MultiDoku, long)","u":"startGame(sudoku.structure.MultiDoku,long)"},{"p":"network.protocol.packets","c":"StartGamePacket","l":"StartGamePacket(String, Instant, long)","u":"%3Cinit%3E(java.lang.String,java.time.Instant,long)"},{"p":"gui.menu","c":"BaseView","l":"stateMachine"},{"p":"gui.menu","c":"StateMachine","l":"StateMachine()","u":"%3Cinit%3E()"},{"p":"sudoku.structure","c":"StateManager","l":"StateManager(MultiDoku)","u":"%3Cinit%3E(sudoku.structure.MultiDoku)"},{"p":"network.client","c":"Client","l":"stop()"},{"p":"network.server","c":"Server","l":"stop()"},{"p":"game","c":"Game","l":"stopGame()"},{"p":"network.server","c":"Server","l":"stopGame()"},{"p":"sudoku.solver","c":"StupidSolver","l":"StupidSolver()","u":"%3Cinit%3E()"},{"p":"sudoku.structure","c":"Coordinate","l":"sub(Coordinate)","u":"sub(sudoku.structure.Coordinate)"},{"p":"sudoku.structure","c":"Sudoku","l":"Sudoku(List, List, List)","u":"%3Cinit%3E(java.util.List,java.util.List,java.util.List)"},{"p":"sudoku.structure","c":"SudokuFactory","l":"SudokuFactory()","u":"%3Cinit%3E()"},{"p":"sudoku.io","c":"SudokuPrinter","l":"SudokuPrinter()","u":"%3Cinit%3E()"},{"p":"gui.widget","c":"SudokuRenderer","l":"SudokuRenderer(MultiDoku)","u":"%3Cinit%3E(sudoku.structure.MultiDoku)"},{"p":"gui.widget","c":"SudokuSelector","l":"SudokuSelector(boolean, String)","u":"%3Cinit%3E(boolean,java.lang.String)"},{"p":"sudoku.io","c":"SudokuSerializer","l":"SudokuSerializer()","u":"%3Cinit%3E()"},{"p":"sudoku","c":"SudokuSerializerTest","l":"SudokuSerializerTest()","u":"%3Cinit%3E()"},{"p":"gui.menu","c":"SudokuView","l":"SudokuView(StateMachine, MultiDoku)","u":"%3Cinit%3E(gui.menu.StateMachine,sudoku.structure.MultiDoku)"},{"p":"gui.constants","c":"Options","l":"Symboles"},{"p":"gui.widget","c":"TimerRenderer","l":"TimerRenderer(Instant, long)","u":"%3Cinit%3E(java.time.Instant,long)"},{"p":"sudoku.structure","c":"Sudoku","l":"toCoords(int)"},{"p":"sudoku.structure","c":"Sudoku","l":"toIndex(int, int)","u":"toIndex(int,int)"},{"p":"sudoku.solver","c":"HintHelper.Hint","l":"toString()"},{"p":"sudoku.structure","c":"MultiDoku","l":"toString()"},{"p":"sudoku.structure","c":"Sudoku","l":"toString()"},{"p":"sudoku.io","c":"SudokuPrinter","l":"toStringRectangleSudoku(Sudoku, int, int, List)","u":"toStringRectangleSudoku(sudoku.structure.Sudoku,int,int,java.util.List)"},{"p":"sudoku.io","c":"SudokuPrinter","l":"toStringRectangleSudoku(Sudoku, int, int, Symbols)","u":"toStringRectangleSudoku(sudoku.structure.Sudoku,int,int,gui.constants.Symbols)"},{"p":"sudoku.structure","c":"Cell","l":"trySetValue(int)"},{"p":"network.server","c":"KeepAliveHandler","l":"update()"},{"p":"network.server","c":"Server","l":"update()"},{"p":"network.server","c":"ServerConnexion","l":"update()"},{"p":"network.protocol","c":"Packets","l":"UpdatePlayerScore"},{"p":"network.protocol.packets","c":"UpdatePlayerScorePacket","l":"UpdatePlayerScorePacket(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"game","c":"Game.GameState","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"gui.constants","c":"SudokuType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"gui.constants","c":"Symbols","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"network.protocol","c":"Packets","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"sudoku.constraint","c":"Constraint","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"sudoku.structure","c":"Difficulty","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"game","c":"Game.GameState","l":"values()"},{"p":"gui.constants","c":"SudokuType","l":"values()"},{"p":"gui.constants","c":"Symbols","l":"values()"},{"p":"network.protocol","c":"Packets","l":"values()"},{"p":"sudoku.constraint","c":"Constraint","l":"values()"},{"p":"sudoku.structure","c":"Difficulty","l":"values()"},{"p":"sudoku.structure","c":"Difficulty","l":"VeryEasy"},{"p":"sudoku.structure","c":"Difficulty","l":"VeryHard"},{"p":"network.protocol","c":"PacketVisitor","l":"visit(Packet)","u":"visit(network.protocol.Packet)"},{"p":"network.client","c":"ClientConnexion","l":"visitPacket(ChangeCellPacket)","u":"visitPacket(network.protocol.packets.ChangeCellPacket)"},{"p":"network.protocol","c":"PacketVisitor","l":"visitPacket(ChangeCellPacket)","u":"visitPacket(network.protocol.packets.ChangeCellPacket)"},{"p":"network.server","c":"ServerConnexion","l":"visitPacket(ChangeCellPacket)","u":"visitPacket(network.protocol.packets.ChangeCellPacket)"},{"p":"network.client","c":"ClientConnexion","l":"visitPacket(ConnexionInfoPacket)","u":"visitPacket(network.protocol.packets.ConnexionInfoPacket)"},{"p":"network.protocol","c":"PacketVisitor","l":"visitPacket(ConnexionInfoPacket)","u":"visitPacket(network.protocol.packets.ConnexionInfoPacket)"},{"p":"network.server","c":"ServerConnexion","l":"visitPacket(ConnexionInfoPacket)","u":"visitPacket(network.protocol.packets.ConnexionInfoPacket)"},{"p":"network.client","c":"ClientConnexion","l":"visitPacket(DisconnectPacket)","u":"visitPacket(network.protocol.packets.DisconnectPacket)"},{"p":"network.protocol","c":"PacketVisitor","l":"visitPacket(DisconnectPacket)","u":"visitPacket(network.protocol.packets.DisconnectPacket)"},{"p":"network.server","c":"ServerConnexion","l":"visitPacket(DisconnectPacket)","u":"visitPacket(network.protocol.packets.DisconnectPacket)"},{"p":"network.client","c":"ClientConnexion","l":"visitPacket(EndGamePacket)","u":"visitPacket(network.protocol.packets.EndGamePacket)"},{"p":"network.protocol","c":"PacketVisitor","l":"visitPacket(EndGamePacket)","u":"visitPacket(network.protocol.packets.EndGamePacket)"},{"p":"network.server","c":"ServerConnexion","l":"visitPacket(EndGamePacket)","u":"visitPacket(network.protocol.packets.EndGamePacket)"},{"p":"network.client","c":"ClientConnexion","l":"visitPacket(KeepAlivePacket)","u":"visitPacket(network.protocol.packets.KeepAlivePacket)"},{"p":"network.protocol","c":"PacketVisitor","l":"visitPacket(KeepAlivePacket)","u":"visitPacket(network.protocol.packets.KeepAlivePacket)"},{"p":"network.server","c":"ServerConnexion","l":"visitPacket(KeepAlivePacket)","u":"visitPacket(network.protocol.packets.KeepAlivePacket)"},{"p":"network.client","c":"ClientConnexion","l":"visitPacket(LoginPacket)","u":"visitPacket(network.protocol.packets.LoginPacket)"},{"p":"network.protocol","c":"PacketVisitor","l":"visitPacket(LoginPacket)","u":"visitPacket(network.protocol.packets.LoginPacket)"},{"p":"network.server","c":"ServerConnexion","l":"visitPacket(LoginPacket)","u":"visitPacket(network.protocol.packets.LoginPacket)"},{"p":"network.client","c":"ClientConnexion","l":"visitPacket(PlayerJoinPacket)","u":"visitPacket(network.protocol.packets.PlayerJoinPacket)"},{"p":"network.protocol","c":"PacketVisitor","l":"visitPacket(PlayerJoinPacket)","u":"visitPacket(network.protocol.packets.PlayerJoinPacket)"},{"p":"network.server","c":"ServerConnexion","l":"visitPacket(PlayerJoinPacket)","u":"visitPacket(network.protocol.packets.PlayerJoinPacket)"},{"p":"network.client","c":"ClientConnexion","l":"visitPacket(PlayerLeavePacket)","u":"visitPacket(network.protocol.packets.PlayerLeavePacket)"},{"p":"network.protocol","c":"PacketVisitor","l":"visitPacket(PlayerLeavePacket)","u":"visitPacket(network.protocol.packets.PlayerLeavePacket)"},{"p":"network.server","c":"ServerConnexion","l":"visitPacket(PlayerLeavePacket)","u":"visitPacket(network.protocol.packets.PlayerLeavePacket)"},{"p":"network.client","c":"ClientConnexion","l":"visitPacket(StartGamePacket)","u":"visitPacket(network.protocol.packets.StartGamePacket)"},{"p":"network.protocol","c":"PacketVisitor","l":"visitPacket(StartGamePacket)","u":"visitPacket(network.protocol.packets.StartGamePacket)"},{"p":"network.server","c":"ServerConnexion","l":"visitPacket(StartGamePacket)","u":"visitPacket(network.protocol.packets.StartGamePacket)"},{"p":"network.client","c":"ClientConnexion","l":"visitPacket(UpdatePlayerScorePacket)","u":"visitPacket(network.protocol.packets.UpdatePlayerScorePacket)"},{"p":"network.protocol","c":"PacketVisitor","l":"visitPacket(UpdatePlayerScorePacket)","u":"visitPacket(network.protocol.packets.UpdatePlayerScorePacket)"},{"p":"network.server","c":"ServerConnexion","l":"visitPacket(UpdatePlayerScorePacket)","u":"visitPacket(network.protocol.packets.UpdatePlayerScorePacket)"},{"p":"sudoku","c":"Main","l":"voidTest()"},{"p":"sudoku.io","c":"ConsoleInterface","l":"welcome()"}];updateSearchResults(); \ No newline at end of file diff --git a/javadoc/module-search-index.js b/javadoc/module-search-index.js new file mode 100644 index 0000000..0d59754 --- /dev/null +++ b/javadoc/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/javadoc/network/Connexion.html b/javadoc/network/Connexion.html new file mode 100644 index 0000000..70d3369 --- /dev/null +++ b/javadoc/network/Connexion.html @@ -0,0 +1,207 @@ + + + + +Connexion + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package network
+

Class Connexion

+
+
java.lang.Object +
network.Connexion
+
+
+
+
All Implemented Interfaces:
+
PacketVisitor
+
+
+
Direct Known Subclasses:
+
ClientConnexion, ServerConnexion
+
+
+
public abstract class Connexion +extends Object +implements PacketVisitor
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isClosed

      +
      public boolean isClosed()
      +
      +
    • +
    • +
      +

      sendPacket

      +
      public void sendPacket(Packet packet)
      +
      +
    • +
    • +
      +

      close

      +
      public void close()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/ConnexionThread.html b/javadoc/network/ConnexionThread.html new file mode 100644 index 0000000..f165f07 --- /dev/null +++ b/javadoc/network/ConnexionThread.html @@ -0,0 +1,219 @@ + + + + +ConnexionThread + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package network
+

Class ConnexionThread

+
+
java.lang.Object +
java.lang.Thread +
network.ConnexionThread
+
+
+
+
+
All Implemented Interfaces:
+
Runnable
+
+
+
public class ConnexionThread +extends Thread
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      run

      +
      public void run()
      +
      +
      Specified by:
      +
      run in interface Runnable
      +
      Overrides:
      +
      run in class Thread
      +
      +
      +
    • +
    • +
      +

      cancel

      +
      public void cancel()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/client/Client.html b/javadoc/network/client/Client.html new file mode 100644 index 0000000..edce01d --- /dev/null +++ b/javadoc/network/client/Client.html @@ -0,0 +1,311 @@ + + + + +Client + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Client

+
+
java.lang.Object +
network.client.Client
+
+
+
+
public class Client +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      onConnect

      +
      public final Signal onConnect
      +
      +
    • +
    • +
      +

      onDisconnect

      +
      public final Signal onDisconnect
      +
      +
    • +
    • +
      +

      onClosed

      +
      public final Signal onClosed
      +
      +
    • +
    • +
      +

      onGameStarted

      +
      public final Signal onGameStarted
      +
      +
    • +
    • +
      +

      onGameEnd

      +
      public final ConsumerSignal<Player> onGameEnd
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      login

      +
      public void login(String pseudo)
      +
      +
    • +
    • +
      +

      stop

      +
      public void stop()
      +
      +
    • +
    • +
      +

      addPlayer

      +
      public void addPlayer(Player player)
      +
      +
    • +
    • +
      +

      getGame

      +
      public Game getGame()
      +
      +
    • +
    • +
      +

      getDisconnectReason

      +
      public String getDisconnectReason()
      +
      +
    • +
    • +
      +

      forceDisconnect

      +
      public void forceDisconnect()
      +
      +
    • +
    • +
      +

      sendCellChange

      +
      public void sendCellChange(Cell cell)
      +
      +
    • +
    • +
      +

      getPlayer

      +
      public Player getPlayer()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/client/ClientConnexion.html b/javadoc/network/client/ClientConnexion.html new file mode 100644 index 0000000..49a0c50 --- /dev/null +++ b/javadoc/network/client/ClientConnexion.html @@ -0,0 +1,289 @@ + + + + +ClientConnexion + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ClientConnexion

+
+
java.lang.Object +
network.Connexion +
network.client.ClientConnexion
+
+
+
+
+
All Implemented Interfaces:
+
PacketVisitor
+
+
+
public class ClientConnexion +extends Connexion
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/javadoc/network/client/package-summary.html b/javadoc/network/client/package-summary.html new file mode 100644 index 0000000..f4398ad --- /dev/null +++ b/javadoc/network/client/package-summary.html @@ -0,0 +1,108 @@ + + + + +network.client + + + + + + + + + + + + + + +
+ +
+
+
+

Package network.client

+
+
+
package network.client
+
+ +
+
+
+
+ + diff --git a/javadoc/network/client/package-tree.html b/javadoc/network/client/package-tree.html new file mode 100644 index 0000000..bafb4a4 --- /dev/null +++ b/javadoc/network/client/package-tree.html @@ -0,0 +1,76 @@ + + + + +network.client Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package network.client

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/javadoc/network/package-summary.html b/javadoc/network/package-summary.html new file mode 100644 index 0000000..6f50e52 --- /dev/null +++ b/javadoc/network/package-summary.html @@ -0,0 +1,108 @@ + + + + +network + + + + + + + + + + + + + + +
+ +
+
+
+

Package network

+
+
+
package network
+
+ +
+
+
+
+ + diff --git a/javadoc/network/package-tree.html b/javadoc/network/package-tree.html new file mode 100644 index 0000000..8db10dc --- /dev/null +++ b/javadoc/network/package-tree.html @@ -0,0 +1,76 @@ + + + + +network Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package network

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/javadoc/network/protocol/Packet.html b/javadoc/network/protocol/Packet.html new file mode 100644 index 0000000..9369faa --- /dev/null +++ b/javadoc/network/protocol/Packet.html @@ -0,0 +1,189 @@ + + + + +Packet + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Packet

+
+
java.lang.Object +
network.protocol.Packet
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
Direct Known Subclasses:
+
ChangeCellPacket, ConnexionInfoPacket, DisconnectPacket, EndGamePacket, KeepAlivePacket, LoginPacket, PlayerJoinPacket, PlayerLeavePacket, StartGamePacket, UpdatePlayerScorePacket
+
+
+
public abstract class Packet +extends Object +implements Serializable
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Packet

      +
      public Packet()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      accept

      +
      public abstract void accept(PacketVisitor packetVisitor)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/protocol/PacketVisitor.html b/javadoc/network/protocol/PacketVisitor.html new file mode 100644 index 0000000..d1a16fd --- /dev/null +++ b/javadoc/network/protocol/PacketVisitor.html @@ -0,0 +1,232 @@ + + + + +PacketVisitor + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface PacketVisitor

+
+
+
+
All Known Implementing Classes:
+
ClientConnexion, Connexion, ServerConnexion
+
+
+
public interface PacketVisitor
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/javadoc/network/protocol/Packets.html b/javadoc/network/protocol/Packets.html new file mode 100644 index 0000000..c4fbc34 --- /dev/null +++ b/javadoc/network/protocol/Packets.html @@ -0,0 +1,295 @@ + + + + +Packets + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class Packets

+
+
java.lang.Object +
java.lang.Enum<Packets> +
network.protocol.Packets
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<Packets>, Constable
+
+
+
public enum Packets +extends Enum<Packets>
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      ConnectionInfo

      +
      public static final Packets ConnectionInfo
      +
      +
    • +
    • +
      +

      KeepAlive

      +
      public static final Packets KeepAlive
      +
      +
    • +
    • +
      +

      Disconnect

      +
      public static final Packets Disconnect
      +
      +
    • +
    • +
      +

      Login

      +
      public static final Packets Login
      +
      +
    • +
    • +
      +

      PlayerJoin

      +
      public static final Packets PlayerJoin
      +
      +
    • +
    • +
      +

      PlayerLeave

      +
      public static final Packets PlayerLeave
      +
      +
    • +
    • +
      +

      StartGame

      +
      public static final Packets StartGame
      +
      +
    • +
    • +
      +

      ChangeCell

      +
      public static final Packets ChangeCell
      +
      +
    • +
    • +
      +

      EndGame

      +
      public static final Packets EndGame
      +
      +
    • +
    • +
      +

      UpdatePlayerScore

      +
      public static final Packets UpdatePlayerScore
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static Packets[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static Packets valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/protocol/package-summary.html b/javadoc/network/protocol/package-summary.html new file mode 100644 index 0000000..07844e3 --- /dev/null +++ b/javadoc/network/protocol/package-summary.html @@ -0,0 +1,114 @@ + + + + +network.protocol + + + + + + + + + + + + + + +
+ +
+
+
+

Package network.protocol

+
+
+
package network.protocol
+
+ +
+
+
+
+ + diff --git a/javadoc/network/protocol/package-tree.html b/javadoc/network/protocol/package-tree.html new file mode 100644 index 0000000..15e4ca8 --- /dev/null +++ b/javadoc/network/protocol/package-tree.html @@ -0,0 +1,91 @@ + + + + +network.protocol Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package network.protocol

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/javadoc/network/protocol/packets/ChangeCellPacket.html b/javadoc/network/protocol/packets/ChangeCellPacket.html new file mode 100644 index 0000000..b3bdff8 --- /dev/null +++ b/javadoc/network/protocol/packets/ChangeCellPacket.html @@ -0,0 +1,221 @@ + + + + +ChangeCellPacket + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ChangeCellPacket

+
+
java.lang.Object +
network.protocol.Packet +
network.protocol.packets.ChangeCellPacket
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class ChangeCellPacket +extends Packet
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ChangeCellPacket

      +
      public ChangeCellPacket(int sudokuIndex, + int cellIndex, + int newValue)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getSudokuIndex

      +
      public int getSudokuIndex()
      +
      +
    • +
    • +
      +

      getCellIndex

      +
      public int getCellIndex()
      +
      +
    • +
    • +
      +

      getNewValue

      +
      public int getNewValue()
      +
      +
    • +
    • +
      +

      accept

      +
      public void accept(PacketVisitor packetVisitor)
      +
      +
      Specified by:
      +
      accept in class Packet
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/protocol/packets/ConnexionInfoPacket.html b/javadoc/network/protocol/packets/ConnexionInfoPacket.html new file mode 100644 index 0000000..34afa0f --- /dev/null +++ b/javadoc/network/protocol/packets/ConnexionInfoPacket.html @@ -0,0 +1,199 @@ + + + + +ConnexionInfoPacket + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ConnexionInfoPacket

+
+
java.lang.Object +
network.protocol.Packet +
network.protocol.packets.ConnexionInfoPacket
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class ConnexionInfoPacket +extends Packet
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ConnexionInfoPacket

      +
      public ConnexionInfoPacket(int connectionId)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getConnectionId

      +
      public int getConnectionId()
      +
      +
    • +
    • +
      +

      accept

      +
      public void accept(PacketVisitor packetVisitor)
      +
      +
      Specified by:
      +
      accept in class Packet
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/protocol/packets/DisconnectPacket.html b/javadoc/network/protocol/packets/DisconnectPacket.html new file mode 100644 index 0000000..28979b4 --- /dev/null +++ b/javadoc/network/protocol/packets/DisconnectPacket.html @@ -0,0 +1,199 @@ + + + + +DisconnectPacket + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DisconnectPacket

+
+
java.lang.Object +
network.protocol.Packet +
network.protocol.packets.DisconnectPacket
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class DisconnectPacket +extends Packet
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DisconnectPacket

      +
      public DisconnectPacket(String reason)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getReason

      +
      public String getReason()
      +
      +
    • +
    • +
      +

      accept

      +
      public void accept(PacketVisitor packetVisitor)
      +
      +
      Specified by:
      +
      accept in class Packet
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/protocol/packets/EndGamePacket.html b/javadoc/network/protocol/packets/EndGamePacket.html new file mode 100644 index 0000000..7a65d94 --- /dev/null +++ b/javadoc/network/protocol/packets/EndGamePacket.html @@ -0,0 +1,190 @@ + + + + +EndGamePacket + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class EndGamePacket

+
+
java.lang.Object +
network.protocol.Packet +
network.protocol.packets.EndGamePacket
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class EndGamePacket +extends Packet
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      EndGamePacket

      +
      public EndGamePacket()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/protocol/packets/KeepAlivePacket.html b/javadoc/network/protocol/packets/KeepAlivePacket.html new file mode 100644 index 0000000..d9a42d7 --- /dev/null +++ b/javadoc/network/protocol/packets/KeepAlivePacket.html @@ -0,0 +1,199 @@ + + + + +KeepAlivePacket + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class KeepAlivePacket

+
+
java.lang.Object +
network.protocol.Packet +
network.protocol.packets.KeepAlivePacket
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class KeepAlivePacket +extends Packet
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      KeepAlivePacket

      +
      public KeepAlivePacket(long keepAliveId)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getKeepAliveId

      +
      public long getKeepAliveId()
      +
      +
    • +
    • +
      +

      accept

      +
      public void accept(PacketVisitor packetVisitor)
      +
      +
      Specified by:
      +
      accept in class Packet
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/protocol/packets/LoginPacket.html b/javadoc/network/protocol/packets/LoginPacket.html new file mode 100644 index 0000000..65eb7a4 --- /dev/null +++ b/javadoc/network/protocol/packets/LoginPacket.html @@ -0,0 +1,199 @@ + + + + +LoginPacket + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LoginPacket

+
+
java.lang.Object +
network.protocol.Packet +
network.protocol.packets.LoginPacket
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class LoginPacket +extends Packet
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LoginPacket

      +
      public LoginPacket(String pseudo)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getPseudo

      +
      public String getPseudo()
      +
      +
    • +
    • +
      +

      accept

      +
      public void accept(PacketVisitor packetVisitor)
      +
      +
      Specified by:
      +
      accept in class Packet
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/protocol/packets/PlayerJoinPacket.html b/javadoc/network/protocol/packets/PlayerJoinPacket.html new file mode 100644 index 0000000..d96c95b --- /dev/null +++ b/javadoc/network/protocol/packets/PlayerJoinPacket.html @@ -0,0 +1,199 @@ + + + + +PlayerJoinPacket + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PlayerJoinPacket

+
+
java.lang.Object +
network.protocol.Packet +
network.protocol.packets.PlayerJoinPacket
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class PlayerJoinPacket +extends Packet
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PlayerJoinPacket

      +
      public PlayerJoinPacket(Player player)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getPlayer

      +
      public Player getPlayer()
      +
      +
    • +
    • +
      +

      accept

      +
      public void accept(PacketVisitor packetVisitor)
      +
      +
      Specified by:
      +
      accept in class Packet
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/protocol/packets/PlayerLeavePacket.html b/javadoc/network/protocol/packets/PlayerLeavePacket.html new file mode 100644 index 0000000..dd08984 --- /dev/null +++ b/javadoc/network/protocol/packets/PlayerLeavePacket.html @@ -0,0 +1,199 @@ + + + + +PlayerLeavePacket + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PlayerLeavePacket

+
+
java.lang.Object +
network.protocol.Packet +
network.protocol.packets.PlayerLeavePacket
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class PlayerLeavePacket +extends Packet
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PlayerLeavePacket

      +
      public PlayerLeavePacket(int playerId)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getPlayer

      +
      public int getPlayer()
      +
      +
    • +
    • +
      +

      accept

      +
      public void accept(PacketVisitor packetVisitor)
      +
      +
      Specified by:
      +
      accept in class Packet
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/protocol/packets/StartGamePacket.html b/javadoc/network/protocol/packets/StartGamePacket.html new file mode 100644 index 0000000..0473b62 --- /dev/null +++ b/javadoc/network/protocol/packets/StartGamePacket.html @@ -0,0 +1,221 @@ + + + + +StartGamePacket + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class StartGamePacket

+
+
java.lang.Object +
network.protocol.Packet +
network.protocol.packets.StartGamePacket
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class StartGamePacket +extends Packet
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      StartGamePacket

      +
      public StartGamePacket(String serializedSudoku, + Instant instant, + long gameDuration)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getSerializedSudoku

      +
      public String getSerializedSudoku()
      +
      +
    • +
    • +
      +

      getInstant

      +
      public Instant getInstant()
      +
      +
    • +
    • +
      +

      getGameDuration

      +
      public long getGameDuration()
      +
      +
    • +
    • +
      +

      accept

      +
      public void accept(PacketVisitor packetVisitor)
      +
      +
      Specified by:
      +
      accept in class Packet
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/protocol/packets/UpdatePlayerScorePacket.html b/javadoc/network/protocol/packets/UpdatePlayerScorePacket.html new file mode 100644 index 0000000..21dee44 --- /dev/null +++ b/javadoc/network/protocol/packets/UpdatePlayerScorePacket.html @@ -0,0 +1,210 @@ + + + + +UpdatePlayerScorePacket + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UpdatePlayerScorePacket

+
+
java.lang.Object +
network.protocol.Packet +
network.protocol.packets.UpdatePlayerScorePacket
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class UpdatePlayerScorePacket +extends Packet
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      UpdatePlayerScorePacket

      +
      public UpdatePlayerScorePacket(int playerId, + int cellsLeft)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getPlayerId

      +
      public int getPlayerId()
      +
      +
    • +
    • +
      +

      getCellsLeft

      +
      public int getCellsLeft()
      +
      +
    • +
    • +
      +

      accept

      +
      public void accept(PacketVisitor packetVisitor)
      +
      +
      Specified by:
      +
      accept in class Packet
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/protocol/packets/package-summary.html b/javadoc/network/protocol/packets/package-summary.html new file mode 100644 index 0000000..2c30027 --- /dev/null +++ b/javadoc/network/protocol/packets/package-summary.html @@ -0,0 +1,120 @@ + + + + +network.protocol.packets + + + + + + + + + + + + + + +
+ +
+
+
+

Package network.protocol.packets

+
+
+
package network.protocol.packets
+
+ +
+
+
+
+ + diff --git a/javadoc/network/protocol/packets/package-tree.html b/javadoc/network/protocol/packets/package-tree.html new file mode 100644 index 0000000..40168fd --- /dev/null +++ b/javadoc/network/protocol/packets/package-tree.html @@ -0,0 +1,84 @@ + + + + +network.protocol.packets Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package network.protocol.packets

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/javadoc/network/server/KeepAliveHandler.html b/javadoc/network/server/KeepAliveHandler.html new file mode 100644 index 0000000..a330414 --- /dev/null +++ b/javadoc/network/server/KeepAliveHandler.html @@ -0,0 +1,181 @@ + + + + +KeepAliveHandler + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class KeepAliveHandler

+
+
java.lang.Object +
network.server.KeepAliveHandler
+
+
+
+
public class KeepAliveHandler +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      KeepAliveHandler

      +
      public KeepAliveHandler(ServerConnexion serverConnexion)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      update

      +
      public boolean update()
      +
      +
    • +
    • +
      +

      recievedKeepAlive

      +
      public void recievedKeepAlive(long keepAliveId)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/server/Server.html b/javadoc/network/server/Server.html new file mode 100644 index 0000000..47a5e10 --- /dev/null +++ b/javadoc/network/server/Server.html @@ -0,0 +1,233 @@ + + + + +Server + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Server

+
+
java.lang.Object +
network.server.Server
+
+
+
+
public class Server +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      broadcastPacket

      +
      public void broadcastPacket(Packet packet)
      +
      +
    • +
    • +
      +

      update

      +
      public void update()
      +
      +
    • +
    • +
      +

      stop

      +
      public void stop()
      +
      +
    • +
    • +
      +

      addPlayer

      +
      public Player addPlayer(String pseudo)
      +
      +
    • +
    • +
      +

      getGame

      +
      public Game getGame()
      +
      +
    • +
    • +
      +

      startGame

      +
      public void startGame(MultiDoku doku, + long gameDuration)
      +
      +
    • +
    • +
      +

      stopGame

      +
      public void stopGame()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/server/ServerAcceptThread.html b/javadoc/network/server/ServerAcceptThread.html new file mode 100644 index 0000000..e4e3e7a --- /dev/null +++ b/javadoc/network/server/ServerAcceptThread.html @@ -0,0 +1,214 @@ + + + + +ServerAcceptThread + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ServerAcceptThread

+
+
java.lang.Object +
java.lang.Thread +
network.server.ServerAcceptThread
+
+
+
+
+
All Implemented Interfaces:
+
Runnable
+
+
+
public class ServerAcceptThread +extends Thread
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ServerAcceptThread

      +
      public ServerAcceptThread(Server server)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      cancel

      +
      public void cancel()
      +
      +
    • +
    • +
      +

      run

      +
      public void run()
      +
      +
      Specified by:
      +
      run in interface Runnable
      +
      Overrides:
      +
      run in class Thread
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/server/ServerConnexion.html b/javadoc/network/server/ServerConnexion.html new file mode 100644 index 0000000..17bea40 --- /dev/null +++ b/javadoc/network/server/ServerConnexion.html @@ -0,0 +1,312 @@ + + + + +ServerConnexion + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ServerConnexion

+
+
java.lang.Object +
network.Connexion +
network.server.ServerConnexion
+
+
+
+
+
All Implemented Interfaces:
+
PacketVisitor
+
+
+
public class ServerConnexion +extends Connexion
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      update

      +
      public boolean update()
      +
      +
    • +
    • +
      +

      nukeConnection

      +
      public void nukeConnection()
      +
      +
    • +
    • +
      +

      close

      +
      public void close()
      +
      +
      Overrides:
      +
      close in class Connexion
      +
      +
      +
    • +
    • +
      +

      visitPacket

      +
      public void visitPacket(KeepAlivePacket packet)
      +
      +
    • +
    • +
      +

      visitPacket

      +
      public void visitPacket(DisconnectPacket packet)
      +
      +
    • +
    • +
      +

      visitPacket

      +
      public void visitPacket(LoginPacket packet)
      +
      +
    • +
    • +
      +

      visitPacket

      +
      public void visitPacket(ConnexionInfoPacket packet)
      +
      +
    • +
    • +
      +

      visitPacket

      +
      public void visitPacket(PlayerJoinPacket packet)
      +
      +
    • +
    • +
      +

      visitPacket

      +
      public void visitPacket(PlayerLeavePacket packet)
      +
      +
    • +
    • +
      +

      visitPacket

      +
      public void visitPacket(StartGamePacket packet)
      +
      +
    • +
    • +
      +

      visitPacket

      +
      public void visitPacket(EndGamePacket packet)
      +
      +
    • +
    • +
      +

      visitPacket

      +
      public void visitPacket(UpdatePlayerScorePacket packet)
      +
      +
    • +
    • +
      +

      visitPacket

      +
      public void visitPacket(ChangeCellPacket packet)
      +
      +
    • +
    • +
      +

      setSudoku

      +
      public void setSudoku(MultiDoku doku)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/server/ServerLogicThread.html b/javadoc/network/server/ServerLogicThread.html new file mode 100644 index 0000000..1c4d253 --- /dev/null +++ b/javadoc/network/server/ServerLogicThread.html @@ -0,0 +1,214 @@ + + + + +ServerLogicThread + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ServerLogicThread

+
+
java.lang.Object +
java.lang.Thread +
network.server.ServerLogicThread
+
+
+
+
+
All Implemented Interfaces:
+
Runnable
+
+
+
public class ServerLogicThread +extends Thread
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ServerLogicThread

      +
      public ServerLogicThread(Server server)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      cancel

      +
      public void cancel()
      +
      +
    • +
    • +
      +

      run

      +
      public void run()
      +
      +
      Specified by:
      +
      run in interface Runnable
      +
      Overrides:
      +
      run in class Thread
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/javadoc/network/server/package-summary.html b/javadoc/network/server/package-summary.html new file mode 100644 index 0000000..bfa4b7e --- /dev/null +++ b/javadoc/network/server/package-summary.html @@ -0,0 +1,114 @@ + + + + +network.server + + + + + + + + + + + + + + +
+ +
+
+
+

Package network.server

+
+
+
package network.server
+
+ +
+
+
+
+ + diff --git a/javadoc/network/server/package-tree.html b/javadoc/network/server/package-tree.html new file mode 100644 index 0000000..8f8d648 --- /dev/null +++ b/javadoc/network/server/package-tree.html @@ -0,0 +1,83 @@ + + + + +network.server Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package network.server

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/javadoc/overview-summary.html b/javadoc/overview-summary.html new file mode 100644 index 0000000..d49b4b2 --- /dev/null +++ b/javadoc/overview-summary.html @@ -0,0 +1,26 @@ + + + + +Generated Documentation (Untitled) + + + + + + + + + + + +
+ +

index.html

+
+ + diff --git a/javadoc/overview-tree.html b/javadoc/overview-tree.html new file mode 100644 index 0000000..253e681 --- /dev/null +++ b/javadoc/overview-tree.html @@ -0,0 +1,220 @@ + + + + +Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For All Packages

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+

Record Class Hierarchy

+ +
+
+
+
+ + diff --git a/javadoc/package-search-index.js b/javadoc/package-search-index.js new file mode 100644 index 0000000..551caee --- /dev/null +++ b/javadoc/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"common"},{"l":"game"},{"l":"gui"},{"l":"gui.constants"},{"l":"gui.menu"},{"l":"gui.widget"},{"l":"network"},{"l":"network.client"},{"l":"network.protocol"},{"l":"network.protocol.packets"},{"l":"network.server"},{"l":"sudoku"},{"l":"sudoku.constraint"},{"l":"sudoku.io"},{"l":"sudoku.solver"},{"l":"sudoku.structure"}];updateSearchResults(); \ No newline at end of file diff --git a/javadoc/resources/glass.png b/javadoc/resources/glass.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f591f467a1c0c949bbc510156a0c1afb860a6e GIT binary patch literal 499 zcmVJoRsvExf%rEN>jUL}qZ_~k#FbE+Q;{`;0FZwVNX2n-^JoI; zP;4#$8DIy*Yk-P>VN(DUKmPse7mx+ExD4O|;?E5D0Z5($mjO3`*anwQU^s{ZDK#Lz zj>~{qyaIx5K!t%=G&2IJNzg!ChRpyLkO7}Ry!QaotAHAMpbB3AF(}|_f!G-oI|uK6 z`id_dumai5K%C3Y$;tKS_iqMPHg<*|-@e`liWLAggVM!zAP#@l;=c>S03;{#04Z~5 zN_+ss=Yg6*hTr59mzMwZ@+l~q!+?ft!fF66AXT#wWavHt30bZWFCK%!BNk}LN?0Hg z1VF_nfs`Lm^DjYZ1(1uD0u4CSIr)XAaqW6IT{!St5~1{i=i}zAy76p%_|w8rh@@c0Axr!ns=D-X+|*sY6!@wacG9%)Qn*O zl0sa739kT-&_?#oVxXF6tOnqTD)cZ}2vi$`ZU8RLAlo8=_z#*P3xI~i!lEh+Pdu-L zx{d*wgjtXbnGX_Yf@Tc7Q3YhLhPvc8noGJs2DA~1DySiA&6V{5JzFt ojAY1KXm~va;tU{v7C?Xj0BHw!K;2aXV*mgE07*qoM6N<$f;4TDA^-pY literal 0 HcmV?d00001 diff --git a/javadoc/script-dir/jquery-3.6.1.min.js b/javadoc/script-dir/jquery-3.6.1.min.js new file mode 100644 index 0000000..2c69bc9 --- /dev/null +++ b/javadoc/script-dir/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/javadoc/script.js b/javadoc/script.js new file mode 100644 index 0000000..f1a0f25 --- /dev/null +++ b/javadoc/script.js @@ -0,0 +1,253 @@ +/* + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. + * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ + +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, '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); +} +// Workaround for scroll position not being included in browser history (8249133) +document.addEventListener("DOMContentLoaded", function(e) { + var contentDiv = document.querySelector("div.flex-content"); + window.addEventListener("popstate", function(e) { + if (e.state !== null) { + contentDiv.scrollTop = e.state; + } + }); + window.addEventListener("hashchange", function(e) { + history.replaceState(contentDiv.scrollTop, document.title); + }); + var timeoutId; + contentDiv.addEventListener("scroll", function(e) { + if (timeoutId) { + clearTimeout(timeoutId); + } + timeoutId = setTimeout(function() { + history.replaceState(contentDiv.scrollTop, document.title); + }, 100); + }); + if (!location.hash) { + history.replaceState(contentDiv.scrollTop, document.title); + } +}); diff --git a/javadoc/search-page.js b/javadoc/search-page.js new file mode 100644 index 0000000..e4da097 --- /dev/null +++ b/javadoc/search-page.js @@ -0,0 +1,284 @@ +/* + * Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. + * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ + +"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/javadoc/search.html b/javadoc/search.html new file mode 100644 index 0000000..e79da81 --- /dev/null +++ b/javadoc/search.html @@ -0,0 +1,72 @@ + + + + +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/javadoc/search.js b/javadoc/search.js new file mode 100644 index 0000000..4ca9557 --- /dev/null +++ b/javadoc/search.js @@ -0,0 +1,458 @@ +/* + * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved. + * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ +"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; +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(/(?=[A-Z,.()<>?[\/])/); + 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 += "(" + $.ui.autocomplete.escapeRegex(s).replace(/[,?]/g, "$&\\s*?") + ")"; + upperCase.push(false); + var isWordToken = /\w$/.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 += "([a-z0-9$<>?[\\]]*?)"; + } + upperCase.push(isUpperCase(s[0])); + } + } else { + pattern += "()"; + upperCase.push(false); + } + } + }); + var re = new RegExp(pattern, "gi"); + re.upperCase = upperCase; + return re; +} +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 isUpper = isUpperCase(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 && !/[\W_]/.test(prevChar) && !/[\W_]/.test(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 isUpperCase(s) { + return s !== s.toLowerCase(); +} +function isLowerCase(s) { + return s !== s.toUpperCase(); +} +function rateNoise(str) { + return (str.match(/([.(])/g) || []).length / 5 + + (str.match(/([A-Z]+)/g) || []).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/javadoc/serialized-form.html b/javadoc/serialized-form.html new file mode 100644 index 0000000..988df5a --- /dev/null +++ b/javadoc/serialized-form.html @@ -0,0 +1,314 @@ + + + + +Serialized Form + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Serialized Form

    +
    + +
    +
    +
    + + diff --git a/javadoc/stylesheet.css b/javadoc/stylesheet.css new file mode 100644 index 0000000..f71489f --- /dev/null +++ b/javadoc/stylesheet.css @@ -0,0 +1,1272 @@ +/* + * Javadoc style sheet + */ + +@import url('resources/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; +} +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 { + div.flex-box { + position:fixed; + display:flex; + flex-direction:column; + height: 100%; + width: 100%; + } + header.flex-header { + flex: 0 0 auto; + } + div.flex-content { + flex: 1 1 auto; + overflow-y: auto; + } +} +.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, +body.class-declaration-page .summary .inherited-list h2 { + background-color:var(--subnav-background-color); + border:1px solid var(--border-color); + margin:0 0 6px -8px; + padding:7px 5px; +} +/* + * Styles for page layout containers. + */ +main { + clear:both; + padding:10px 20px; + position:relative; +} +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:10px 0 0 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-x: auto; + 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: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 { + font-weight:bold; +} +.deprecation-comment, .help-footnote, .preview-comment { + font-style:italic; +} +.deprecation-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; +} +.preview-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; +} +/* + * Styles for javadoc search. + */ +.ui-state-active { + /* Overrides the color of selection used in jQuery UI */ + background: var(--selected-background-color); + border: 1px solid var(--selected-background-color); + color: var(--selected-text-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); +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:auto; + overflow-x:auto; + scrollbar-width: thin; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +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%; +} +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; +} +#search-input, #page-search-input { + background-image:url('resources/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('resources/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; +} +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.flex-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/javadoc/sudoku/Main.html b/javadoc/sudoku/Main.html new file mode 100644 index 0000000..0b5d38d --- /dev/null +++ b/javadoc/sudoku/Main.html @@ -0,0 +1,208 @@ + + + + +Main + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    Package sudoku
    +

    Class Main

    +
    +
    java.lang.Object +
    sudoku.Main
    +
    +
    +
    +
    public class Main +extends Object
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        Main

        +
        public Main()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        getGreeting

        +
        public String getGreeting()
        +
        +
      • +
      • +
        +

        voidTest

        +
        public static void voidTest()
        +
        +
      • +
      • +
        +

        filledTest

        +
        public static void filledTest()
        +
        +
      • +
      • +
        +

        overwriteTest

        +
        public static void overwriteTest(int n)
        +
        +
      • +
      • +
        +

        main

        +
        public static void main(String[] args)
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/SudokuSerializerTest.html b/javadoc/sudoku/SudokuSerializerTest.html new file mode 100644 index 0000000..e36e135 --- /dev/null +++ b/javadoc/sudoku/SudokuSerializerTest.html @@ -0,0 +1,145 @@ + + + + +SudokuSerializerTest + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    Package sudoku
    +

    Class SudokuSerializerTest

    +
    +
    java.lang.Object +
    sudoku.SudokuSerializerTest
    +
    +
    +
    +
    public class SudokuSerializerTest +extends Object
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        SudokuSerializerTest

        +
        public SudokuSerializerTest()
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/constraint/BlockConstraint.html b/javadoc/sudoku/constraint/BlockConstraint.html new file mode 100644 index 0000000..b99a88c --- /dev/null +++ b/javadoc/sudoku/constraint/BlockConstraint.html @@ -0,0 +1,188 @@ + + + + +BlockConstraint + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class BlockConstraint

    +
    +
    java.lang.Object +
    sudoku.constraint.BlockConstraint
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    IConstraint
    +
    +
    +
    public class BlockConstraint +extends Object +implements IConstraint
    +
    Contrainte de bloc
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        BlockConstraint

        +
        public BlockConstraint()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        canBePlaced

        +
        public boolean canBePlaced(Sudoku s, + int x, + int y, + int newSymbolIndex)
        +
        +
        Specified by:
        +
        canBePlaced in interface IConstraint
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/constraint/ColumnConstraint.html b/javadoc/sudoku/constraint/ColumnConstraint.html new file mode 100644 index 0000000..35da044 --- /dev/null +++ b/javadoc/sudoku/constraint/ColumnConstraint.html @@ -0,0 +1,188 @@ + + + + +ColumnConstraint + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class ColumnConstraint

    +
    +
    java.lang.Object +
    sudoku.constraint.ColumnConstraint
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    IConstraint
    +
    +
    +
    public class ColumnConstraint +extends Object +implements IConstraint
    +
    Contrainte de colonne
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        ColumnConstraint

        +
        public ColumnConstraint()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        canBePlaced

        +
        public boolean canBePlaced(Sudoku s, + int x, + int y, + int newSymbolIndex)
        +
        +
        Specified by:
        +
        canBePlaced in interface IConstraint
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/constraint/Constraint.html b/javadoc/sudoku/constraint/Constraint.html new file mode 100644 index 0000000..709cfa6 --- /dev/null +++ b/javadoc/sudoku/constraint/Constraint.html @@ -0,0 +1,267 @@ + + + + +Constraint + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Enum Class Constraint

    +
    +
    java.lang.Object +
    java.lang.Enum<Constraint> +
    sudoku.constraint.Constraint
    +
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Serializable, Comparable<Constraint>, Constable
    +
    +
    +
    public enum Constraint +extends Enum<Constraint>
    +
    Enumération utilisée afin de simplifier l'affichage en graphique. + Un sudoku peut tout de même contenir des contraintes qui ne sont pas dans cette énumération.
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Enum Constant Details

      +
        +
      • +
        +

        Block

        +
        public static final Constraint Block
        +
        +
      • +
      • +
        +

        Column

        +
        public static final Constraint Column
        +
        +
      • +
      • +
        +

        Line

        +
        public static final Constraint Line
        +
        +
      • +
      • +
        +

        Diagonal

        +
        public static final Constraint Diagonal
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        values

        +
        public static Constraint[] values()
        +
        Returns an array containing the constants of this enum class, in +the order they are declared.
        +
        +
        Returns:
        +
        an array containing the constants of this enum class, in the order they are declared
        +
        +
        +
      • +
      • +
        +

        valueOf

        +
        public static Constraint valueOf(String name)
        +
        Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        IllegalArgumentException - if this enum class has no constant with the specified name
        +
        NullPointerException - if the argument is null
        +
        +
        +
      • +
      • +
        +

        getDisplayName

        +
        public String getDisplayName()
        +
        +
      • +
      • +
        +

        getConstraint

        +
        public IConstraint getConstraint()
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/constraint/DiagonalConstraint.html b/javadoc/sudoku/constraint/DiagonalConstraint.html new file mode 100644 index 0000000..40a83ab --- /dev/null +++ b/javadoc/sudoku/constraint/DiagonalConstraint.html @@ -0,0 +1,188 @@ + + + + +DiagonalConstraint + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class DiagonalConstraint

    +
    +
    java.lang.Object +
    sudoku.constraint.DiagonalConstraint
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    IConstraint
    +
    +
    +
    public class DiagonalConstraint +extends Object +implements IConstraint
    +
    Contrainte de diagonale
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        DiagonalConstraint

        +
        public DiagonalConstraint()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        canBePlaced

        +
        public boolean canBePlaced(Sudoku s, + int x, + int y, + int newSymbolIndex)
        +
        +
        Specified by:
        +
        canBePlaced in interface IConstraint
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/constraint/IConstraint.html b/javadoc/sudoku/constraint/IConstraint.html new file mode 100644 index 0000000..72d439f --- /dev/null +++ b/javadoc/sudoku/constraint/IConstraint.html @@ -0,0 +1,151 @@ + + + + +IConstraint + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Interface IConstraint

    +
    +
    +
    +
    All Known Implementing Classes:
    +
    BlockConstraint, ColumnConstraint, DiagonalConstraint, LineConstraint
    +
    +
    +
    public interface IConstraint
    +
    Interface de base pour la déclaration d'une contrainte + Elle est en théorie assez générique pour implémenter n'importe quelle + contrainte
    +
    +
    +
      + +
    • +
      +

      Method Summary

      +
      +
      +
      +
      +
      Modifier and Type
      +
      Method
      +
      Description
      +
      boolean
      +
      canBePlaced(Sudoku s, + int x, + int y, + int newSymbolIndex)
      +
       
      +
      +
      +
      +
      +
    • +
    +
    +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        canBePlaced

        +
        boolean canBePlaced(Sudoku s, + int x, + int y, + int newSymbolIndex)
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/constraint/LineConstraint.html b/javadoc/sudoku/constraint/LineConstraint.html new file mode 100644 index 0000000..6c14d3f --- /dev/null +++ b/javadoc/sudoku/constraint/LineConstraint.html @@ -0,0 +1,188 @@ + + + + +LineConstraint + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class LineConstraint

    +
    +
    java.lang.Object +
    sudoku.constraint.LineConstraint
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    IConstraint
    +
    +
    +
    public class LineConstraint +extends Object +implements IConstraint
    +
    Contrainte de ligne
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        LineConstraint

        +
        public LineConstraint()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        canBePlaced

        +
        public boolean canBePlaced(Sudoku s, + int x, + int y, + int newSymbolIndex)
        +
        +
        Specified by:
        +
        canBePlaced in interface IConstraint
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/constraint/package-summary.html b/javadoc/sudoku/constraint/package-summary.html new file mode 100644 index 0000000..37edcad --- /dev/null +++ b/javadoc/sudoku/constraint/package-summary.html @@ -0,0 +1,134 @@ + + + + +sudoku.constraint + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package sudoku.constraint

    +
    +
    +
    package sudoku.constraint
    +
    +
      +
    • + +
    • +
    • +
      +
      +
      +
      +
      Class
      +
      Description
      + +
      +
      Contrainte de bloc
      +
      + +
      +
      Contrainte de colonne
      +
      + +
      +
      Enumération utilisée afin de simplifier l'affichage en graphique.
      +
      + +
      +
      Contrainte de diagonale
      +
      + +
      +
      Interface de base pour la déclaration d'une contrainte + Elle est en théorie assez générique pour implémenter n'importe quelle + contrainte
      +
      + +
      +
      Contrainte de ligne
      +
      +
      +
      +
      +
    • +
    +
    +
    +
    +
    + + diff --git a/javadoc/sudoku/constraint/package-tree.html b/javadoc/sudoku/constraint/package-tree.html new file mode 100644 index 0000000..2329ffe --- /dev/null +++ b/javadoc/sudoku/constraint/package-tree.html @@ -0,0 +1,94 @@ + + + + +sudoku.constraint Class Hierarchy + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package sudoku.constraint

    +
    +Package Hierarchies: + +
    +

    Class Hierarchy

    + +
    +
    +

    Interface Hierarchy

    + +
    +
    +

    Enum Class Hierarchy

    + +
    +
    +
    +
    + + diff --git a/javadoc/sudoku/io/ConsoleInterface.html b/javadoc/sudoku/io/ConsoleInterface.html new file mode 100644 index 0000000..24f1402 --- /dev/null +++ b/javadoc/sudoku/io/ConsoleInterface.html @@ -0,0 +1,181 @@ + + + + +ConsoleInterface + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    Package sudoku.io
    +

    Class ConsoleInterface

    +
    +
    java.lang.Object +
    sudoku.io.ConsoleInterface
    +
    +
    +
    +
    public class ConsoleInterface +extends Object
    +
    +
    +
      + +
    • +
      +

      Constructor Summary

      +
      Constructors
      +
      +
      Constructor
      +
      Description
      + +
       
      +
      +
      +
    • + +
    • +
      +

      Method Summary

      +
      +
      +
      +
      +
      Modifier and Type
      +
      Method
      +
      Description
      +
      void
      + +
      +
      Début de la séquence console, affiche un message de bienvenue et les crédits + du projet + puis donne à l'utilisateur le choix de récupérer un doku sauvegardé + ou d'en créer un nouveau.
      +
      +
      +
      +
      +
      +

      Methods inherited from class java.lang.Object

      +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +
      +
    • +
    +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        ConsoleInterface

        +
        public ConsoleInterface()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        welcome

        +
        public void welcome()
        +
        Début de la séquence console, affiche un message de bienvenue et les crédits + du projet + puis donne à l'utilisateur le choix de récupérer un doku sauvegardé + ou d'en créer un nouveau.
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/io/SudokuPrinter.html b/javadoc/sudoku/io/SudokuPrinter.html new file mode 100644 index 0000000..32f8cf0 --- /dev/null +++ b/javadoc/sudoku/io/SudokuPrinter.html @@ -0,0 +1,452 @@ + + + + +SudokuPrinter + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    Package sudoku.io
    +

    Class SudokuPrinter

    +
    +
    java.lang.Object +
    sudoku.io.SudokuPrinter
    +
    +
    +
    +
    public class SudokuPrinter +extends Object
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Field Details

      + +
      +
    • + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        SudokuPrinter

        +
        public SudokuPrinter()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        printRectangleSudoku

        +
        public static void printRectangleSudoku(Sudoku s, + int blockWidth, + int blockHeight, + Symbols symbols)
        +
        +
      • +
      • +
        +

        printRectangleSudoku

        +
        public static void printRectangleSudoku(Sudoku s, + int blockWidth, + int blockHeight, + List<String> listSymbols)
        +
        +
      • +
      • +
        +

        printRectangleSudokuWithIndex

        +
        public static void printRectangleSudokuWithIndex(Sudoku s, + int blockWidth, + int blockHeight, + List<String> listSymbols)
        +
        +
      • +
      • +
        +

        printMultiDoku

        +
        public static void printMultiDoku(RenderableMultidoku rm, + Symbols symbols, + int blockWidth, + int blockHeight)
        +
        +
      • +
      • +
        +

        printMultiDoku

        +
        public static void printMultiDoku(RenderableMultidoku rm, + List<String> listSymbols, + int blockWidth, + int blockHeight)
        +
        +
      • +
      • +
        +

        printMultiDokuWithIndex

        +
        public static void printMultiDokuWithIndex(RenderableMultidoku rm, + List<String> listSymbols, + int blockWidth, + int blockHeight)
        +
        +
      • +
      • +
        +

        toStringRectangleSudoku

        +
        public static String toStringRectangleSudoku(Sudoku s, + int blockWidth, + int blockHeight, + Symbols symbols)
        +
        +
      • +
      • +
        +

        toStringRectangleSudoku

        +
        public static String toStringRectangleSudoku(Sudoku s, + int blockWidth, + int blockHeight, + List<String> listSymbols)
        +
        +
      • +
      • +
        +

        printMultiDoku

        +
        public static void printMultiDoku(MultiDoku doku, + int blockWidth, + int blockHeight, + Symbols symbols)
        +
        +
      • +
      • +
        +

        printMultiDokuWithIndex

        +
        public static void printMultiDokuWithIndex(MultiDoku doku, + int blockWidth, + int blockHeight, + Symbols symbols)
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/io/SudokuSerializer.html b/javadoc/sudoku/io/SudokuSerializer.html new file mode 100644 index 0000000..33dc5e9 --- /dev/null +++ b/javadoc/sudoku/io/SudokuSerializer.html @@ -0,0 +1,269 @@ + + + + +SudokuSerializer + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    Package sudoku.io
    +

    Class SudokuSerializer

    +
    +
    java.lang.Object +
    sudoku.io.SudokuSerializer
    +
    +
    +
    +
    public class SudokuSerializer +extends Object
    +
    Classe permettant d'effectuer des opérations sur les sudokus afin de les + charger/sauvegarder
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        SudokuSerializer

        +
        public SudokuSerializer()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        serializeSudoku

        +
        public static org.json.JSONObject serializeSudoku(MultiDoku multidoku)
        +
        Convertit un sudoku en object JSON
        +
        +
        Parameters:
        +
        multidoku - le sudoku à sérialiser
        +
        Returns:
        +
        le JSON
        +
        +
        +
      • +
      • +
        +

        saveMultiDoku

        +
        public static String saveMultiDoku(MultiDoku doku)
        +
        Save a serialized MultiDoku in a JSON file.
        +
        +
        Parameters:
        +
        doku - MultiDoku, MultiDoku to save.
        +
        Returns:
        +
        String, the path of the save.
        +
        +
        +
      • +
      • +
        +

        saveMultiDoku

        +
        public static String saveMultiDoku(MultiDoku doku, + int saveToOverwrite)
        +
        +
      • +
      • +
        +

        getSavedMultiDoku

        +
        public static MultiDoku getSavedMultiDoku(int numberSave) + throws Exception
        +
        Get a MultiDoku from a pre-existing json save file.
        +
        +
        Parameters:
        +
        numberSave - int, number of the save file to open.
        +
        Returns:
        +
        MultiDoku, MultiDoku contained in the file.
        +
        Throws:
        +
        Exception - when the given save file does not exist.
        +
        +
        +
      • +
      • +
        +

        deserializeSudoku

        +
        public static MultiDoku deserializeSudoku(String json)
        +
        Construit un sudoku à partir d'un String en JSON
        +
        +
        Parameters:
        +
        json - le sudoku sérialisé
        +
        Returns:
        +
        le sudoku désérialisé
        +
        +
        +
      • +
      • +
        +

        deserializeSudoku

        +
        public static MultiDoku deserializeSudoku(org.json.JSONObject jsonObject)
        +
        Désérialise un sudoku d'un objet JSON
        +
        +
        Parameters:
        +
        jsonObject - l'objet à désérialiser
        +
        Returns:
        +
        le sudoku correspondant
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/io/package-summary.html b/javadoc/sudoku/io/package-summary.html new file mode 100644 index 0000000..c726306 --- /dev/null +++ b/javadoc/sudoku/io/package-summary.html @@ -0,0 +1,115 @@ + + + + +sudoku.io + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package sudoku.io

    +
    +
    +
    package sudoku.io
    +
    + +
    +
    +
    +
    + + diff --git a/javadoc/sudoku/io/package-tree.html b/javadoc/sudoku/io/package-tree.html new file mode 100644 index 0000000..02ba975 --- /dev/null +++ b/javadoc/sudoku/io/package-tree.html @@ -0,0 +1,73 @@ + + + + +sudoku.io Class Hierarchy + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package sudoku.io

    +
    +Package Hierarchies: + +
    +

    Class Hierarchy

    + +
    +
    +
    +
    + + diff --git a/javadoc/sudoku/package-summary.html b/javadoc/sudoku/package-summary.html new file mode 100644 index 0000000..c0bab85 --- /dev/null +++ b/javadoc/sudoku/package-summary.html @@ -0,0 +1,110 @@ + + + + +sudoku + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package sudoku

    +
    +
    +
    package sudoku
    +
    + +
    +
    +
    +
    + + diff --git a/javadoc/sudoku/package-tree.html b/javadoc/sudoku/package-tree.html new file mode 100644 index 0000000..c721349 --- /dev/null +++ b/javadoc/sudoku/package-tree.html @@ -0,0 +1,72 @@ + + + + +sudoku Class Hierarchy + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package sudoku

    +
    +Package Hierarchies: + +
    +

    Class Hierarchy

    + +
    +
    +
    +
    + + diff --git a/javadoc/sudoku/solver/BacktrackingSolver.html b/javadoc/sudoku/solver/BacktrackingSolver.html new file mode 100644 index 0000000..0a84166 --- /dev/null +++ b/javadoc/sudoku/solver/BacktrackingSolver.html @@ -0,0 +1,202 @@ + + + + +BacktrackingSolver + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    Package sudoku.solver
    +

    Class BacktrackingSolver

    +
    +
    java.lang.Object +
    sudoku.solver.BacktrackingSolver
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Solver
    +
    +
    +
    public class BacktrackingSolver +extends Object +implements Solver
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        BacktrackingSolver

        +
        public BacktrackingSolver()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        solve

        +
        public boolean solve(MultiDoku doku, + List<SolverStep> steps)
        +
        Résout le MultiDoku passé en paramètre, avec backtracking.
        +
        +
        Specified by:
        +
        solve in interface Solver
        +
        Parameters:
        +
        doku - MultiDoku, MultiDoku à résoudre.
        +
        Returns:
        +
        boolean, valant true si le MultiDoku est résolu, false sinon.
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/solver/HintHelper.Hint.html b/javadoc/sudoku/solver/HintHelper.Hint.html new file mode 100644 index 0000000..6912f02 --- /dev/null +++ b/javadoc/sudoku/solver/HintHelper.Hint.html @@ -0,0 +1,267 @@ + + + + +HintHelper.Hint + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    Package sudoku.solver
    +

    Record Class HintHelper.Hint

    +
    +
    java.lang.Object +
    java.lang.Record +
    sudoku.solver.HintHelper.Hint
    +
    +
    +
    +
    +
    Enclosing class:
    +
    HintHelper
    +
    +
    +
    public static record HintHelper.Hint(Cell cell, int newValue) +extends Record
    +
    +
    +
      + +
    • +
      +

      Constructor Summary

      +
      Constructors
      +
      +
      Constructor
      +
      Description
      +
      Hint(Cell cell, + int newValue)
      +
      +
      Creates an instance of a Hint record class.
      +
      +
      +
      +
    • + +
    • +
      +

      Method Summary

      +
      +
      +
      +
      +
      Modifier and Type
      +
      Method
      +
      Description
      + + +
      +
      Returns the value of the cell record component.
      +
      +
      final boolean
      + +
      +
      Indicates whether some other object is "equal to" this one.
      +
      +
      final int
      + +
      +
      Returns a hash code value for this object.
      +
      +
      int
      + +
      +
      Returns the value of the newValue record component.
      +
      +
      final String
      + +
      +
      Returns a string representation of this record class.
      +
      +
      +
      +
      +
      +

      Methods inherited from class java.lang.Object

      +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      +
      +
    • +
    +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        Hint

        +
        public Hint(Cell cell, + int newValue)
        +
        Creates an instance of a Hint record class.
        +
        +
        Parameters:
        +
        cell - the value for the cell record component
        +
        newValue - the value for the newValue record component
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        toString

        +
        public final String toString()
        +
        Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
        +
        +
        Specified by:
        +
        toString in class Record
        +
        Returns:
        +
        a string representation of this object
        +
        +
        +
      • +
      • +
        +

        hashCode

        +
        public final int hashCode()
        +
        Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
        +
        +
        Specified by:
        +
        hashCode in class Record
        +
        Returns:
        +
        a hash code value for this object
        +
        +
        +
      • +
      • +
        +

        equals

        +
        public final boolean equals(Object o)
        +
        Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
        +
        +
        Specified by:
        +
        equals in class Record
        +
        Parameters:
        +
        o - the object with which to compare
        +
        Returns:
        +
        true if this object is the same as the o argument; false otherwise.
        +
        +
        +
      • +
      • +
        +

        cell

        +
        public Cell cell()
        +
        Returns the value of the cell record component.
        +
        +
        Returns:
        +
        the value of the cell record component
        +
        +
        +
      • +
      • +
        +

        newValue

        +
        public int newValue()
        +
        Returns the value of the newValue record component.
        +
        +
        Returns:
        +
        the value of the newValue record component
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/solver/HintHelper.html b/javadoc/sudoku/solver/HintHelper.html new file mode 100644 index 0000000..e967157 --- /dev/null +++ b/javadoc/sudoku/solver/HintHelper.html @@ -0,0 +1,201 @@ + + + + +HintHelper + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    Package sudoku.solver
    +

    Class HintHelper

    +
    +
    java.lang.Object +
    sudoku.solver.HintHelper
    +
    +
    +
    +
    public class HintHelper +extends Object
    +
    +
    +
      + +
    • +
      +

      Nested Class Summary

      +
      Nested Classes
      +
      +
      Modifier and Type
      +
      Class
      +
      Description
      +
      static final record 
      + +
       
      +
      +
      +
    • + +
    • +
      +

      Constructor Summary

      +
      Constructors
      +
      +
      Constructor
      +
      Description
      + +
       
      +
      +
      +
    • + +
    • +
      +

      Method Summary

      +
      +
      +
      +
      +
      Modifier and Type
      +
      Method
      +
      Description
      + +
      getHint(MultiDoku doku, + Solver solver)
      +
      +
      Si possible, donne un indice sur la résolution du doku passé en paramètre, + selon la méthode de résolution rensaignée.
      +
      +
      +
      +
      +
      +

      Methods inherited from class java.lang.Object

      +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +
      +
    • +
    +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        HintHelper

        +
        public HintHelper()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        getHint

        +
        public static HintHelper.Hint getHint(MultiDoku doku, + Solver solver)
        +
        Si possible, donne un indice sur la résolution du doku passé en paramètre, + selon la méthode de résolution rensaignée.
        +
        +
        Parameters:
        +
        doku - MultiDoku, multidoku pour lequel on veut un indice
        +
        solver - Solver, méthode de résolution souhaitée
        +
        Returns:
        +
        Hint, indice sur une case à remplir, valant null si le doku n'a pas de solution.
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/solver/HumanSolver.html b/javadoc/sudoku/solver/HumanSolver.html new file mode 100644 index 0000000..221e3a5 --- /dev/null +++ b/javadoc/sudoku/solver/HumanSolver.html @@ -0,0 +1,202 @@ + + + + +HumanSolver + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    Package sudoku.solver
    +

    Class HumanSolver

    +
    +
    java.lang.Object +
    sudoku.solver.HumanSolver
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Solver
    +
    +
    +
    public class HumanSolver +extends Object +implements Solver
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        HumanSolver

        +
        public HumanSolver()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        solve

        +
        public boolean solve(MultiDoku doku, + List<SolverStep> steps)
        +
        Résout le MultiDoku passé en paramètre, avec règles de déduction.
        +
        +
        Specified by:
        +
        solve in interface Solver
        +
        Parameters:
        +
        doku - MultiDoku, MultiDoku à résoudre.
        +
        Returns:
        +
        boolean, valant true si le MultiDoku est résolu, false sinon.
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/solver/MixedSolver.html b/javadoc/sudoku/solver/MixedSolver.html new file mode 100644 index 0000000..1e548b6 --- /dev/null +++ b/javadoc/sudoku/solver/MixedSolver.html @@ -0,0 +1,204 @@ + + + + +MixedSolver + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    Package sudoku.solver
    +

    Class MixedSolver

    +
    +
    java.lang.Object +
    sudoku.solver.MixedSolver
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Solver
    +
    +
    +
    public class MixedSolver +extends Object +implements Solver
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        MixedSolver

        +
        public MixedSolver()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        solve

        +
        public boolean solve(MultiDoku doku, + List<SolverStep> steps)
        +
        Résout le MultiDoku passé en paramètre, avec règles de déduction et + backtracking.
        +
        +
        Specified by:
        +
        solve in interface Solver
        +
        Parameters:
        +
        doku - MultiDoku, MultiDoku à résoudre.
        +
        Returns:
        +
        boolean, valant true si le MultiDoku est résolu, false sinon.
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/solver/RandomSolver.html b/javadoc/sudoku/solver/RandomSolver.html new file mode 100644 index 0000000..609d2fb --- /dev/null +++ b/javadoc/sudoku/solver/RandomSolver.html @@ -0,0 +1,206 @@ + + + + +RandomSolver + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    Package sudoku.solver
    +

    Class RandomSolver

    +
    +
    java.lang.Object +
    sudoku.solver.RandomSolver
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Solver
    +
    +
    +
    public class RandomSolver +extends Object +implements Solver
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        RandomSolver

        +
        public RandomSolver()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        solve

        +
        public boolean solve(MultiDoku doku, + List<SolverStep> steps)
        +
        Résout, si possible, le multidoku passé en paramètre + en testant toutes les possibilités, de manière aléatoire, avec un algorithme + de backtracking.
        +
        +
        Specified by:
        +
        solve in interface Solver
        +
        Parameters:
        +
        doku - Multidoku, à résoudre
        +
        Returns:
        +
        boolean, true s'il est résolu ou false s'il ne l'est pas.
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/solver/Solver.html b/javadoc/sudoku/solver/Solver.html new file mode 100644 index 0000000..9038838 --- /dev/null +++ b/javadoc/sudoku/solver/Solver.html @@ -0,0 +1,224 @@ + + + + +Solver + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    Package sudoku.solver
    +

    Interface Solver

    +
    +
    +
    +
    All Known Implementing Classes:
    +
    BacktrackingSolver, HumanSolver, MixedSolver, RandomSolver, StupidSolver
    +
    +
    +
    public interface Solver
    +
    +
    +
      + +
    • +
      +

      Field Summary

      +
      Fields
      +
      +
      Modifier and Type
      +
      Field
      +
      Description
      +
      static final Logger
      + +
      +
      Log du Solver, qui garde trace des actions réalisées.
      +
      +
      +
      +
    • + +
    • +
      +

      Method Summary

      +
      +
      +
      +
      +
      Modifier and Type
      +
      Method
      +
      Description
      +
      default void
      +
      addStep(Cell cell, + List<SolverStep> steps)
      +
      +
      Méthode utilisée en interne afin de rajouter une étape si l'utilisateur le + souhaite (steps non null)
      +
      +
      default int
      + +
      +
      Compte le nombre de solutions possibles au MultiDoku passé en paramètres.
      +
      +
      default boolean
      + +
       
      +
      boolean
      +
      solve(MultiDoku doku, + List<SolverStep> solverSteps)
      +
       
      +
      +
      +
      +
      +
    • +
    +
    +
    +
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        logger

        +
        static final Logger logger
        +
        Log du Solver, qui garde trace des actions réalisées.
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        solve

        +
        boolean solve(MultiDoku doku, + List<SolverStep> solverSteps)
        +
        +
      • +
      • +
        +

        solve

        +
        default boolean solve(MultiDoku doku)
        +
        +
      • +
      • +
        +

        countSolution

        +
        default int countSolution(MultiDoku doku)
        +
        Compte le nombre de solutions possibles au MultiDoku passé en paramètres.
        +
        +
        Parameters:
        +
        doku - MultiDoku, MultiDoku dont on veut le nombre de solutions.
        +
        Returns:
        +
        int, nombre de solutions possibles.
        +
        +
        +
      • +
      • +
        +

        addStep

        +
        default void addStep(Cell cell, + List<SolverStep> steps)
        +
        Méthode utilisée en interne afin de rajouter une étape si l'utilisateur le + souhaite (steps non null)
        +
        +
        Parameters:
        +
        cell - la cellule qui a été modifiée
        +
        steps - la liste d'étape à mettre à jour
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/solver/SolverStep.html b/javadoc/sudoku/solver/SolverStep.html new file mode 100644 index 0000000..c9b4a78 --- /dev/null +++ b/javadoc/sudoku/solver/SolverStep.html @@ -0,0 +1,181 @@ + + + + +SolverStep + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    Package sudoku.solver
    +

    Class SolverStep

    +
    +
    java.lang.Object +
    sudoku.solver.SolverStep
    +
    +
    +
    +
    public class SolverStep +extends Object
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        SolverStep

        +
        public SolverStep(Cell cell)
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        getNewValue

        +
        public int getNewValue()
        +
        +
      • +
      • +
        +

        getCell

        +
        public Cell getCell()
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/solver/StupidSolver.html b/javadoc/sudoku/solver/StupidSolver.html new file mode 100644 index 0000000..2f0ca9e --- /dev/null +++ b/javadoc/sudoku/solver/StupidSolver.html @@ -0,0 +1,196 @@ + + + + +StupidSolver + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    Package sudoku.solver
    +

    Class StupidSolver

    +
    +
    java.lang.Object +
    sudoku.solver.StupidSolver
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Solver
    +
    +
    +
    public class StupidSolver +extends Object +implements Solver
    +
    Class de test non utilisé
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        StupidSolver

        +
        public StupidSolver()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      + +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/solver/package-summary.html b/javadoc/sudoku/solver/package-summary.html new file mode 100644 index 0000000..f9009e6 --- /dev/null +++ b/javadoc/sudoku/solver/package-summary.html @@ -0,0 +1,128 @@ + + + + +sudoku.solver + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package sudoku.solver

    +
    +
    +
    package sudoku.solver
    +
    + +
    +
    +
    +
    + + diff --git a/javadoc/sudoku/solver/package-tree.html b/javadoc/sudoku/solver/package-tree.html new file mode 100644 index 0000000..a043867 --- /dev/null +++ b/javadoc/sudoku/solver/package-tree.html @@ -0,0 +1,97 @@ + + + + +sudoku.solver Class Hierarchy + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package sudoku.solver

    +
    +Package Hierarchies: + +
    +

    Class Hierarchy

    + +
    +
    +

    Interface Hierarchy

    + +
    +
    +

    Record Class Hierarchy

    + +
    +
    +
    +
    + + diff --git a/javadoc/sudoku/structure/Block.html b/javadoc/sudoku/structure/Block.html new file mode 100644 index 0000000..a876d14 --- /dev/null +++ b/javadoc/sudoku/structure/Block.html @@ -0,0 +1,236 @@ + + + + +Block + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class Block

    +
    +
    java.lang.Object +
    sudoku.structure.Block
    +
    +
    +
    +
    public class Block +extends Object
    +
    Class qui représente les Block de chaque Sudoku, + Un Block étant un ensemble de cellule avec une contrainte de block qui lui + ait associé.
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        Block

        +
        public Block(List<Cell> cells)
        +
        Crée un Block avec une liste de Cell donnée.
        +
        +
        Parameters:
        +
        cells - List~Cell~
        +
        +
        +
      • +
      • +
        +

        Block

        +
        public Block()
        +
        Crée un Block avec une liste de Cell vide.
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        getCells

        +
        public List<Cell> getCells()
        +
        +
      • +
      • +
        +

        getSudokus

        +
        public List<Sudoku> getSudokus()
        +
        +
      • +
      • +
        +

        addCell

        +
        public void addCell(Cell newCell)
        +
        Ajoute une Cell au Block
        +
        +
        Parameters:
        +
        newCell - Cell, à ajouter
        +
        +
        +
      • +
      • +
        +

        containsSymbol

        +
        public boolean containsSymbol(int symbolIndex)
        +
        Cherche si le Block contient déjà un symbole donné.
        +
        +
        Parameters:
        +
        symbolIndex - int, un index de symbole
        +
        Returns:
        +
        boolean, true s'il contient le symbole et false sinon
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/structure/Cell.html b/javadoc/sudoku/structure/Cell.html new file mode 100644 index 0000000..0596085 --- /dev/null +++ b/javadoc/sudoku/structure/Cell.html @@ -0,0 +1,384 @@ + + + + +Cell + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class Cell

    +
    +
    java.lang.Object +
    sudoku.structure.Cell
    +
    +
    +
    +
    public class Cell +extends Object
    +
    Représente une case d'un, ou plusieurs, sudoku qui à comme valeur un index de symbole. + Celui ci pourra être remplacer par un symbole en temps voulu.
    +
    +
    +
      + +
    • +
      +

      Field Summary

      +
      Fields
      +
      +
      Modifier and Type
      +
      Field
      +
      Description
      +
      static int
      + +
      +
      Constante de valeur d'index de symbole quand il n'y en a pas, + soit que la Cell est vide.
      +
      +
      +
      +
    • + +
    • +
      +

      Constructor Summary

      +
      Constructors
      +
      +
      Constructor
      +
      Description
      + +
       
      +
      Cell(int symbolIndex)
      +
       
      +
      Cell(int symbolIndex, + boolean isMutable)
      +
       
      +
      +
      +
    • + +
    • +
      +

      Method Summary

      +
      +
      +
      +
      +
      Modifier and Type
      +
      Method
      +
      Description
      +
      boolean
      +
      canHaveValue(int value)
      +
      +
      Vérifie si la Cell peut prendre ce symbole par rapport aux contraintes de ses Sudokus.
      +
      +
      void
      + +
      +
      Vide la Cell.
      +
      +
      int
      + +
      +
      Vide la Cell, en renvoie l'ancien index du symbole qui était dedans.
      +
      + + +
      +
      Renvoie le Block qui la contient.
      +
      + + +
      +
      Renvoie les symboles que peut prendre cette Cell par rapport aux contraintes de ses Sudokus.
      +
      +
      int
      + +
       
      +
      boolean
      + +
      +
      Renvoie si la Cell est vide ou non.
      +
      +
      boolean
      + +
      +
      Renvoie si la Cell est modifiable
      +
      +
      void
      +
      setBlock(Block block)
      +
       
      +
      void
      + +
      +
      Rend la Cell immuable.
      +
      +
      void
      +
      setSymbolIndex(int symbolIndex)
      +
       
      +
      boolean
      +
      trySetValue(int newValue)
      +
      +
      Essaye de placer la valeur et renvoie false si ce n'est pas possible.
      +
      +
      +
      +
      +
      +

      Methods inherited from class java.lang.Object

      +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +
      +
    • +
    +
    +
    +
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        NOSYMBOL

        +
        public static int NOSYMBOL
        +
        Constante de valeur d'index de symbole quand il n'y en a pas, + soit que la Cell est vide.
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        Cell

        +
        public Cell()
        +
        +
      • +
      • +
        +

        Cell

        +
        public Cell(int symbolIndex)
        +
        +
      • +
      • +
        +

        Cell

        +
        public Cell(int symbolIndex, + boolean isMutable)
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        getSymbolIndex

        +
        public int getSymbolIndex()
        +
        +
      • +
      • +
        +

        getBlock

        +
        public Block getBlock()
        +
        Renvoie le Block qui la contient.
        +
        +
        Returns:
        +
        Block.
        +
        +
        +
      • +
      • +
        +

        isMutable

        +
        public boolean isMutable()
        +
        Renvoie si la Cell est modifiable
        +
        +
        Returns:
        +
        boolean, true si elle est modifiable ou false sinon.
        +
        +
        +
      • +
      • +
        +

        setSymbolIndex

        +
        public void setSymbolIndex(int symbolIndex)
        +
        +
      • +
      • +
        +

        setImmutable

        +
        public void setImmutable()
        +
        Rend la Cell immuable.
        +
        +
      • +
      • +
        +

        setBlock

        +
        public void setBlock(Block block)
        +
        +
      • +
      • +
        +

        clearCurrentSymbol

        +
        public void clearCurrentSymbol()
        +
        Vide la Cell.
        +
        +
      • +
      • +
        +

        isEmpty

        +
        public boolean isEmpty()
        +
        Renvoie si la Cell est vide ou non.
        +
        +
        Returns:
        +
        boolean, true si la Cell est vide, false sinon.
        +
        +
        +
      • +
      • +
        +

        empty

        +
        public int empty()
        +
        Vide la Cell, en renvoie l'ancien index du symbole qui était dedans.
        +
        +
        Returns:
        +
        int, index du symbole anciennement contenue dans la Cell.
        +
        +
        +
      • +
      • +
        +

        canHaveValue

        +
        public boolean canHaveValue(int value)
        +
        Vérifie si la Cell peut prendre ce symbole par rapport aux contraintes de ses Sudokus.
        +
        +
        Parameters:
        +
        value - int, index du symbole
        +
        Returns:
        +
        boolean, true si elle peut, false sinon.
        +
        +
        +
      • +
      • +
        +

        getPossibleSymbols

        +
        public List<Integer> getPossibleSymbols()
        +
        Renvoie les symboles que peut prendre cette Cell par rapport aux contraintes de ses Sudokus.
        +
        +
        Returns:
        +
        List~Integer~, la liste des symboles possibles.
        +
        +
        +
      • +
      • +
        +

        trySetValue

        +
        public boolean trySetValue(int newValue)
        +
        Essaye de placer la valeur et renvoie false si ce n'est pas possible.
        +
        +
        Parameters:
        +
        newValue - int, valeur à placer.
        +
        Returns:
        +
        boolean, true si la Cell à pris la valeur newValue, false sinon.
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/structure/Coordinate.html b/javadoc/sudoku/structure/Coordinate.html new file mode 100644 index 0000000..798d53b --- /dev/null +++ b/javadoc/sudoku/structure/Coordinate.html @@ -0,0 +1,238 @@ + + + + +Coordinate + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class Coordinate

    +
    +
    java.lang.Object +
    sudoku.structure.Coordinate
    +
    +
    +
    +
    public class Coordinate +extends Object
    +
    Représente les coordonnées d'une Cell.
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        Coordinate

        +
        public Coordinate(int x, + int y)
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        getX

        +
        public int getX()
        +
        +
      • +
      • +
        +

        setX

        +
        public void setX(int x)
        +
        +
      • +
      • +
        +

        getY

        +
        public int getY()
        +
        +
      • +
      • +
        +

        setY

        +
        public void setY(int y)
        +
        +
      • +
      • +
        +

        add

        +
        public Coordinate add(Coordinate other)
        +
        Ajoute la Coordiante donnée à celle-ci.
        +
        +
        Parameters:
        +
        other - Coordiante, à ajouter.
        +
        Returns:
        +
        Coordinate, le résultat de l'addition.
        +
        +
        +
      • +
      • +
        +

        sub

        +
        public Coordinate sub(Coordinate other)
        +
        Soustrait la Coordiante donnée à celle-ci.
        +
        +
        Parameters:
        +
        other - Coordiante, à soustraire.
        +
        Returns:
        +
        Coordinate, le résultat de la soustraction.
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/structure/Difficulty.html b/javadoc/sudoku/structure/Difficulty.html new file mode 100644 index 0000000..683ac4f --- /dev/null +++ b/javadoc/sudoku/structure/Difficulty.html @@ -0,0 +1,285 @@ + + + + +Difficulty + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Enum Class Difficulty

    +
    +
    java.lang.Object +
    java.lang.Enum<Difficulty> +
    sudoku.structure.Difficulty
    +
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Serializable, Comparable<Difficulty>, Constable
    +
    +
    +
    public enum Difficulty +extends Enum<Difficulty>
    +
    Les difficultés d'un Sudoku, + représente le nombre de cases à enlever, en proportion, à un Sudoku. + Par exemple, avec 0.1 de factor, on enlevera 10% des cases.
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Enum Constant Details

      +
        +
      • +
        +

        VeryEasy

        +
        public static final Difficulty VeryEasy
        +
        +
      • +
      • +
        +

        Easy

        +
        public static final Difficulty Easy
        +
        +
      • +
      • +
        +

        Medium

        +
        public static final Difficulty Medium
        +
        +
      • +
      • +
        +

        Hard

        +
        public static final Difficulty Hard
        +
        +
      • +
      • +
        +

        VeryHard

        +
        public static final Difficulty VeryHard
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        values

        +
        public static Difficulty[] values()
        +
        Returns an array containing the constants of this enum class, in +the order they are declared.
        +
        +
        Returns:
        +
        an array containing the constants of this enum class, in the order they are declared
        +
        +
        +
      • +
      • +
        +

        valueOf

        +
        public static Difficulty valueOf(String name)
        +
        Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        IllegalArgumentException - if this enum class has no constant with the specified name
        +
        NullPointerException - if the argument is null
        +
        +
        +
      • +
      • +
        +

        getDisplayName

        +
        public String getDisplayName()
        +
        +
      • +
      • +
        +

        getFactor

        +
        public double getFactor()
        +
        +
      • +
      • +
        +

        getDifficultyNames

        +
        public static String[] getDifficultyNames()
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/structure/MultiDoku.html b/javadoc/sudoku/structure/MultiDoku.html new file mode 100644 index 0000000..301011b --- /dev/null +++ b/javadoc/sudoku/structure/MultiDoku.html @@ -0,0 +1,386 @@ + + + + +MultiDoku + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class MultiDoku

    +
    +
    java.lang.Object +
    sudoku.structure.MultiDoku
    +
    +
    +
    +
    public class MultiDoku +extends Object
    +
    Class : MultiDoku + Brief : Représente une grille de Multidoku. + Une grille de sudoku est un multidoku avec un seul sous-sudoku.
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        MultiDoku

        +
        public MultiDoku(List<Sudoku> subGrids)
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        isSolved

        +
        public boolean isSolved()
        +
        Check si le MultiDoku est résolu, c'est à dire complet et cohérent avec ses contraintes.
        +
        +
        Returns:
        +
        boolean, true s'il est résolu et false sinon.
        +
        +
        +
      • +
      • +
        +

        getFilledCells

        +
        public List<Cell> getFilledCells()
        +
        Renvoie la liste des Cells préalablement remplies du MultiDoku.
        +
        +
        Returns:
        +
        List~Cell~, vide si aucune Cell n'est remplie.
        +
        +
        +
      • +
      • +
        +

        getEmptyCells

        +
        public List<Cell> getEmptyCells()
        +
        Renvoie la liste des Cells vides du MultiDoku.
        +
        +
        Returns:
        +
        List~Cell~, vide si aucune Cell ne l'est.
        +
        +
        +
      • +
      • +
        +

        getFirstEmptyCell

        +
        public Cell getFirstEmptyCell()
        +
        Renvoie la 1re Cell vide des sous-Sudoku.
        +
        +
        Returns:
        +
        Cell, une Cell vide, ou null s'il n'y en a pas.
        +
        +
        +
      • +
      • +
        +

        getNbSubGrids

        +
        public int getNbSubGrids()
        +
        Renvoie le nombre de sudoku contenu dans ce MultiDoku.
        +
        +
        Returns:
        +
        int
        +
        +
        +
      • +
      • +
        +

        getSubGrid

        +
        public Sudoku getSubGrid(int i)
        +
        Renvoie la ie sudoku contenue dans ce MultiDoku.
        +
        +
        Parameters:
        +
        i - int, indice du sudoku à renvoyer.
        +
        Returns:
        +
        Sudoku, ie Sudoku
        +
        +
        +
      • +
      • +
        +

        getCells

        +
        public List<Cell> getCells()
        +
        Renvoie la liste des Cells contenue dans ce MultiDoku, + soit les Cells contenues de chaques sous-Sudoku.
        +
        +
        Returns:
        +
        List~Cell~
        +
        +
        +
      • +
      • +
        +

        getNbCells

        +
        public int getNbCells()
        +
        Renvoie le nombre de Cell contenue dans le MultiDoku.
        +
        +
        Returns:
        +
        int, nombre de Cell dans le MultiDoku.
        +
        +
        +
      • +
      • +
        +

        setFilledCellsImmutable

        +
        public void setFilledCellsImmutable()
        +
        Change les Cells de ce MultiDoku avec des symboles, en Cells immuables.
        +
        +
      • +
      • +
        +

        clearMutableCells

        +
        public void clearMutableCells()
        +
        Vide les Cells modifiable.
        +
        +
      • +
      • +
        +

        getSubGrids

        +
        public List<Sudoku> getSubGrids()
        +
        Renvoie les sous-Sudoku
        +
        +
        Returns:
        +
        List~Sudoku~
        +
        +
        +
      • +
      • +
        +

        getStateManager

        +
        public StateManager getStateManager()
        +
        +
      • +
      • +
        +

        equals

        +
        public boolean equals(Object other)
        +
        +
        Overrides:
        +
        equals in class Object
        +
        +
        +
      • +
      • +
        +

        toString

        +
        public String toString()
        +
        +
        Overrides:
        +
        toString in class Object
        +
        +
        +
      • +
      • +
        +

        clone

        +
        public MultiDoku clone()
        +
        +
        Overrides:
        +
        clone in class Object
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/structure/StateManager.html b/javadoc/sudoku/structure/StateManager.html new file mode 100644 index 0000000..f8d2151 --- /dev/null +++ b/javadoc/sudoku/structure/StateManager.html @@ -0,0 +1,192 @@ + + + + +StateManager + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class StateManager

    +
    +
    java.lang.Object +
    sudoku.structure.StateManager
    +
    +
    +
    +
    public class StateManager +extends Object
    +
    Une pile, qui réprésente les états d'un MultiDoku, + utile pour les Solvers.
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        StateManager

        +
        public StateManager(MultiDoku doku)
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        pushState

        +
        public Map<Cell,Integer> pushState()
        +
        +
      • +
      • +
        +

        popState

        +
        public void popState()
        +
        +
      • +
      • +
        +

        popAndGetState

        +
        public Map<Cell,Integer> popAndGetState()
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/structure/Sudoku.html b/javadoc/sudoku/structure/Sudoku.html new file mode 100644 index 0000000..6e04257 --- /dev/null +++ b/javadoc/sudoku/structure/Sudoku.html @@ -0,0 +1,472 @@ + + + + +Sudoku + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class Sudoku

    +
    +
    java.lang.Object +
    sudoku.structure.Sudoku
    +
    +
    +
    +
    public class Sudoku +extends Object
    +
    Class : Sudoku + Brief : Représent un Sudoku
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      + +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        toCoords

        +
        public Coordinate toCoords(int index)
        +
        Transforme un index de Cell en Coordinate.
        +
        +
        Parameters:
        +
        index - int, index d'une Cell.
        +
        Returns:
        +
        Coordinate, correspondante à l'index donné.
        +
        +
        +
      • +
      • +
        +

        toIndex

        +
        public int toIndex(int x, + int y)
        +
        Transforme des coordonées d'une Cell en index.
        +
        +
        Parameters:
        +
        x - int, abscisse.
        +
        y - int, ordonnée.
        +
        Returns:
        +
        int, index correspondant.
        +
        +
        +
      • +
      • +
        +

        isValidCoords

        +
        public boolean isValidCoords(int x, + int y)
        +
        Vérifie que des coordonnées correspondent bien à une Cell dans le Sudoku.
        +
        +
        Returns:
        +
        boolean, valant true si les coordonnées sont dans les bornes du + Sudoku, false sinon.
        +
        +
        +
      • +
      • +
        +

        isValidCoords

        +
        public boolean isValidCoords(int index)
        +
        Vérifie que l'index correspond bien à une Cell dans le Sudoku.
        +
        +
        Returns:
        +
        boolean, valant true si l'index est dans les bornes du Sudoku, false + sinon.
        +
        +
        +
      • +
      • +
        +

        canBePlaced

        +
        public boolean canBePlaced(int x, + int y, + int value)
        +
        Teste si on peut placer la value dans la Cell aux coordonnées x, y d'après + les contraintes du Sudoku.
        +
        +
        Parameters:
        +
        x - int, abscisse de la Cell voulue.
        +
        y - int, ordonnée de la Cell voulue.
        +
        value - int, index du symbole qu'on veut placer.
        +
        Returns:
        +
        boolean, true si on peut la placer et false sinon.
        +
        +
        +
      • +
      • +
        +

        isSolved

        +
        public boolean isSolved()
        +
        Vérifie si le Sudoku est résolue, soit complet et cohérent avec ses + contraintes.
        +
        +
        Returns:
        +
        boolean, valant true si le Sudoku est résolu, false sinon.
        +
        +
        +
      • +
      • +
        +

        getCell

        +
        public Cell getCell(int x, + int y)
        +
        Renvoie la Cell aux coordonées données.
        +
        +
        Parameters:
        +
        x - int, abscisse.
        +
        y - int, ordonnée.
        +
        Returns:
        +
        Cell, si une Cell existe aux coordonnées données, null sinon.
        +
        +
        +
      • +
      • +
        +

        getFirstEmptyCell

        +
        public Cell getFirstEmptyCell()
        +
        Renvoie la 1re Cell vide du Sudoku.
        +
        +
        Returns:
        +
        Cell, une Cell vide, ou null s'il n'y en a pas.
        +
        +
        +
      • +
      • +
        +

        setCellSymbol

        +
        public Cell setCellSymbol(int x, + int y, + int value)
        +
        Place le symbole d'index value dans la Cell de coordonnées précisées.
        +
        +
        Parameters:
        +
        x - int, abscisse de la Cell voulue.
        +
        y - int, coordonnée de la Cell voulue.
        +
        value - int, index du symbole à placer.
        +
        Returns:
        +
        Cell, la Cell qui a été modifiée.
        +
        +
        +
      • +
      • +
        +

        setCellsSymbol

        +
        public boolean setCellsSymbol(List<Integer> values)
        +
        Place les symboles d'index contenus dans values dans les cases du Sudoku.
        +
        +
        Parameters:
        +
        values - List~Integer~, liste des index des symboles à placer.
        +
        Returns:
        +
        boolean, vaut true si les symboles ont été placés, false sinon.
        +
        +
        +
      • +
      • +
        +

        setImmutableCellsSymbol

        +
        public boolean setImmutableCellsSymbol(List<Integer> values)
        +
        Place les symboles d'index contenus dans values dans les cases du Sudoku et + rend ces cases immuables.
        +
        +
        Parameters:
        +
        values - List~Integer~, liste des index des symboles à placer.
        +
        Returns:
        +
        boolean, vaut true si les symboles ont été placés, false sinon.
        +
        +
        +
      • +
      • +
        +

        hasConstraint

        +
        public boolean hasConstraint(Constraint constraint)
        +
        +
      • +
      • +
        +

        getCell

        +
        public Cell getCell(int i)
        +
        +
      • +
      • +
        +

        getSize

        +
        public int getSize()
        +
        +
      • +
      • +
        +

        getCells

        +
        public List<Cell> getCells()
        +
        +
      • +
      • +
        +

        getBlocks

        +
        public List<Block> getBlocks()
        +
        +
      • +
      • +
        +

        getConstraints

        +
        public List<IConstraint> getConstraints()
        +
        +
      • +
      • +
        +

        getBlockWidth

        +
        public int getBlockWidth()
        +
        +
      • +
      • +
        +

        setBlockWidth

        +
        public void setBlockWidth(int blockWidth)
        +
        +
      • +
      • +
        +

        toString

        +
        public String toString()
        +
        +
        Overrides:
        +
        toString in class Object
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/structure/SudokuFactory.html b/javadoc/sudoku/structure/SudokuFactory.html new file mode 100644 index 0000000..dc5bfaf --- /dev/null +++ b/javadoc/sudoku/structure/SudokuFactory.html @@ -0,0 +1,480 @@ + + + + +SudokuFactory + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class SudokuFactory

    +
    +
    java.lang.Object +
    sudoku.structure.SudokuFactory
    +
    +
    +
    +
    public class SudokuFactory +extends Object
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        DEFAULT_CONSTRAINTS

        +
        public static List<IConstraint> DEFAULT_CONSTRAINTS
        +
        Liste des contraintes par défaut d'un Multi- ou Sudoku. + Comprend les contraintes de blocs, de lignes, et de colonnes.
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        SudokuFactory

        +
        public SudokuFactory()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        createBasicEmptyRectangleDoku

        +
        public static MultiDoku createBasicEmptyRectangleDoku(int widthBlock, + int heightBlock, + List<IConstraint> constraints)
        +
        Créée un MultiDoku vide dont les Blocks sont de taille widthBlock par + heightBlock.
        +
        +
        Parameters:
        +
        widthBlock - int, largeur des Blocks.
        +
        heightBlock - int, hauteur des Blocks.
        +
        Returns:
        +
        MultiDoku, MultiDoku vide.
        +
        +
        +
      • +
      • +
        +

        createBasicEmptySquareDoku

        +
        public static MultiDoku createBasicEmptySquareDoku(int size, + List<IConstraint> constraints)
        +
        Créée un MultiDoku vide dont les Blocks sont carrés de longueur size.
        +
        +
        Parameters:
        +
        size - int, taille des Blocks.
        +
        Returns:
        +
        MultiDoku, MultiDoku vide.
        +
        +
        +
      • +
      • +
        +

        createBasicXShapedMultidoku

        +
        public static MultiDoku createBasicXShapedMultidoku(int size, + List<IConstraint> constraints)
        +
        Créée un MultiDoku de Blocks carrés de taille size composé de cinq Sudokus, + dont un central qui partage chacun de ses Blockss d'angle avec un autre + Sudoku. + 2 3 + 1 + 4 5
        +
        +
        Parameters:
        +
        size - int, largeur des Blocks unitraires des Sudokus à crééer.
        +
        Returns:
        +
        MultiDoku, MultiDoku de forme X.
        +
        +
        +
      • +
      • +
        +

        createBasicXShapedMultidoku

        +
        public static MultiDoku createBasicXShapedMultidoku(int width, + int height, + List<IConstraint> constraints)
        +
        Créée un MultiDoku de Blocks rectangulaires de forme X, de taille width par height composé + de cinq Sudokus, + dont un central qui partage chacun de ses Blocks d'angle avec un autre + Sudoku. + 2 3 + 1 + 4 5
        +
        +
        Parameters:
        +
        width - int, largeur des Blocks unitaires des Sudokus à crééer.
        +
        height - int, hauteur des Blocks unitaires des Sudokus à crééer.
        +
        Returns:
        +
        MultiDoku, MultiDoku de forme X.
        +
        +
        +
      • +
      • +
        +

        createBasicPlusShapedMultidoku

        +
        public static MultiDoku createBasicPlusShapedMultidoku(int size, + List<IConstraint> constraints)
        +
        Créée un MultiDoku de Blocks carrés de forme +, de taille size composé + de cinq Sudokus, + dont un central qui partage chacun de ses Blocks de bord avec un autre + Sudoku. + 3 + 2 1 4 + 5
        +
        +
        Parameters:
        +
        size - int, largeur des Blocks unitaires des Sudokus à crééer.
        +
        Returns:
        +
        MultiDoku, MultiDoku de forme +.
        +
        +
        +
      • +
      • +
        +

        createBasicPlusShapedMultidoku

        +
        public static MultiDoku createBasicPlusShapedMultidoku(int width, + int height, + List<IConstraint> constraints)
        +
        Créée un MultiDoku de Blocks rectangulaires de forme +, de taille width par height composé + de cinq Sudokus, + dont un central qui partage chacun de ses Blocks de bord avec un autre + Sudoku. + 3 + 2 1 4 + 5
        +
        +
        Parameters:
        +
        width - int, largeur des Blocks unitaires des Sudokus à crééer.
        +
        height - int, hauteur des Blocks unitaires des Sudokus à crééer.
        +
        Returns:
        +
        MultiDoku, MultiDoku de forme +.
        +
        +
        +
      • +
      • +
        +

        createBasicEmptyRandomBlockDoku

        +
        public static MultiDoku createBasicEmptyRandomBlockDoku(int blockSize, + List<IConstraint> constraints)
        +
        Crée un Sudoku vide avec les Blocks aléatoires.
        +
        +
        Parameters:
        +
        blockSize - int, la taille des Block.
        +
        constraints - List~IConstraint~, la liste des contraintes.
        +
        Returns:
        +
        MultiDoku, avec un seul Sudoku.
        +
        +
        +
      • +
      • +
        +

        newDokuFromFilledOne

        +
        public static boolean newDokuFromFilledOne(MultiDoku doku, + int nbCellsToEmpty, + Solver solver) + throws Exception
        +
        Créée un MultiDoku de difficulté difficulty à partir d'un MultiDoku fourni.
        +
        +
        Parameters:
        +
        doku - MultiDoku, MultiDoku dont on doit vider des Cells.
        +
        nbCellsToEmpty - int, nombre de cases à retirer.
        +
        Returns:
        +
        boolean, valant true si un MultiDoku de difficulté donnée peut être + créée, false sinon.
        +
        Throws:
        +
        Exception - si la difficulté n'est pas compatible avec la taille du + MultiDoku.
        +
        +
        +
      • +
      • +
        +

        fillDoku

        +
        public static void fillDoku(MultiDoku doku, + Difficulty difficulty) + throws Exception
        +
        Rempli un MultiDoku donné par rapport à un difficulté.
        +
        +
        Parameters:
        +
        doku - MultiDoku, vide.
        +
        difficulty - Difficulty, qui correspond au pourcentage de cases à enlever.
        +
        Throws:
        +
        Exception
        +
        +
        +
      • +
      • +
        +

        fromfile

        +
        public static MultiDoku fromfile(String filePath)
        +
        Génère un MultiDoku à partir d'un fichier de sauvegarde.
        +
        +
        Parameters:
        +
        filePath - String, chemin du fichier.
        +
        Returns:
        +
        MultiDoku.
        +
        +
        +
      • +
      • +
        +

        fromConstraints

        +
        public static List<IConstraint> fromConstraints(List<Constraint> constraints)
        +
        Transforme des Constraints en IConstraints correspondants.
        +
        +
        Parameters:
        +
        constraints - List~Constraints~
        +
        Returns:
        +
        List~IConstraints~
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/javadoc/sudoku/structure/package-summary.html b/javadoc/sudoku/structure/package-summary.html new file mode 100644 index 0000000..43aa957 --- /dev/null +++ b/javadoc/sudoku/structure/package-summary.html @@ -0,0 +1,144 @@ + + + + +sudoku.structure + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package sudoku.structure

    +
    +
    +
    package sudoku.structure
    +
    +
      +
    • + +
    • +
    • +
      +
      +
      +
      +
      Class
      +
      Description
      + +
      +
      Class qui représente les Block de chaque Sudoku, + Un Block étant un ensemble de cellule avec une contrainte de block qui lui + ait associé.
      +
      + +
      +
      Représente une case d'un, ou plusieurs, sudoku qui à comme valeur un index de symbole.
      +
      + +
      +
      Représente les coordonnées d'une Cell.
      +
      + +
      +
      Les difficultés d'un Sudoku, + représente le nombre de cases à enlever, en proportion, à un Sudoku.
      +
      + +
      +
      Class : MultiDoku + Brief : Représente une grille de Multidoku.
      +
      + +
      +
      Une pile, qui réprésente les états d'un MultiDoku, + utile pour les Solvers.
      +
      + +
      +
      Class : Sudoku + Brief : Représent un Sudoku
      +
      + +
       
      +
      +
      +
      +
    • +
    +
    +
    +
    +
    + + diff --git a/javadoc/sudoku/structure/package-tree.html b/javadoc/sudoku/structure/package-tree.html new file mode 100644 index 0000000..8c787e2 --- /dev/null +++ b/javadoc/sudoku/structure/package-tree.html @@ -0,0 +1,91 @@ + + + + +sudoku.structure Class Hierarchy + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package sudoku.structure

    +
    +Package Hierarchies: + +
    +

    Class Hierarchy

    + +
    +
    +

    Enum Class Hierarchy

    + +
    +
    +
    +
    + + diff --git a/javadoc/tag-search-index.js b/javadoc/tag-search-index.js new file mode 100644 index 0000000..bf10aaf --- /dev/null +++ b/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/javadoc/type-search-index.js b/javadoc/type-search-index.js new file mode 100644 index 0000000..5f7c5fa --- /dev/null +++ b/javadoc/type-search-index.js @@ -0,0 +1 @@ +typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"gui.widget","l":"AnimatedBackground"},{"p":"gui","l":"AssetManager"},{"p":"sudoku.solver","l":"BacktrackingSolver"},{"p":"gui.menu","l":"BaseView"},{"p":"sudoku.structure","l":"Block"},{"p":"sudoku.constraint","l":"BlockConstraint"},{"p":"sudoku.structure","l":"Cell"},{"p":"network.protocol.packets","l":"ChangeCellPacket"},{"p":"network.client","l":"Client"},{"p":"network.client","l":"ClientConnexion"},{"p":"gui","l":"ColorGenerator.Color"},{"p":"gui","l":"ColorGenerator"},{"p":"sudoku.constraint","l":"ColumnConstraint"},{"p":"network","l":"Connexion"},{"p":"network.protocol.packets","l":"ConnexionInfoPacket"},{"p":"gui.menu","l":"ConnexionStatusView"},{"p":"network","l":"ConnexionThread"},{"p":"sudoku.io","l":"ConsoleInterface"},{"p":"sudoku.constraint","l":"Constraint"},{"p":"common","l":"ConsumerSignal"},{"p":"sudoku.structure","l":"Coordinate"},{"p":"sudoku.constraint","l":"DiagonalConstraint"},{"p":"sudoku.structure","l":"Difficulty"},{"p":"network.protocol.packets","l":"DisconnectPacket"},{"p":"network.protocol.packets","l":"EndGamePacket"},{"p":"gui.menu","l":"EndGameView"},{"p":"gui.constants","l":"Fonts"},{"p":"game","l":"Game"},{"p":"game","l":"Game.GameState"},{"p":"sudoku.solver","l":"HintHelper.Hint"},{"p":"sudoku.solver","l":"HintHelper"},{"p":"sudoku.solver","l":"HumanSolver"},{"p":"sudoku.constraint","l":"IConstraint"},{"p":"gui.constants","l":"Images"},{"p":"network.server","l":"KeepAliveHandler"},{"p":"network.protocol.packets","l":"KeepAlivePacket"},{"p":"gui.widget","l":"LeaderboardRenderer"},{"p":"sudoku.constraint","l":"LineConstraint"},{"p":"network.protocol.packets","l":"LoginPacket"},{"p":"gui","l":"Main"},{"p":"sudoku","l":"Main"},{"p":"gui.menu","l":"MainMenu"},{"p":"sudoku.solver","l":"MixedSolver"},{"p":"sudoku.structure","l":"MultiDoku"},{"p":"gui.menu","l":"MultiMenu"},{"p":"gui.widget","l":"MultiPlayerCompleteProgress"},{"p":"gui.menu","l":"MultiPlayerDokuView"},{"p":"gui.menu","l":"MultiPlayerView"},{"p":"gui.constants","l":"Options"},{"p":"gui.menu","l":"OptionsMenu"},{"p":"network.protocol","l":"Packet"},{"p":"network.protocol","l":"Packets"},{"p":"network.protocol","l":"PacketVisitor"},{"p":"game","l":"Player"},{"p":"network.protocol.packets","l":"PlayerJoinPacket"},{"p":"network.protocol.packets","l":"PlayerLeavePacket"},{"p":"sudoku.solver","l":"RandomSolver"},{"p":"gui","l":"RenderableMultidoku"},{"p":"network.server","l":"Server"},{"p":"network.server","l":"ServerAcceptThread"},{"p":"network.server","l":"ServerConnexion"},{"p":"network.server","l":"ServerLogicThread"},{"p":"common","l":"Signal"},{"p":"gui.widget","l":"SmoothProgressBar"},{"p":"gui.menu","l":"SoloMenu"},{"p":"sudoku.solver","l":"Solver"},{"p":"sudoku.solver","l":"SolverStep"},{"p":"network.protocol.packets","l":"StartGamePacket"},{"p":"gui.menu","l":"StateMachine"},{"p":"sudoku.structure","l":"StateManager"},{"p":"sudoku.solver","l":"StupidSolver"},{"p":"sudoku.structure","l":"Sudoku"},{"p":"sudoku.structure","l":"SudokuFactory"},{"p":"sudoku.io","l":"SudokuPrinter"},{"p":"gui.widget","l":"SudokuRenderer"},{"p":"gui.widget","l":"SudokuSelector"},{"p":"sudoku.io","l":"SudokuSerializer"},{"p":"sudoku","l":"SudokuSerializerTest"},{"p":"gui.constants","l":"SudokuType"},{"p":"gui.menu","l":"SudokuView"},{"p":"gui.constants","l":"Symbols"},{"p":"gui.widget","l":"TimerRenderer"},{"p":"network.protocol.packets","l":"UpdatePlayerScorePacket"}];updateSearchResults(); \ No newline at end of file