連続ログイン日数が指定の閾値ごとにアイテムを配布するポリシー

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

クラス説明

連続ログイン日数が指定の閾値ごとにアイテムを配布するポリシー

責務と見どころ

重点クラスの詳細解説

連続ログイン日数が指定の閾値ごとにアイテムを配布するポリシー。login.bonus パッケージの 小規模クラスで、責務境界の要点を確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。

最初に追う読む順番

  1. StreakThresholdLoginBonusPolicy
    依存オブジェクトと初期状態を束ね、このクラスが担当するランタイムの前提を固めます。
  2. applyBonus
    結果を反映・永続化する境界です。表示だけ直って保存が壊れる系の切り分けに向きます。

内部サブシステムの地図

起動・前提準備

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

主なフィールド

状態反映と永続化

メモリ状態と保存状態を揃え、結果を次の呼び出しや画面表示へ繋ぐ部分です。

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

代表フロー詳解

初期化と起動の流れ

  1. StreakThresholdLoginBonusPolicy

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

通常運用の中心フロー

  1. applyBonus

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

反映・保存・終了の流れ

  1. applyBonus

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

変更時の注意点

フィールド

VisibilityTypeName役割
privateintthresholdthreshold の状態を保持します。
privateItemStackrewardItemrewardItem の状態を保持します。
privateStringmessagemessage の状態を保持します。

コンストラクタ / 初期化

Signature説明主要呼び出し
public StreakThresholdLoginBonusPolicy(int threshold, Material material, int amount)@param threshold 何日ごとに配布するか (例: 14) @param material 配布するマテリアル (例: ENCHANTED_GOLDEN_APPLE) @param amount 配布数format → name

メソッド索引

NameVisibilityKind説明
StreakThresholdLoginBonusPolicypublicコンストラクタ@param threshold 何日ごとに配布するか (例: 14) @param material 配布するマテリアル (例: ENCHANTED_GOLDEN_APPLE) @param amount 配布数
applyBonuspublicメソッドapplyBonus の主要処理を担当します。

メソッド詳細

StreakThresholdLoginBonusPolicy

コンストラクタpublic
public StreakThresholdLoginBonusPolicy(int threshold, Material material, int amount)

@param threshold 何日ごとに配布するか (例: 14) @param material 配布するマテリアル (例: ENCHANTED_GOLDEN_APPLE) @param amount 配布数

引数

throws

なし

主要な呼び出し順

formatname

applyBonus

メソッドpublic
public void applyBonus(Player player, int streak, int total)

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

引数

throws

なし

主要な呼び出し順

getInventoryaddItemsendMessage

代表的な処理フロー

  1. 初期化フロー
    StreakThresholdLoginBonusPolicy → format → name
    @param threshold 何日ごとに配布するか (例: 14) @param material 配布するマテリアル (例: ENCHANTED_GOLDEN_APPLE) @param amount 配布数
  2. applyBonus フロー
    applyBonus → getInventory → addItem → sendMessage
    applyBonus の主要処理を担当します。

外部との接点

Web ルート

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

SQL / テーブル

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

関連クラス

補足