Ip Normalizer を担当するclassです。

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

クラス説明

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

責務と見どころ

重点クラスの詳細解説

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

最初に追う読む順番

  1. IpNormalizer
    依存オブジェクトと初期状態を束ね、このクラスが担当するランタイムの前提を固めます。
  2. normalize
    IPv4埋め込みIPv6 / ゾーンID を吸収した“比較用IP文字列”に整える
  3. firstForwardedFor
    X-Forwarded-For から先頭のクライアントIPを取り出す(無ければ null)

内部サブシステムの地図

起動・前提準備

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

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

代表フロー詳解

初期化と起動の流れ

  1. IpNormalizer

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

通常運用の中心フロー

  1. IpNormalizer
  2. normalize
  3. firstForwardedFor

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

反映・保存・終了の流れ

  1. IpNormalizer
  2. normalize
  3. firstForwardedFor

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

変更時の注意点

フィールド

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

コンストラクタ / 初期化

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

メソッド索引

NameVisibilityKind説明
IpNormalizerprivateコンストラクタ依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
normalizepublicメソッドIPv4埋め込みIPv6 / ゾーンID を吸収した“比較用IP文字列”に整える
firstForwardedForpublicメソッドX-Forwarded-For から先頭のクライアントIPを取り出す(無ければ null)

メソッド詳細

IpNormalizer

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

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

引数

throws

なし

主要な呼び出し順

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

normalize

メソッドpublicstatic
public static String normalize(String ip)

IPv4埋め込みIPv6 / ゾーンID を吸収した“比較用IP文字列”に整える

引数

throws

なし

主要な呼び出し順

trimstartsWithendsWithsubstringlengthindexOfreplaceAll

firstForwardedFor

メソッドpublicstatic
public static String firstForwardedFor(String header)

X-Forwarded-For から先頭のクライアントIPを取り出す(無ければ null)

引数

throws

なし

主要な呼び出し順

splittrimisEmpty

代表的な処理フロー

  1. normalize フロー
    normalize → trim → startsWith → endsWith → substring → length
    IPv4埋め込みIPv6 / ゾーンID を吸収した“比較用IP文字列”に整える
  2. firstForwardedFor フロー
    firstForwardedFor → split → trim → isEmpty
    X-Forwarded-For から先頭のクライアントIPを取り出す(無ければ null)

外部との接点

Web ルート

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

SQL / テーブル

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

関連クラス

補足