Java Platform, Standard Edition
general inter ORB protocolを使用するアプリケーション間のリモート間通信をサポートし、CORBAの他のフィーチャーをサポートする。RMIとRMI-IIOPと同じく、このパッケージは(通常、ネットワーク経由で)他の仮想マシン上で動いているオブジェクトのリモートメソッドを呼ぶためにある。 すべての通信可能性からCORBAは様々なプログラミング言語でもっともポータブルである。しかしながら、それはCORBAを理解することをもいくぶん難しくしている。
ストリームクラスはストリームクラスに特色を加えたベースとなるサブクラスを拡張したDecoratorパターンに沿っている。ベースとなるストリームクラスのサブクラスはたいてい以下の特質を用いて名付けられる。:
ストリームデータの送信元/送信先
ストリームへ書き込まれた/読み込むデータ型
ストリームデータ上で行われる追加処理やフィルタリング
ストリームサブクラスはXxxが特色を記述しStreamTypeがInputStream、OutputStream、Reader、Writerのような名前をもつパターンXxxStreamTypeを使って名付けられる。
以下の表はjava.ioパッケージが直にサポートする送信元/送信先を示す:
他の標準ライブラリパッケージは、java.net.Socket.getInputStream()メソッドやJava EEのjavax.servlet.ServletOutputStreamクラスが返すInputStreamのような他の送信先としてストリーム実装を提供する。
データ型ハンドリング、ストリームデータのプロセッシングやフィルタリングはストリームフィルタを通してできあがっている。フィルタクラスはすべて、コンストラクタの引数としてもう一つの互換ストリームオブジェクトを受け入れ、追加された特色とともに囲まれたストリームをデコレート(decorate)する。
Discoveryはだいたいオブジェクトから始まり、Classのオブジェクトを取得するObject.getClass()メソッドを呼び出す。Classオブジェクトはクラスの中身を発見する数種のメソッドを持つ。以下にその例を示す:
getMethods() – クラスまたはインタフェースのpublicメソッドすべてをMethodオブジェクトの配列として返す。
getConstructors() – クラスのpublicコンストラクタすべてをConstructorの配列として返す。
getFields() – クラスまたはインタフェースのpublicフィールドすべてをFieldオブジェクトの配列として返す。
getClasses() – クラスまたはインタフェースのメンバ(e.g. 内部クラス)としてのpublicなクラスまたはインタフェースすべてをClassの配列として返す。
getSuperclass() – クラスまたはインタフェースのスーパークラスをClassオブジェクトを返す。インタフェースの場合は常にnullを返す。
getInterfaces() – クラスまたはインタフェースによって実装されているすべてのインタフェースをClassオブジェクトの配列として返す。
Use by name
Classオブジェクトは「クラスリテラル」(e.g. MyClass.class) を使用すること、またはメンバのシンボル名を使うことで得られる (e.g. Class.forName("mypackage.