起動・前提準備
初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。
Discord連携コード(8桁)を発行し、Discord側から送られたコードで紐付けを確定するサービス。
com.example.rankingplugin.discordlinkdiscordlink/DiscordLinkService.javaclassDiscord連携コード(8桁)を発行し、Discord側から送られたコードで紐付けを確定するサービス。 ★ server-id(config.yml の server-id)でサーバー単位に切り分け
Discord連携コード(8桁)を発行し、Discord側から送られたコードで紐付けを確定するサービス。discordlink パッケージの 小〜中規模クラスで、責務境界の要点を確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。
DiscordLinkServiceensureTablesloadAllLinkscleanupExpiredgetServerIdisLinkedgetDiscordIdgetUuidByDiscordId初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。
外部から呼ばれる公開メソッドや、対象プレイヤー・対象データ・対象ワールドを引き当てる経路です。
停止時やフロー終端で残る実体・タスク・キャッシュを戻す出口です。
このクラスが前提状態を揃え、外部から利用可能な形まで立ち上がる流れです。新規依存の追加や起動失敗の調査はまずここから追います。
イベント受理、判定、状態更新、通知までの主経路です。体感不具合や想定外の分岐はこの流れのどこで止まるかを見ると切り分けやすいです。
結果を保持し、必要なら永続化し、最後に掃除まで行う出口です。画面更新だけ合って保存が壊れるケースや残骸が残るケースの確認に向きます。
| Signature | 説明 | 主要呼び出し |
|---|---|---|
public DiscordLinkService(JavaPlugin plugin, DataSource ds, String serverId) | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 | trim |
| Name | Visibility | Kind | 説明 |
|---|---|---|---|
| DiscordLinkService | public | コンストラクタ | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 |
| getServerId | public | メソッド | 必要な状態を取得し、呼び出し側で利用しやすい形へ返します。 |
| ensureTables | public | メソッド | 必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。 |
| loadAllLinks | public | メソッド | 必要な状態を取得し、呼び出し側で利用しやすい形へ返します。 |
| isLinked | public | メソッド | 条件判定を行い、後続処理の分岐に使える真偽値を返します。 |
| getDiscordId | public | メソッド | 必要な状態を取得し、呼び出し側で利用しやすい形へ返します。 |
| getUuidByDiscordId | public | メソッド | 必要な状態を取得し、呼び出し側で利用しやすい形へ返します。 |
| issueCode | public | メソッド | /rp discordlink で発行する8桁コード。 |
| consumeCode | public | メソッド | Discord側から受け取ったコードで紐付けを確定する。 |
| cleanupExpired | public | メソッド | cleanupExpired の主要処理を担当します。 |
| formatMcName | public | メソッド | formatMcName の主要処理を担当します。 |
public DiscordLinkService(JavaPlugin plugin, DataSource ds, String serverId)依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
JavaPlugin pluginDataSource dsString serverIdなし
public String getServerId()必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
なし
public void ensureTables()必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。
なし
public void loadAllLinks()必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
なし
public boolean isLinked(UUID uuid)条件判定を行い、後続処理の分岐に使える真偽値を返します。
UUID uuidなし
public Optional<Long> getDiscordId(UUID uuid)必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
UUID uuidなし
public Optional<UUID> getUuidByDiscordId(long discordId)必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
long discordIdなし
public String issueCode(Player player)/rp discordlink で発行する8桁コード。
Player playerなし
public Optional<UUID> consumeCode(String code, long discordId)Discord側から受け取ったコードで紐付けを確定する。
String codelong discordIdなし
public void cleanupExpired()cleanupExpired の主要処理を担当します。
なし
public String formatMcName(UUID uuid)formatMcName の主要処理を担当します。
UUID uuidなし
DiscordLinkService → trimloadAllLinks → clear → entrySet → getKey → getValue → getLoggerensureTables → getLogger → severe → getMessageconsumeCode → cleanupExpired → remove → empty → currentTimeMillis → upsertLinkissueCode → getUniqueId → remove → format → nextInt → containsKeycleanupExpired → currentTimeMillis → entrySet → getValue → remove → getKey