com.yamicha.php.serialize
クラス PHPSerializeStream

java.lang.Object
  上位を拡張 com.yamicha.php.serialize.PHPSerialize
      上位を拡張 com.yamicha.php.serialize.PHPSerializeStream

public class PHPSerializeStream
extends PHPSerialize

このクラスを用いると、変数を個別に登録していくことで、データを直列化できます。


フィールドの概要
protected  java.util.Hashtable<PHPVariable,java.lang.Object> ht
          変数が登録された Hashtable です。
 
コンストラクタの概要
PHPSerializeStream(java.lang.String n)
          渡されたクラス名と ascii 文字コードを用い、インスタンスを構築します。
PHPSerializeStream(java.lang.String c, java.lang.String n)
          渡された文字コードとクラス名を用い、インスタンスを構築します。
 
メソッドの概要
 java.lang.String getName()
          クラス名を取得します。
 java.lang.Object getObject(PHPVariable name)
          値を取得します。
 java.lang.Object getObject(java.lang.String name)
          値を取得します。
 void removeObject(PHPVariable name)
          値を取得します。
 void removeObject(java.lang.String name)
          値を削除します。
 void setName(java.lang.String n)
          クラス名を変更します。
 void setObject(PHPVariable name, boolean value)
          ブーリアン型データを登録します。
 void setObject(PHPVariable name, double value)
          浮動小数点データを登録します。
 void setObject(PHPVariable name, int value)
          整数データを登録します。
 void setObject(PHPVariable name, java.lang.Object value)
          データを登録します。
 void setObject(java.lang.String name, boolean value)
          ブーリアン型データを登録します。
 void setObject(java.lang.String name, double value)
          浮動小数点データを登録します。
 void setObject(java.lang.String name, int value)
          整数データを登録します。
 void setObject(java.lang.String name, java.lang.Object value)
          データを登録します。
 void setUndef(PHPVariable name)
          未定義値を登録します。
 void setUndef(java.lang.String name)
          未定義値を登録します。
 byte[] toSerializeBytes()
          ここまでで登録したデータを直列化します。
 byte[] toSerializeBytes(java.lang.Object obj)
          スーパークラスのメソッドをオーバーライドしています。
 java.lang.String toSerializeString()
          ここまでで登録したデータを直列化し、それを文字列に変換して返します。
 
クラス com.yamicha.php.serialize.PHPSerialize から継承されたメソッド
convertString, getEncoding, getPHPType, objectSerialize, objectSerialize, objectSerialize, setEncoding, toObjectSerialize, toSerializeData, toSerializeString, toSerializeVariable
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

ht

protected java.util.Hashtable<PHPVariable,java.lang.Object> ht
変数が登録された Hashtable です。
ただし、やむを得ない場合を除き、オーバーライドクラスからこれを直接扱うことは推奨されません。getObject , setObject などのメソッドを用いてください。

コンストラクタの詳細

PHPSerializeStream

public PHPSerializeStream(java.lang.String n)
渡されたクラス名と ascii 文字コードを用い、インスタンスを構築します。

パラメータ:
n - PHP クラス名。

PHPSerializeStream

public PHPSerializeStream(java.lang.String c,
                          java.lang.String n)
渡された文字コードとクラス名を用い、インスタンスを構築します。

パラメータ:
c - 文字コード。
n - PHP クラス名。
メソッドの詳細

setName

public void setName(java.lang.String n)
クラス名を変更します。

パラメータ:
n - PHP クラス名。

getName

public java.lang.String getName()
クラス名を取得します。

戻り値:
PHP クラス名。

setObject

public void setObject(java.lang.String name,
                      java.lang.Object value)
データを登録します。

パラメータ:
name - 変数名。これは public 変数とみなされる。
value - その変数に格納される値。

setObject

public void setObject(PHPVariable name,
                      java.lang.Object value)
データを登録します。

パラメータ:
name - 変数名。
value - その変数に格納される値。

getObject

public java.lang.Object getObject(java.lang.String name)
値を取得します。

