|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
public interface SPObject
スクラッチパッドへのアクセスを定義するインターフェースです。
データの保存が必要なクラスに実装することにより、
そのクラスの保持するデータを保存したり、復元することができます。
本クラスを実装したオブジェクトを SPControl に渡すことで、
スクラッチパッドにアクセスします。スクラッチパッドを利用するには、
ADFの SPSize に、保存に必要なデータサイズを指定してください。
【例】
public class Test extends IApplication {
public void start() {
Sample s1 = new Sample(100);
Sample s2 = new Sample(200);
try {
// s1 と s2 のデータを保存する
int pos = 0;
pos = SPControl.write(s1, pos);
pos = SPControl.write(s2, pos);
} catch (IOException e) { }
Sample s3 = new Sample(0);
Sample s4 = new Sample(0);
try {
// s1 と s2 のデータを s3 と s4 に復元する
int pos = 0;
pos = SPControl.read(s3, pos);
pos = SPControl.read(s4, pos);
} catch (IOException e) { }
}
}
class Sample implements SPObject {
public Sample(int a) {
this.a = a;
}
// *** Sampleで使うデータを復元する
public int readObject(DataInputStream in) throws IOException {
a = in.readInt();
return 4;
}
// *** Sampleで使うデータを保存する
public int writeObject(DataOutputStream out) throws IOException {
out.writeInt(a);
return 4;
}
private int a = 0;
}
| メソッドの概要 | |
|---|---|
int |
readObject(java.io.DataInputStream in)
スクラッチパッドからデータを取得します。 |
int |
writeObject(java.io.DataOutputStream out)
スクラッチパッドへデータを保存します。 |
| メソッドの詳細 |
|---|
int writeObject(java.io.DataOutputStream out)
throws java.io.IOException
【例】
public int writeObject(DataOutputStream out) throws IOException {
int a = 100;
byte b = 200;
out.writeInt(a); // a (int) を書き込む 4byte
out.write(200); // b (byte)を書き込む 1byte
return 5; // 書き込んだデータの合計サイズを返す。
}
public int readObject(DataInputStream in) throws IOException {
int a = in.readInt(); // a (int) を読み込む
byte b = in.read(); // b (byte)を読み込む
return 5; // 読み込んだデータの合計サイズを返す。
}
out - スクラッチパッドへのデータ出力ストリームが渡されます。
SPControl.write(SPObject, int, int) で、
返される戻り値(書き込み位置の最後)に加算されます。
Javaの基本型のサイズにご注意ください。
java.io.IOException - DataOutputStreamの例外です。
int readObject(java.io.DataInputStream in)
throws java.io.IOException
【例】
public int writeObject(DataOutputStream out) throws IOException {
int a = 100;
byte b = 200;
out.writeInt(a); // a (int) を書き込む 4byte
out.write(200); // b (byte)を書き込む 1byte
return 5; // 書き込んだデータの合計サイズを返す。
}
public int readObject(DataInputStream in) throws IOException {
int a = in.readInt(); // a (int) を読み込む
byte b = in.read(); // b (byte)を読み込む
return 5; // 読み込んだデータの合計サイズを返す。
}
in - スクラッチパッドからのデータ入力ストリームが渡されます。
SPControl.write(SPObject, int, int) で、
返される戻り値(書き込み位置の最後)に加算されます。
Javaの基本型のサイズにご注意ください。
java.io.IOException - DataInputStreamの例外です。
|
Copyright ITmarks Inc. All rights reserved. | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||