Config Updater の更新処理を担当します。

0Fields
1Constructors
4Methods
77Lines
Package
com.example.rankingplugin.util
Source
util/ConfigUpdater.java
Kind
class
Roles
初期化 / ブートストラップ
このクラスにも章立て解説を追加しています。 自動抽出の一覧だけでなく、下の『重点クラスの詳細解説』で読む順番・内部サブシステム・変更時の注意点まで追えます。 全クラス章立てガイドを見る

クラス説明

クラス直前の Javadoc は見つかりませんでした。ソースとメソッド構成から責務を補完しています。

責務と見どころ

重点クラスの詳細解説

Config Updater の更新処理を担当します。util パッケージの 小規模クラスで、責務境界の要点を確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。

最初に追う読む順番

  1. ConfigUpdater
    依存オブジェクトと初期状態を束ね、このクラスが担当するランタイムの前提を固めます。
  2. mergeDefaults
    jar 内の resourceName(例: "config.yml") をデフォルトとして、 dataフォルダ側の同名ファイルに「存在しないキーだけ」を追記します。
  3. copyMissing
    デフォルト側の木構造を走査し、「無いキーだけ」dst に埋める
  4. countKeys
    countKeys の主要処理を担当します。

内部サブシステムの地図

起動・前提準備

初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。

主なメソッド
主なフィールド
なし

永続化と状態同期

DB テーブルとの境界です。スキーマ変更や保存漏れの切り分けはここから行います。

主なメソッド
主なフィールド
なし

代表フロー詳解

初期化と起動の流れ

  1. ConfigUpdater

このクラスが前提状態を揃え、外部から利用可能な形まで立ち上がる流れです。新規依存の追加や起動失敗の調査はまずここから追います。

通常運用の中心フロー

  1. ConfigUpdater
  2. mergeDefaults
  3. copyMissing
  4. countKeys

イベント受理、判定、状態更新、通知までの主経路です。体感不具合や想定外の分岐はこの流れのどこで止まるかを見ると切り分けやすいです。

反映・保存・終了の流れ

  1. ConfigUpdater
  2. mergeDefaults
  3. copyMissing
  4. countKeys

結果を保持し、必要なら永続化し、最後に掃除まで行う出口です。画面更新だけ合って保存が壊れるケースや残骸が残るケースの確認に向きます。

変更時の注意点

外部接点

主な永続化テーブル

SQL 文字列から抽出できた主要テーブルです。スキーマ変更時の確認用です。

defaults

フィールド

VisibilityTypeName役割
フィールドは抽出されませんでした。

コンストラクタ / 初期化

Signature説明主要呼び出し
private ConfigUpdater()依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。主要呼び出しなし

メソッド索引

NameVisibilityKind説明
ConfigUpdaterprivateコンストラクタ依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
mergeDefaultspublicメソッドjar 内の resourceName(例: "config.yml") をデフォルトとして、 dataフォルダ側の同名ファイルに「存在しないキーだけ」を追記します。
copyMissingprivateメソッドデフォルト側の木構造を走査し、「無いキーだけ」dst に埋める
countKeysprivateメソッドcountKeys の主要処理を担当します。

メソッド詳細

ConfigUpdater

コンストラクタprivate
private ConfigUpdater()

依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。

引数

throws

なし

主要な呼び出し順

目立つ内部呼び出しは抽出されませんでした。

mergeDefaults

メソッドpublicstatic
public static int mergeDefaults(JavaPlugin plugin, String resourceName)

jar 内の resourceName(例: "config.yml") をデフォルトとして、 dataフォルダ側の同名ファイルに「存在しないキーだけ」を追記します。

引数

throws

なし

主要な呼び出し順

getDataFolderexistssaveResourcegetLoggerinfoloadConfigurationgetResourcewarning

copyMissing

メソッドprivatestatic
private static void copyMissing(ConfigurationSection src, ConfigurationSection dst)

デフォルト側の木構造を走査し、「無いキーだけ」dst に埋める

引数

throws

なし

主要な呼び出し順

getKeysgetConfigurationSectioncreateSectioncontains

countKeys

メソッドprivatestatic
private static int countKeys(ConfigurationSection sec)

countKeys の主要処理を担当します。

引数

throws

なし

主要な呼び出し順

getKeyssize

代表的な処理フロー

  1. mergeDefaults フロー
    mergeDefaults → getDataFolder → exists → saveResource → getLogger → info
    jar 内の resourceName(例: "config.yml") をデフォルトとして、 dataフォルダ側の同名ファイルに「存在しないキーだけ」を追記します。
  2. copyMissing フロー
    copyMissing → getKeys → getConfigurationSection → createSection → contains
    デフォルト側の木構造を走査し、「無いキーだけ」dst に埋める
  3. countKeys フロー
    countKeys → getKeys → size
    countKeys の主要処理を担当します。

外部との接点

Web ルート

このクラス内に目立つ Web ルート定義は見つかりませんでした。

SQL / テーブル

defaults

関連クラス

補足