作成 2002/1/10
java.beans.XMLEncoderを使うと、 オブジェクト(JavaBeans)を簡単にXMLに保存することができます。
このクラス (WordModel.java) のオブジェクトのListをXML形式で保存したい、ってな時。
こんな感じ(XMLED.java) で保存、復元できます。
作成されたXMLがこれ(aaa.xml)
XML化できるのはJavaBeansだけです。
JavaBeansっていうのは詳しく知りませんが、 簡単に言うとこんなもの。
今回XML化するには3は不要で、 とりあえず、1、2ですね。
単にSerializeをimplemetnsするような簡単さで、 XMLが作れます。
publicなセッタ、ゲッタから保存、復元されるので、 永続化につきまとうクラスのバージョン違いに悩まされません。
簡単な設定ファイルや、 目で見てわかる形式、手で編集できる形式で状態保存したいとき、 いいんでないでしょうか。 私はとりあえず、わーどばとらー(趣味のWebゲーム)のデータ保存に 使おうかと思ってます。
JavaBeans以外のクラスでは使えません。
セキュリティーが気になる場面では使えません。 カスタムSerializebleやExternalizableの実装で、 これを使うのもアリでしょうが、 データは覗かれやすいし、編集されやすい感じ。
クラスのスキーマは保存されません。 保存されるのはインスタンスのデータです。 オブジェクトの振る舞いなども保存されません。 (そういう用途にはJAXBとか?触ってないけど)。