パッケージ com.yamicha.php.serial

このパッケージは、PHP(5.1まで動作確認済み)の unserialize 関数で復元できるデータを生成するもので、PHPSerialize の後継として完全に書き直されたものです。

参照先:
          説明

インタフェースの概要
PHPData あらゆる PHP 型の基底となるインタフェースです。
 

クラスの概要
ArrayManager PHPArrayBase のスーパークラスであり、ハッシュ風に配列を管理するクラスです。
PHPArray PHP Array 型をラップするクラスです。
PHPArrayBase PHPArray 及び PHPObject に共通する部品を集めた抽象クラスです。
PHPConstant PHP の何らかの型を表す定数のクラスです。
PHPGeneralData PHP 普遍型をラップするクラスです。
PHPObject PHP Object 型をラップするクラスです。
PHPReference PHP 参照型をラップするクラスです。
PHPSerialize PHPData をシリアル化するクラスです。
PHPSession PHP のセッションデータを表すクラスです。
PHPSessionSerialize 自分で構築した、または PHPSessionUnserialize にて取得した PHPSession をシリアル化するクラスです。
PHPSessionUnserialize PHP がセッション化したデータを PHPSession に変換するクラスです。
PHPUndef PHPUndef 型をラップするクラスです。
PHPUnserialize PHPSerialize とは逆の変換、すなわちデータを復元するクラスです。
PHPVariable PHP 変数名を表すクラスです。
ReferenceResult 内部で使用されるクラスです。
UnserializeData 内部で使用されるクラスです。
 

例外の概要
PHPSerializeException PHPSerial ライブラリで使われる例外です。
 

パッケージ com.yamicha.php.serial の説明

このパッケージは、PHP(5.1まで動作確認済み)の unserialize 関数で復元できるデータを生成するもので、PHPSerialize の後継として完全に書き直されたものです。
具体的には、参照が使えるようになっており、データも柔軟に扱えるようになっています。また、PHP のセッションを復元したり書き込んだりすることができるようになっています。あらゆるデータ型は PHPData インタフェースを基底として一元的に扱います。
次の例では、PHP のセッションに登録された count という整数データを取り出し、1を加算して書き戻しています。

// byte b[] = PHP のセッションデータ

PHPSessionUnserialize pu = new PHPSessionUnserialize("Shift_JIS");
PHPSession ses = pu.unserializeSession(b);

PHPGeneralData count = (PHPGeneralData)ses.getValue("count");
if(count != null){
        int cv = count.getInt();
        count.setInt(cv + 1);
}else{
        ses.setData("count" , new PHPGeneralData(1));
}

PHPSessionSerialize pss = new PHPSessionSerialize("Shift_JIS");
b = pss.serializeSession(ses));
PHPSession は PHPData の集合体として扱われており、PHPArray や PHPObject も PHPData の集合体です。