My S Q L Online Status Service に関するサービス層・業務処理を担当します。

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

クラス説明

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

責務と見どころ

重点クラスの詳細解説

My S Q L Online Status Service に関するサービス層・業務処理を担当します。web パッケージの 小規模クラスで、責務境界の要点を確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。

最初に追う読む順番

  1. MySQLOnlineStatusService
    依存オブジェクトと初期状態を束ね、このクラスが担当するランタイムの前提を固めます。
  2. isOnlineHere
    条件判定を行い、後続処理の分岐に使える真偽値を返します。
  3. isOnlineElsewhere
    条件判定を行い、後続処理の分岐に使える真偽値を返します。
  4. getOnlineServers
    必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

内部サブシステムの地図

起動・前提準備

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

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

入口 API と対象解決

外部から呼ばれる公開メソッドや、対象プレイヤー・対象データ・対象ワールドを引き当てる経路です。

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

永続化と状態同期

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

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

代表フロー詳解

初期化と起動の流れ

  1. MySQLOnlineStatusService
  2. getOnlineServers

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

変更時の注意点

外部接点

主な永続化テーブル

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

player_online

フィールド

VisibilityTypeName役割
privateDataSourcedsDB 接続元を保持します。
privateStringthisServerIdthisServerId の状態を保持します。

コンストラクタ / 初期化

Signature説明主要呼び出し
public MySQLOnlineStatusService(DataSource ds, String thisServerId)依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。getConnection → createStatement → executeUpdate → player_online → getLogger → severe

メソッド索引

NameVisibilityKind説明
MySQLOnlineStatusServicepublicコンストラクタ依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
isOnlineHerepublicメソッド条件判定を行い、後続処理の分岐に使える真偽値を返します。
isOnlineElsewherepublicメソッド条件判定を行い、後続処理の分岐に使える真偽値を返します。
getOnlineServerspublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

メソッド詳細

MySQLOnlineStatusService

コンストラクタpublic
public MySQLOnlineStatusService(DataSource ds, String thisServerId)

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

引数

throws

なし

主要な呼び出し順

getConnectioncreateStatementexecuteUpdateplayer_onlinegetLoggerseveregetMessage

isOnlineHere

メソッドpublic
public boolean isOnlineHere(String player)

条件判定を行い、後続処理の分岐に使える真偽値を返します。

引数

throws

なし

主要な呼び出し順

getOnlineServerscontains

isOnlineElsewhere

メソッドpublic
public boolean isOnlineElsewhere(String player)

条件判定を行い、後続処理の分岐に使える真偽値を返します。

引数

throws

なし

主要な呼び出し順

getOnlineServerssizecontains

getOnlineServers

メソッドpublic
public Set<String> getOnlineServers(String player)

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

getConnectionprepareStatementsetStringexecuteQuerynextgetStringprintStackTrace

代表的な処理フロー

  1. 初期化フロー
    MySQLOnlineStatusService → getConnection → createStatement → executeUpdate → player_online → getLogger
    依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
  2. getOnlineServers フロー
    getOnlineServers → getConnection → prepareStatement → setString → executeQuery → next
    必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
  3. isOnlineElsewhere フロー
    isOnlineElsewhere → getOnlineServers → size → contains
    条件判定を行い、後続処理の分岐に使える真偽値を返します。
  4. isOnlineHere フロー
    isOnlineHere → getOnlineServers → contains
    条件判定を行い、後続処理の分岐に使える真偽値を返します。

外部との接点

Web ルート

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

SQL / テーブル

player_online

関連クラス

補足