Generic Connectionフレームワークの実装とiアプリ

iアプリはネットワークとJARファイル、スクラッチパッドへのアクセスにJ2ME CLDCで定められたGeneric Connectionフレームワーク(汎用接続フレームワークとも呼ばれます。)を使用します。このうち、ネットワークに関してはDoCoMoProfile特有のcom.nttdocomo.io.HttpConnectionオブジェクトを使用します。(ちなみに、MIDPではjavax.microedition.io.HttpConnectionを使用しますが、これはMIDPに属するものでCLDCに属するものではありません。)

このオブジェクトの実装は各メーカーで結構異なる(詳しくはリファレンスのこのページを参照してください。)のですが、Generic Connectionフレームワークの実装とした点だけに注目すると、SO503i/iSとD503i/iSの実装はどうも正しくないのではないかと思えます。というのも、Generic Connectionフレームワークの定義によれば、javax.microedition.io.Connectionインターフェースの実装では、closeメソッドは複数回クローズすることができ、なおかつjavax.microedition.io.Connectorクラスでオープンされた接続をクローズするためのメソッドであるべきなのです。しかし、この2シリーズの実装ではHttpConnectionオブジェクトのconnectメソッドに対応するクローズとして実装されており、またconnectメソッドを呼び出す前にcloseメソッドを呼び出すと例外までthrowするのです。

結局のところ、現存している実装ですので対応を要する事態になってしまいましたが、もう少し仕様を大事にしていただけると開発者としては助かるなぁ、と思う次第です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です