Interface TeamConfigService
- All Known Implementing Classes:
YamlTeamConfigService
public interface TeamConfigService
Service de configuration des équipes — résolution en cascade :
- Per-team — valeur stockée dans
Team.getSettings(), persistée en SQLite. - Global — valeur dans
<plugin>-team-config.yml, modifiable via le GUI globaux ou édition directe du YAML. - Hard default — défini en code dans
TeamSettings.
Le service garantit qu'un get(Team, TeamSetting) renvoie
toujours une valeur non-null grâce à la cascade.
-
Method Summary
Modifier and TypeMethodDescription<T> Tget(Team team, TeamSetting<T> setting) Récupère la valeur effective d'un setting pour une équipe (cascade per-team → global → default).<T> TgetGlobal(TeamSetting<T> setting) Récupère la valeur globale d'un setting (cascade global → default, sans per-team).Chemin du fichier YAML global (informationnel).Map<TeamSetting<?>, Object> Snapshot des valeurs globales actuelles (déjà parsées).booleanhasPerTeamOverride(Team team, TeamSetting<?> setting) Indique si une équipe a un override pour cette clé (utile pour l'affichage GUI : « hérité du global » vs « override »).voidreload()Recharge le fichier global depuis le disque.voidresetPerTeam(Team team, TeamSetting<?> setting) Supprime l'override per-team pour une clé donnée — la team retombe sur la valeur globale.<T> voidsetGlobal(TeamSetting<T> setting, T value) Définit une valeur globale et persiste le fichier YAML<plugin>-team-config.yml.<T> voidsetPerTeam(Team team, TeamSetting<T> setting, T value) Définit un override per-team.
-
Method Details
-
get
Récupère la valeur effective d'un setting pour une équipe (cascade per-team → global → default). -
getGlobal
Récupère la valeur globale d'un setting (cascade global → default, sans per-team). -
setPerTeam
Définit un override per-team. Persiste en SQLite via leTeamRepository(l'appelant doit save() la team ensuite — ou passer par le service haut niveau qui le fait). -
resetPerTeam
Supprime l'override per-team pour une clé donnée — la team retombe sur la valeur globale. -
setGlobal
Définit une valeur globale et persiste le fichier YAML<plugin>-team-config.yml. -
reload
void reload()Recharge le fichier global depuis le disque. -
hasPerTeamOverride
Indique si une équipe a un override pour cette clé (utile pour l'affichage GUI : « hérité du global » vs « override »). -
getGlobalSnapshot
Map<TeamSetting<?>, Object> getGlobalSnapshot()Snapshot des valeurs globales actuelles (déjà parsées). -
getGlobalFileName
-