com.yamicha.php.serial
クラス PHPArrayBase

java.lang.Object
  上位を拡張 com.yamicha.php.serial.ArrayManager
      上位を拡張 com.yamicha.php.serial.PHPArrayBase
すべての実装されたインタフェース:
PHPData, java.io.Serializable, java.lang.Cloneable
直系の既知のサブクラス:
PHPArray, PHPObject

public abstract class PHPArrayBase
extends ArrayManager
implements PHPData

PHPArray 及び PHPObject に共通する部品を集めた抽象クラスです。

関連項目:
直列化された形式

フィールドの概要
 
クラス com.yamicha.php.serial.ArrayManager から継承されたフィールド
key, value
 
コンストラクタの概要
PHPArrayBase()
           
 
メソッドの概要
 PHPData copy()
          この PHPData 型をコピーしたデータを返します。
 int getAllLength()
          配列やオブジェクトの子まで探索し、全データの長さを返します。
abstract  int getDataType()
          この PHPData オブジェクトが表すデータ型を返します。
 int getIndexesLength()
          配列やオブジェクトの子まで探索し、全データの長さを返します。
 PHPData getName(int i)
          キーの値を取得します。
abstract  int getPHPType()
          この PHPData オブジェクトに格納された PHP データ型を返します。
 java.lang.String getTreeString(int nest, PHPData[] pd)
          この PHPData を表す文字列を返します。
 PHPData getValue(int i)
          値を取得します。
 PHPData getValue(PHPData d)
          キーを指定して値を取得します。
 boolean isChildObject(PHPData d)
          このオブジェクトが自分自身の中、もしくはその子以下の配列にあるかを調べます。
protected  java.util.ArrayList makeClones(java.util.ArrayList al)
          クローンを生成する際に、内部で使用するメソッドです。
abstract  byte[] serialize(java.lang.String s)
          この PHPData 型をシリアライズします。
 java.lang.String toString()
           
 
クラス com.yamicha.php.serial.ArrayManager から継承されたメソッド
getLength, remove, remove, setArrays, setValue
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

PHPArrayBase

public PHPArrayBase()
メソッドの詳細

getName

public PHPData getName(int i)
キーの値を取得します。

パラメータ:
i - 配列データ位置
戻り値:
キーの値

getValue

public PHPData getValue(int i)
値を取得します。

パラメータ:
i - 配列データ位置
戻り値:

getValue

public PHPData getValue(PHPData d)
キーを指定して値を取得します。

パラメータ:
d - キーの値
戻り値:

getAllLength

public int getAllLength()
配列やオブジェクトの子まで探索し、全データの長さを返します。

戻り値:
全データの長さ

getIndexesLength

public int getIndexesLength()
配列やオブジェクトの子まで探索し、全データの長さを返します。ただし、参照型は計算に入れません。

戻り値:
全データの長さ。リファレンスは無視される

isChildObject

public boolean isChildObject(PHPData d)
このオブジェクトが自分自身の中、もしくはその子以下の配列にあるかを調べます。

戻り値:
存在すれば true

toString

public java.lang.String toString()
オーバーライド:
クラス java.lang.Object 内の toString

getTreeString

public java.lang.String getTreeString(int nest,
                                      PHPData[] pd)
インタフェース PHPData の記述:
この PHPData を表す文字列を返します。 toString() メソッドにより内部で使用されていますので、普段は toString() メソッドを使ってください。

定義:
インタフェース PHPData 内の getTreeString
パラメータ:
nest - 階層の深さ
pd - これまでに読み込んだ PHPData
戻り値:
文字列表現

copy

public PHPData copy()
インタフェース PHPData の記述:
この PHPData 型をコピーしたデータを返します。
ただし、リファレンスのコピーは正しく動作しませんので、リファレンスを含むオブジェクトをコピーする場合には、必ず PHPSerialize.copy メソッドを使用する必要があります。

定義:
インタフェース PHPData 内の copy

makeClones

protected java.util.ArrayList makeClones(java.util.ArrayList al)
クローンを生成する際に、内部で使用するメソッドです。

パラメータ:
al - コピー元の配列
戻り値:
それをコピーした配列。ただし、この PHPArrayBase 以下の配列の中身まですべてコピーされる。

getDataType

public abstract int getDataType()
インタフェース PHPData の記述:
この PHPData オブジェクトが表すデータ型を返します。
例えば PHPConstant.TYPE_GENERAL が返されれば、このオブジェクトは普遍型であり、PHPGeneralData 型にキャストできます。

定義:
インタフェース PHPData 内の getDataType
戻り値:
このオブジェクトが表すデータ型。PHPConstant の TYPE_ で始まる定数で返される
関連項目:
PHPConstant

getPHPType

public abstract int getPHPType()
インタフェース PHPData の記述:
この PHPData オブジェクトに格納された PHP データ型を返します。
例えば PHPConstant.PHP_STRING が返されれば、これは文字列型です。ただし、文字列に関しては特殊であり、PHP_STRING 及び PHP_STRING_JAVA の2つの定数が用意されています。
これは、PHP 変数としての扱いは同じであるものの、前者は byte[] 配列で、後者は String 型で文字列を管理していることを表します。

定義:
インタフェース PHPData 内の getPHPType
戻り値:
このオブジェクトに格納された PHP データ型。PHPConstant の PHP_ で始まる定数で返される

serialize

public abstract byte[] serialize(java.lang.String s)
                          throws PHPSerializeException
インタフェース PHPData の記述:
この PHPData 型をシリアライズします。
リファレンス変換は行われませんので、リファレンス型を含むデータに用いると失敗します。 ただし、事前に PHPSerialize.prepare を実行したデータを変換する場合は、この限りではありません。
通常は PHPSerialize のインスタンスを生成し、その serialize メソッドから変換を行ってください。

定義:
インタフェース PHPData 内の serialize
パラメータ:
s - 文字列をバイトに変換する際に使用する文字コード
戻り値:
変換後のバイト配列
例外:
PHPSerializeException