パラメータ:
name - 変数名。public 変数とみなされる。
戻り値:
その変数に格納されている値。

getObject

public java.lang.Object getObject(PHPVariable name)
値を取得します。

パラメータ:
name - 変数名。private 変数に関しては、クラス名まで一致しなければ、同じものとみなされない。
戻り値:
その変数に格納されている値。

removeObject

public void removeObject(java.lang.String name)
値を削除します。

パラメータ:
name - 変数名。public 変数とみなされる。

removeObject

public void removeObject(PHPVariable name)
値を取得します。

パラメータ:
name - 変数名。private 変数に関しては、クラス名まで一致しなければ、同じものとみなされない。

toSerializeBytes

public byte[] toSerializeBytes()
                        throws java.io.UnsupportedEncodingException,
                               java.io.IOException
ここまでで登録したデータを直列化します。

戻り値:
ここまでに登録したデータをすべて直列化したデータ。
例外:
java.io.UnsupportedEncodingException - 文字コードがサポートされていない。
java.io.IOException - バイト配列の出入力に失敗した。

toSerializeString

public java.lang.String toSerializeString()
ここまでで登録したデータを直列化し、それを文字列に変換して返します。

戻り値:
ここまでに登録したデータをすべて直列化し、指定された文字コードを使って String に変換したデータ。

toSerializeBytes

public byte[] toSerializeBytes(java.lang.Object obj)
                        throws java.io.UnsupportedEncodingException,
                               java.io.IOException
スーパークラスのメソッドをオーバーライドしています。
具体的には、PHPSerializeStream に PHPSerializeStream を登録した際に、オブジェクトにオブジェクトをマップする機能を追加しています。
それ以外の点はスーパークラスと同様です。

オーバーライド:
クラス PHPSerialize 内の toSerializeBytes
パラメータ:
obj - 変換するオブジェクト。
戻り値:
データ直列化後の文字列表現。
例外:
java.io.UnsupportedEncodingException - 文字コードがサポートされていない。
java.io.IOException - バイト配列の出入力に失敗した。

setObject

public void setObject(java.lang.String name,
                      int value)
整数データを登録します。
これは、数値を Integer でラップして setObject に渡すのと全く同じです。

パラメータ:
name - 変数名。public とみなされる。
value - 変数の値。

setObject

public void setObject(PHPVariable name,
                      int value)
整数データを登録します。
これは、数値を Integer でラップして setObject に渡すのと全く同じです。

パラメータ:
name - 変数名、定義クラス、アクセス指定子を格納した PHPVariable。
value - 変数の値。

setObject

public void setObject(java.lang.String name,
                      double value)
浮動小数点データを登録します。
これは、数値を Double でラップして setObject に渡すのと全く同じです。

パラメータ:
name - 変数名。public とみなされる。
value - 変数の値。

setObject

public void setObject(PHPVariable name,
                      double value)
浮動小数点データを登録します。
これは、数値を Double でラップして setObject に渡すのと全く同じです。

パラメータ:
name - 変数名、定義クラス、アクセス指定子を格納した PHPVariable。
value - 変数の値。

setObject

public void setObject(java.lang.String name,
                      boolean value)
ブーリアン型データを登録します。
これは、数値を Boolean でラップして setObject に渡すのと全く同じです。

パラメータ:
name - 変数名。public とみなされる。
value - 変数の値。

setObject

public void setObject(PHPVariable name,
                      boolean value)
ブーリアン型データを登録します。
これは、数値を Boolean でラップして setObject に渡すのと全く同じです。

パラメータ:
name - 変数名、定義クラス、アクセス指定子を格納した PHPVariable。
value - 変数の値。

setUndef

public void setUndef(java.lang.String name)
未定義値を登録します。
これは、setObject に PHPUndef 型を渡すのと全く同じです。

パラメータ:
name - 変数名。public とみなされる。

setUndef

public void setUndef(PHPVariable name)
未定義値を登録します。
これは、setObject に PHPUndef 型を渡すのと全く同じです。

パラメータ:
name - 変数名、定義クラス、アクセス指定子を格納した PHPVariable。