From 923f48ffc733059bdb12782091aa9aff2a72ee3d Mon Sep 17 00:00:00 2001 From: Antone Barbaud Date: Wed, 10 Jun 2026 10:54:35 +0200 Subject: [PATCH] refactor: split team/player/message into impl/ and exception/ subpackages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each domain now has: - Top-level package: contracts (interfaces, entities, enums, values, events). - exception/ subpackage: exception hierarchy. - impl/ subpackage: implementations CR-Core ships by default, swappable by a game plugin if needed. Moved (FQN changes for consumers): - fr.luc.crcore.team.TeamException (+ AlreadyExists, NotFound, Access) → fr.luc.crcore.team.exception.* - fr.luc.crcore.team.TeamServiceImpl, BukkitEventFiringTeamServiceImpl, InMemoryTeamRepository, SqliteTeamRepository → fr.luc.crcore.team.impl.* - fr.luc.crcore.player.PlayerException, PlayerProfileNotFoundException → fr.luc.crcore.player.exception.* - fr.luc.crcore.player.PlayerProfileServiceImpl, BukkitEventFiringPlayerProfileServiceImpl, InMemoryPlayerProfileRepository, SqlitePlayerProfileRepository → fr.luc.crcore.player.impl.* - fr.luc.crcore.message.YamlMessagesService → fr.luc.crcore.message.impl.YamlMessagesService Unchanged top-level packages: database/, command/, common/ (already small and well-organized). Events stay where they were (already in event/ subpackages). setup.md tree updated to reflect the new layout. decisions.md logs the rationale (consumer-facing FQNs, separation between contract and impl). Co-Authored-By: Claude Opus 4.7 --- docs/decisions.md | 34 +++++++ docs/setup.md | 96 ++++++++++--------- src/main/java/fr/luc/crcore/CRCore.java | 14 +-- .../builtin/team/TeamCreateSubCommand.java | 2 +- .../builtin/team/TeamJoinSubCommand.java | 2 +- .../{ => impl}/YamlMessagesService.java | 3 +- .../{ => exception}/PlayerException.java | 2 +- .../PlayerProfileNotFoundException.java | 2 +- ...itEventFiringPlayerProfileServiceImpl.java | 8 +- .../InMemoryPlayerProfileRepository.java | 8 +- .../{ => impl}/PlayerProfileServiceImpl.java | 8 +- .../SqlitePlayerProfileRepository.java | 8 +- .../{ => exception}/TeamAccessException.java | 2 +- .../TeamAlreadyExistsException.java | 2 +- .../team/{ => exception}/TeamException.java | 2 +- .../TeamNotFoundException.java | 2 +- .../BukkitEventFiringTeamServiceImpl.java | 14 ++- .../{ => impl}/InMemoryTeamRepository.java | 14 ++- .../team/{ => impl}/SqliteTeamRepository.java | 14 ++- .../team/{ => impl}/TeamServiceImpl.java | 14 ++- 20 files changed, 183 insertions(+), 68 deletions(-) rename src/main/java/fr/luc/crcore/message/{ => impl}/YamlMessagesService.java (99%) rename src/main/java/fr/luc/crcore/player/{ => exception}/PlayerException.java (85%) rename src/main/java/fr/luc/crcore/player/{ => exception}/PlayerProfileNotFoundException.java (80%) rename src/main/java/fr/luc/crcore/player/{ => impl}/BukkitEventFiringPlayerProfileServiceImpl.java (80%) rename src/main/java/fr/luc/crcore/player/{ => impl}/InMemoryPlayerProfileRepository.java (74%) rename src/main/java/fr/luc/crcore/player/{ => impl}/PlayerProfileServiceImpl.java (94%) rename src/main/java/fr/luc/crcore/player/{ => impl}/SqlitePlayerProfileRepository.java (90%) rename src/main/java/fr/luc/crcore/team/{ => exception}/TeamAccessException.java (78%) rename src/main/java/fr/luc/crcore/team/{ => exception}/TeamAlreadyExistsException.java (80%) rename src/main/java/fr/luc/crcore/team/{ => exception}/TeamException.java (85%) rename src/main/java/fr/luc/crcore/team/{ => exception}/TeamNotFoundException.java (79%) rename src/main/java/fr/luc/crcore/team/{ => impl}/BukkitEventFiringTeamServiceImpl.java (84%) rename src/main/java/fr/luc/crcore/team/{ => impl}/InMemoryTeamRepository.java (74%) rename src/main/java/fr/luc/crcore/team/{ => impl}/SqliteTeamRepository.java (95%) rename src/main/java/fr/luc/crcore/team/{ => impl}/TeamServiceImpl.java (95%) diff --git a/docs/decisions.md b/docs/decisions.md index 5204421..48f70e8 100644 --- a/docs/decisions.md +++ b/docs/decisions.md @@ -367,6 +367,40 @@ Format léger : une décision = un titre + contexte + choix + raison. bases existantes, ALTER TABLE manuel ou suppression du fichier (les bases d'event sont jetables). +## 2026-06-09 — Réorganisation packages : `impl/` et `exception/` séparés + +- **Choix** : pour chaque domaine (`team`, `player`, `message`), les + implémentations passent dans un sous-package `impl/` et les exceptions dans + un sous-package `exception/`. Le top-level du package ne contient plus que + les contrats publics (interfaces, entités, enums, values). +- **Conséquences sur les FQN publics** (importer côté plugin de jeu si on les + utilise) : + - `fr.luc.crcore.team.TeamException` → `fr.luc.crcore.team.exception.TeamException` + (et ses 3 sous-classes) + - `fr.luc.crcore.team.TeamServiceImpl` → `fr.luc.crcore.team.impl.TeamServiceImpl` + (idem `BukkitEventFiring*`, `InMemory*Repository`, `Sqlite*Repository`) + - `fr.luc.crcore.player.PlayerException` → `fr.luc.crcore.player.exception.PlayerException` + (et `PlayerProfileNotFoundException`) + - `fr.luc.crcore.player.*Impl` / `*Repository` impl → `fr.luc.crcore.player.impl.*` + - `fr.luc.crcore.message.YamlMessagesService` → `fr.luc.crcore.message.impl.YamlMessagesService` +- **Inchangés** : tous les enums, entités, interfaces de service et de repo, + ranking records, events (qui étaient déjà dans un sous-package + {@code event/}). +- **Raison** : lisibilité. Un dev qui ouvre `fr.luc.crcore.team/` voit + immédiatement les contrats (Team, TeamService, TeamRepository, enums, + events) sans se faire noyer par les impls. Pour overrider, il sait où + chercher (`impl/`). Pour catch une exception, il sait où chercher + (`exception/`). +- **Convention top-level vs impl/** : + - **Top-level** = ce qu'un consommateur doit connaître pour utiliser ou + étendre l'API : interfaces, entités, enums, values, events. + - **impl/** = ce que CR-Core fournit par défaut, qu'un game plugin peut + swap. C'est aussi là que vivent les sous-classes utilisées en interne + par le bootstrap (BukkitEventFiring*ServiceImpl, Sqlite*Repository). +- **Pas appliqué à `database/`, `command/` et `common/`** : ces packages + sont déjà petits et bien lisibles ; ajouter `impl/` à 3 fichiers serait + cosmétique. + ## 2026-06-09 — `MessagesService` : YAML externalisable, un seul fichier par plugin - **Choix** : nouveau module `fr.luc.crcore.message` avec une interface diff --git a/docs/setup.md b/docs/setup.md index 67553e5..8b62055 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -211,50 +211,58 @@ CitesPlugin/ # dossier IntelliJ (renommer plus t │ ├── TeamScoreSubCommand.java # /core team score (admin) │ ├── TeamTopSubCommand.java # /core team top │ └── TeamSetSpawnSubCommand.java # /core team setspawn - ├── team/ - │ ├── Team.java - │ ├── TeamMember.java - │ ├── TeamRole.java - │ ├── TeamColor.java - │ ├── TeamVisibility.java - │ ├── TeamRanking.java # record - │ ├── TeamRepository.java - │ ├── InMemoryTeamRepository.java - │ ├── SqliteTeamRepository.java - │ ├── TeamService.java - │ ├── TeamServiceImpl.java - │ ├── BukkitEventFiringTeamServiceImpl.java # impl par défaut - │ ├── TeamException.java - │ ├── TeamAlreadyExistsException.java - │ ├── TeamNotFoundException.java - │ ├── TeamAccessException.java - │ └── event/ # Bukkit events team - │ ├── TeamEvent.java # base - │ ├── TeamCreateEvent.java - │ ├── TeamDissolveEvent.java - │ ├── TeamMemberAddEvent.java - │ ├── TeamMemberRemoveEvent.java - │ ├── PlayerJoinTeamEvent.java - │ ├── TeamLeadershipTransferEvent.java - │ ├── TeamVisibilityChangeEvent.java - │ ├── TeamScoreChangeEvent.java - │ └── TeamSpawnPointChangeEvent.java - └── player/ - ├── PlayerProfile.java - ├── PlayerRanking.java - ├── PlayerProfileRepository.java - ├── InMemoryPlayerProfileRepository.java - ├── SqlitePlayerProfileRepository.java - ├── PlayerProfileService.java - ├── PlayerProfileServiceImpl.java - ├── BukkitEventFiringPlayerProfileServiceImpl.java - ├── PlayerException.java - ├── PlayerProfileNotFoundException.java - └── event/ # Bukkit events player - ├── PlayerProfileEvent.java - ├── PlayerProfileCreateEvent.java - ├── PlayerProfileDeleteEvent.java - └── PlayerScoreChangeEvent.java + ├── message/ # service de messages YAML + │ ├── MessagesService.java # interface (contrat public) + │ └── impl/ + │ └── YamlMessagesService.java # impl par défaut + ├── team/ # contrats + entités au top + │ ├── Team.java # entité + │ ├── TeamMember.java # entité + │ ├── TeamRole.java # enum + │ ├── TeamColor.java # enum + │ ├── TeamVisibility.java # enum + │ ├── TeamRanking.java # value + │ ├── TeamService.java # interface + │ ├── TeamRepository.java # interface + │ ├── event/ # Bukkit events team + │ │ ├── TeamEvent.java # base + │ │ ├── TeamCreateEvent.java + │ │ ├── TeamDissolveEvent.java + │ │ ├── TeamMemberAddEvent.java + │ │ ├── TeamMemberRemoveEvent.java + │ │ ├── PlayerJoinTeamEvent.java + │ │ ├── TeamLeadershipTransferEvent.java + │ │ ├── TeamVisibilityChangeEvent.java + │ │ ├── TeamScoreChangeEvent.java + │ │ └── TeamSpawnPointChangeEvent.java + │ ├── exception/ # hiérarchie d'exceptions team + │ │ ├── TeamException.java # base + │ │ ├── TeamAlreadyExistsException.java + │ │ ├── TeamNotFoundException.java + │ │ └── TeamAccessException.java + │ └── impl/ # implémentations swappables + │ ├── TeamServiceImpl.java # service de base + │ ├── BukkitEventFiringTeamServiceImpl.java # impl par défaut + │ ├── InMemoryTeamRepository.java # repo en mémoire + │ └── SqliteTeamRepository.java # repo SQLite write-through + └── player/ # contrats + entités au top + ├── PlayerProfile.java # entité + ├── PlayerRanking.java # value + ├── PlayerProfileService.java # interface + ├── PlayerProfileRepository.java # interface + ├── event/ # Bukkit events player + │ ├── PlayerProfileEvent.java + │ ├── PlayerProfileCreateEvent.java + │ ├── PlayerProfileDeleteEvent.java + │ └── PlayerScoreChangeEvent.java + ├── exception/ + │ ├── PlayerException.java + │ └── PlayerProfileNotFoundException.java + └── impl/ + ├── PlayerProfileServiceImpl.java + ├── BukkitEventFiringPlayerProfileServiceImpl.java + ├── InMemoryPlayerProfileRepository.java + └── SqlitePlayerProfileRepository.java ``` ## Fichier messages diff --git a/src/main/java/fr/luc/crcore/CRCore.java b/src/main/java/fr/luc/crcore/CRCore.java index fe6189c..dd444f4 100644 --- a/src/main/java/fr/luc/crcore/CRCore.java +++ b/src/main/java/fr/luc/crcore/CRCore.java @@ -3,15 +3,15 @@ package fr.luc.crcore; import fr.luc.crcore.command.builtin.CoreCommand; import fr.luc.crcore.database.Database; import fr.luc.crcore.message.MessagesService; -import fr.luc.crcore.message.YamlMessagesService; -import fr.luc.crcore.player.BukkitEventFiringPlayerProfileServiceImpl; -import fr.luc.crcore.player.InMemoryPlayerProfileRepository; +import fr.luc.crcore.message.impl.YamlMessagesService; +import fr.luc.crcore.player.impl.BukkitEventFiringPlayerProfileServiceImpl; +import fr.luc.crcore.player.impl.InMemoryPlayerProfileRepository; import fr.luc.crcore.player.PlayerProfileRepository; import fr.luc.crcore.player.PlayerProfileService; -import fr.luc.crcore.player.SqlitePlayerProfileRepository; -import fr.luc.crcore.team.BukkitEventFiringTeamServiceImpl; -import fr.luc.crcore.team.InMemoryTeamRepository; -import fr.luc.crcore.team.SqliteTeamRepository; +import fr.luc.crcore.player.impl.SqlitePlayerProfileRepository; +import fr.luc.crcore.team.impl.BukkitEventFiringTeamServiceImpl; +import fr.luc.crcore.team.impl.InMemoryTeamRepository; +import fr.luc.crcore.team.impl.SqliteTeamRepository; import fr.luc.crcore.team.TeamRepository; import fr.luc.crcore.team.TeamService; import org.bukkit.Bukkit; diff --git a/src/main/java/fr/luc/crcore/command/builtin/team/TeamCreateSubCommand.java b/src/main/java/fr/luc/crcore/command/builtin/team/TeamCreateSubCommand.java index 132dd97..13b6d37 100644 --- a/src/main/java/fr/luc/crcore/command/builtin/team/TeamCreateSubCommand.java +++ b/src/main/java/fr/luc/crcore/command/builtin/team/TeamCreateSubCommand.java @@ -7,7 +7,7 @@ import fr.luc.crcore.command.SubCommand; import fr.luc.crcore.message.MessagesService; import fr.luc.crcore.team.Team; import fr.luc.crcore.team.TeamColor; -import fr.luc.crcore.team.TeamException; +import fr.luc.crcore.team.exception.TeamException; import fr.luc.crcore.team.TeamService; import fr.luc.crcore.team.TeamVisibility; import org.bukkit.entity.Player; diff --git a/src/main/java/fr/luc/crcore/command/builtin/team/TeamJoinSubCommand.java b/src/main/java/fr/luc/crcore/command/builtin/team/TeamJoinSubCommand.java index 27a1cef..2aa8c44 100644 --- a/src/main/java/fr/luc/crcore/command/builtin/team/TeamJoinSubCommand.java +++ b/src/main/java/fr/luc/crcore/command/builtin/team/TeamJoinSubCommand.java @@ -5,7 +5,7 @@ import fr.luc.crcore.command.CommandResult; import fr.luc.crcore.command.SubCommand; import fr.luc.crcore.message.MessagesService; import fr.luc.crcore.team.Team; -import fr.luc.crcore.team.TeamException; +import fr.luc.crcore.team.exception.TeamException; import fr.luc.crcore.team.TeamService; import org.bukkit.entity.Player; diff --git a/src/main/java/fr/luc/crcore/message/YamlMessagesService.java b/src/main/java/fr/luc/crcore/message/impl/YamlMessagesService.java similarity index 99% rename from src/main/java/fr/luc/crcore/message/YamlMessagesService.java rename to src/main/java/fr/luc/crcore/message/impl/YamlMessagesService.java index 6b0d6c3..99b2953 100644 --- a/src/main/java/fr/luc/crcore/message/YamlMessagesService.java +++ b/src/main/java/fr/luc/crcore/message/impl/YamlMessagesService.java @@ -1,4 +1,5 @@ -package fr.luc.crcore.message; +package fr.luc.crcore.message.impl; +import fr.luc.crcore.message.MessagesService; import org.bukkit.ChatColor; import org.bukkit.configuration.ConfigurationSection; diff --git a/src/main/java/fr/luc/crcore/player/PlayerException.java b/src/main/java/fr/luc/crcore/player/exception/PlayerException.java similarity index 85% rename from src/main/java/fr/luc/crcore/player/PlayerException.java rename to src/main/java/fr/luc/crcore/player/exception/PlayerException.java index 432d531..bd0e1c0 100644 --- a/src/main/java/fr/luc/crcore/player/PlayerException.java +++ b/src/main/java/fr/luc/crcore/player/exception/PlayerException.java @@ -1,4 +1,4 @@ -package fr.luc.crcore.player; +package fr.luc.crcore.player.exception; public class PlayerException extends RuntimeException { diff --git a/src/main/java/fr/luc/crcore/player/PlayerProfileNotFoundException.java b/src/main/java/fr/luc/crcore/player/exception/PlayerProfileNotFoundException.java similarity index 80% rename from src/main/java/fr/luc/crcore/player/PlayerProfileNotFoundException.java rename to src/main/java/fr/luc/crcore/player/exception/PlayerProfileNotFoundException.java index e823822..11833b4 100644 --- a/src/main/java/fr/luc/crcore/player/PlayerProfileNotFoundException.java +++ b/src/main/java/fr/luc/crcore/player/exception/PlayerProfileNotFoundException.java @@ -1,4 +1,4 @@ -package fr.luc.crcore.player; +package fr.luc.crcore.player.exception; public class PlayerProfileNotFoundException extends PlayerException { diff --git a/src/main/java/fr/luc/crcore/player/BukkitEventFiringPlayerProfileServiceImpl.java b/src/main/java/fr/luc/crcore/player/impl/BukkitEventFiringPlayerProfileServiceImpl.java similarity index 80% rename from src/main/java/fr/luc/crcore/player/BukkitEventFiringPlayerProfileServiceImpl.java rename to src/main/java/fr/luc/crcore/player/impl/BukkitEventFiringPlayerProfileServiceImpl.java index a78affc..e40df51 100644 --- a/src/main/java/fr/luc/crcore/player/BukkitEventFiringPlayerProfileServiceImpl.java +++ b/src/main/java/fr/luc/crcore/player/impl/BukkitEventFiringPlayerProfileServiceImpl.java @@ -1,4 +1,10 @@ -package fr.luc.crcore.player; +package fr.luc.crcore.player.impl; +import fr.luc.crcore.player.exception.PlayerProfileNotFoundException; +import fr.luc.crcore.player.exception.PlayerException; +import fr.luc.crcore.player.PlayerProfileRepository; +import fr.luc.crcore.player.PlayerProfileService; +import fr.luc.crcore.player.PlayerRanking; +import fr.luc.crcore.player.PlayerProfile; import fr.luc.crcore.player.event.PlayerProfileCreateEvent; import fr.luc.crcore.player.event.PlayerProfileDeleteEvent; diff --git a/src/main/java/fr/luc/crcore/player/InMemoryPlayerProfileRepository.java b/src/main/java/fr/luc/crcore/player/impl/InMemoryPlayerProfileRepository.java similarity index 74% rename from src/main/java/fr/luc/crcore/player/InMemoryPlayerProfileRepository.java rename to src/main/java/fr/luc/crcore/player/impl/InMemoryPlayerProfileRepository.java index ee2ea4d..5e2ee17 100644 --- a/src/main/java/fr/luc/crcore/player/InMemoryPlayerProfileRepository.java +++ b/src/main/java/fr/luc/crcore/player/impl/InMemoryPlayerProfileRepository.java @@ -1,4 +1,10 @@ -package fr.luc.crcore.player; +package fr.luc.crcore.player.impl; +import fr.luc.crcore.player.exception.PlayerProfileNotFoundException; +import fr.luc.crcore.player.exception.PlayerException; +import fr.luc.crcore.player.PlayerProfileRepository; +import fr.luc.crcore.player.PlayerProfileService; +import fr.luc.crcore.player.PlayerRanking; +import fr.luc.crcore.player.PlayerProfile; import java.util.Collection; import java.util.Collections; diff --git a/src/main/java/fr/luc/crcore/player/PlayerProfileServiceImpl.java b/src/main/java/fr/luc/crcore/player/impl/PlayerProfileServiceImpl.java similarity index 94% rename from src/main/java/fr/luc/crcore/player/PlayerProfileServiceImpl.java rename to src/main/java/fr/luc/crcore/player/impl/PlayerProfileServiceImpl.java index 9423090..8556074 100644 --- a/src/main/java/fr/luc/crcore/player/PlayerProfileServiceImpl.java +++ b/src/main/java/fr/luc/crcore/player/impl/PlayerProfileServiceImpl.java @@ -1,4 +1,10 @@ -package fr.luc.crcore.player; +package fr.luc.crcore.player.impl; +import fr.luc.crcore.player.exception.PlayerProfileNotFoundException; +import fr.luc.crcore.player.exception.PlayerException; +import fr.luc.crcore.player.PlayerProfileRepository; +import fr.luc.crcore.player.PlayerProfileService; +import fr.luc.crcore.player.PlayerRanking; +import fr.luc.crcore.player.PlayerProfile; import java.util.ArrayList; import java.util.Collection; diff --git a/src/main/java/fr/luc/crcore/player/SqlitePlayerProfileRepository.java b/src/main/java/fr/luc/crcore/player/impl/SqlitePlayerProfileRepository.java similarity index 90% rename from src/main/java/fr/luc/crcore/player/SqlitePlayerProfileRepository.java rename to src/main/java/fr/luc/crcore/player/impl/SqlitePlayerProfileRepository.java index 6b6d1f2..c8d4cb4 100644 --- a/src/main/java/fr/luc/crcore/player/SqlitePlayerProfileRepository.java +++ b/src/main/java/fr/luc/crcore/player/impl/SqlitePlayerProfileRepository.java @@ -1,4 +1,10 @@ -package fr.luc.crcore.player; +package fr.luc.crcore.player.impl; +import fr.luc.crcore.player.exception.PlayerProfileNotFoundException; +import fr.luc.crcore.player.exception.PlayerException; +import fr.luc.crcore.player.PlayerProfileRepository; +import fr.luc.crcore.player.PlayerProfileService; +import fr.luc.crcore.player.PlayerRanking; +import fr.luc.crcore.player.PlayerProfile; import fr.luc.crcore.database.ColumnType; import fr.luc.crcore.database.Database; diff --git a/src/main/java/fr/luc/crcore/team/TeamAccessException.java b/src/main/java/fr/luc/crcore/team/exception/TeamAccessException.java similarity index 78% rename from src/main/java/fr/luc/crcore/team/TeamAccessException.java rename to src/main/java/fr/luc/crcore/team/exception/TeamAccessException.java index c9fc0cf..2453b7c 100644 --- a/src/main/java/fr/luc/crcore/team/TeamAccessException.java +++ b/src/main/java/fr/luc/crcore/team/exception/TeamAccessException.java @@ -1,4 +1,4 @@ -package fr.luc.crcore.team; +package fr.luc.crcore.team.exception; public class TeamAccessException extends TeamException { diff --git a/src/main/java/fr/luc/crcore/team/TeamAlreadyExistsException.java b/src/main/java/fr/luc/crcore/team/exception/TeamAlreadyExistsException.java similarity index 80% rename from src/main/java/fr/luc/crcore/team/TeamAlreadyExistsException.java rename to src/main/java/fr/luc/crcore/team/exception/TeamAlreadyExistsException.java index 69462a9..3b2efe3 100644 --- a/src/main/java/fr/luc/crcore/team/TeamAlreadyExistsException.java +++ b/src/main/java/fr/luc/crcore/team/exception/TeamAlreadyExistsException.java @@ -1,4 +1,4 @@ -package fr.luc.crcore.team; +package fr.luc.crcore.team.exception; public class TeamAlreadyExistsException extends TeamException { diff --git a/src/main/java/fr/luc/crcore/team/TeamException.java b/src/main/java/fr/luc/crcore/team/exception/TeamException.java similarity index 85% rename from src/main/java/fr/luc/crcore/team/TeamException.java rename to src/main/java/fr/luc/crcore/team/exception/TeamException.java index 10945c4..17a0867 100644 --- a/src/main/java/fr/luc/crcore/team/TeamException.java +++ b/src/main/java/fr/luc/crcore/team/exception/TeamException.java @@ -1,4 +1,4 @@ -package fr.luc.crcore.team; +package fr.luc.crcore.team.exception; public class TeamException extends RuntimeException { diff --git a/src/main/java/fr/luc/crcore/team/TeamNotFoundException.java b/src/main/java/fr/luc/crcore/team/exception/TeamNotFoundException.java similarity index 79% rename from src/main/java/fr/luc/crcore/team/TeamNotFoundException.java rename to src/main/java/fr/luc/crcore/team/exception/TeamNotFoundException.java index 7dfe02f..47f1961 100644 --- a/src/main/java/fr/luc/crcore/team/TeamNotFoundException.java +++ b/src/main/java/fr/luc/crcore/team/exception/TeamNotFoundException.java @@ -1,4 +1,4 @@ -package fr.luc.crcore.team; +package fr.luc.crcore.team.exception; public class TeamNotFoundException extends TeamException { diff --git a/src/main/java/fr/luc/crcore/team/BukkitEventFiringTeamServiceImpl.java b/src/main/java/fr/luc/crcore/team/impl/BukkitEventFiringTeamServiceImpl.java similarity index 84% rename from src/main/java/fr/luc/crcore/team/BukkitEventFiringTeamServiceImpl.java rename to src/main/java/fr/luc/crcore/team/impl/BukkitEventFiringTeamServiceImpl.java index 08b5234..d5b15e6 100644 --- a/src/main/java/fr/luc/crcore/team/BukkitEventFiringTeamServiceImpl.java +++ b/src/main/java/fr/luc/crcore/team/impl/BukkitEventFiringTeamServiceImpl.java @@ -1,4 +1,16 @@ -package fr.luc.crcore.team; +package fr.luc.crcore.team.impl; +import fr.luc.crcore.team.exception.TeamAccessException; +import fr.luc.crcore.team.exception.TeamNotFoundException; +import fr.luc.crcore.team.exception.TeamAlreadyExistsException; +import fr.luc.crcore.team.exception.TeamException; +import fr.luc.crcore.team.TeamRepository; +import fr.luc.crcore.team.TeamService; +import fr.luc.crcore.team.TeamRanking; +import fr.luc.crcore.team.TeamVisibility; +import fr.luc.crcore.team.TeamColor; +import fr.luc.crcore.team.TeamRole; +import fr.luc.crcore.team.TeamMember; +import fr.luc.crcore.team.Team; import fr.luc.crcore.team.event.PlayerJoinTeamEvent; import fr.luc.crcore.team.event.TeamCreateEvent; diff --git a/src/main/java/fr/luc/crcore/team/InMemoryTeamRepository.java b/src/main/java/fr/luc/crcore/team/impl/InMemoryTeamRepository.java similarity index 74% rename from src/main/java/fr/luc/crcore/team/InMemoryTeamRepository.java rename to src/main/java/fr/luc/crcore/team/impl/InMemoryTeamRepository.java index 84dd540..4363327 100644 --- a/src/main/java/fr/luc/crcore/team/InMemoryTeamRepository.java +++ b/src/main/java/fr/luc/crcore/team/impl/InMemoryTeamRepository.java @@ -1,4 +1,16 @@ -package fr.luc.crcore.team; +package fr.luc.crcore.team.impl; +import fr.luc.crcore.team.exception.TeamAccessException; +import fr.luc.crcore.team.exception.TeamNotFoundException; +import fr.luc.crcore.team.exception.TeamAlreadyExistsException; +import fr.luc.crcore.team.exception.TeamException; +import fr.luc.crcore.team.TeamRepository; +import fr.luc.crcore.team.TeamService; +import fr.luc.crcore.team.TeamRanking; +import fr.luc.crcore.team.TeamVisibility; +import fr.luc.crcore.team.TeamColor; +import fr.luc.crcore.team.TeamRole; +import fr.luc.crcore.team.TeamMember; +import fr.luc.crcore.team.Team; import java.util.Collection; import java.util.Collections; diff --git a/src/main/java/fr/luc/crcore/team/SqliteTeamRepository.java b/src/main/java/fr/luc/crcore/team/impl/SqliteTeamRepository.java similarity index 95% rename from src/main/java/fr/luc/crcore/team/SqliteTeamRepository.java rename to src/main/java/fr/luc/crcore/team/impl/SqliteTeamRepository.java index 491f975..29ecd28 100644 --- a/src/main/java/fr/luc/crcore/team/SqliteTeamRepository.java +++ b/src/main/java/fr/luc/crcore/team/impl/SqliteTeamRepository.java @@ -1,4 +1,16 @@ -package fr.luc.crcore.team; +package fr.luc.crcore.team.impl; +import fr.luc.crcore.team.exception.TeamAccessException; +import fr.luc.crcore.team.exception.TeamNotFoundException; +import fr.luc.crcore.team.exception.TeamAlreadyExistsException; +import fr.luc.crcore.team.exception.TeamException; +import fr.luc.crcore.team.TeamRepository; +import fr.luc.crcore.team.TeamService; +import fr.luc.crcore.team.TeamRanking; +import fr.luc.crcore.team.TeamVisibility; +import fr.luc.crcore.team.TeamColor; +import fr.luc.crcore.team.TeamRole; +import fr.luc.crcore.team.TeamMember; +import fr.luc.crcore.team.Team; import fr.luc.crcore.database.ColumnType; import fr.luc.crcore.database.Database; diff --git a/src/main/java/fr/luc/crcore/team/TeamServiceImpl.java b/src/main/java/fr/luc/crcore/team/impl/TeamServiceImpl.java similarity index 95% rename from src/main/java/fr/luc/crcore/team/TeamServiceImpl.java rename to src/main/java/fr/luc/crcore/team/impl/TeamServiceImpl.java index a9126dd..62700ca 100644 --- a/src/main/java/fr/luc/crcore/team/TeamServiceImpl.java +++ b/src/main/java/fr/luc/crcore/team/impl/TeamServiceImpl.java @@ -1,4 +1,16 @@ -package fr.luc.crcore.team; +package fr.luc.crcore.team.impl; +import fr.luc.crcore.team.exception.TeamAccessException; +import fr.luc.crcore.team.exception.TeamNotFoundException; +import fr.luc.crcore.team.exception.TeamAlreadyExistsException; +import fr.luc.crcore.team.exception.TeamException; +import fr.luc.crcore.team.TeamRepository; +import fr.luc.crcore.team.TeamService; +import fr.luc.crcore.team.TeamRanking; +import fr.luc.crcore.team.TeamVisibility; +import fr.luc.crcore.team.TeamColor; +import fr.luc.crcore.team.TeamRole; +import fr.luc.crcore.team.TeamMember; +import fr.luc.crcore.team.Team; import org.bukkit.Location;