ItemStack 配列を DB に保存できる形へシリアライズ/デシリアライズ。

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

クラス説明

ItemStack 配列を DB に保存できる形へシリアライズ/デシリアライズ。

- BukkitObjectOutputStream を使うため、Spigot/Paper でそのまま動きます。

責務と見どころ

重点クラスの詳細解説

ItemStack 配列を DB に保存できる形へシリアライズ/デシリアライズ。trade パッケージの 小規模クラスで、責務境界の要点を確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。

最初に追う読む順番

  1. TradeSerialization
    依存オブジェクトと初期状態を束ね、このクラスが担当するランタイムの前提を固めます。
  2. toBase64
    toBase64 の主要処理を担当します。
  3. fromBase64
    fromBase64 の主要処理を担当します。
  4. countPieces
    10通貨/個 の「個数」を数える。

内部サブシステムの地図

起動・前提準備

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

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

代表フロー詳解

初期化と起動の流れ

  1. TradeSerialization

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

通常運用の中心フロー

  1. TradeSerialization
  2. toBase64
  3. fromBase64
  4. countPieces

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

反映・保存・終了の流れ

  1. TradeSerialization
  2. toBase64
  3. fromBase64
  4. countPieces

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

変更時の注意点

フィールド

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

コンストラクタ / 初期化

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

メソッド索引

NameVisibilityKind説明
TradeSerializationprivateコンストラクタ依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
toBase64publicメソッドtoBase64 の主要処理を担当します。
toBase64publicメソッドtoBase64 の主要処理を担当します。
fromBase64publicメソッドfromBase64 の主要処理を担当します。
countPiecespublicメソッド10通貨/個 の「個数」を数える。

メソッド詳細

TradeSerialization

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

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

引数

throws

なし

主要な呼び出し順

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

toBase64

メソッドpublicstatic
public static String toBase64(List<ItemStack> items) throws IOException

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

引数

throws

IOException

主要な呼び出し順

toArray

toBase64

メソッドpublicstatic
public static String toBase64(ItemStack[] items) throws IOException

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

引数

throws

IOException

主要な呼び出し順

writeIntwriteObjectgetEncoderencodeToStringtoByteArray

fromBase64

メソッドpublicstatic
public static ItemStack[] fromBase64(String base64) throws IOException

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

引数

throws

IOException

主要な呼び出し順

getDecoderdecodereadIntreadObject

countPieces

メソッドpublicstatic
public static int countPieces(Iterable<ItemStack> items)

10通貨/個 の「個数」を数える。

引数

throws

なし

主要な呼び出し順

getTypeisAirmaxgetAmount

代表的な処理フロー

  1. toBase64 フロー
    toBase64 → writeInt → writeObject → getEncoder → encodeToString → toByteArray
    toBase64 の主要処理を担当します。
  2. countPieces フロー
    countPieces → getType → isAir → max → getAmount
    10通貨/個 の「個数」を数える。
  3. fromBase64 フロー
    fromBase64 → getDecoder → decode → readInt → readObject
    fromBase64 の主要処理を担当します。
  4. toBase64 フロー
    toBase64 → toArray
    toBase64 の主要処理を担当します。

外部との接点

Web ルート

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

SQL / テーブル

テーブル名の抽出はありませんでした。

関連クラス

補足