ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド

15.10.2 インタフェースに使用できるデータ型

クライアント/サーバ間のインタフェースで使用できるデータ型について説明します。

Home/Remoteインタフェースで定義できる型

Home/Remoteインタフェースで、メソッドの復帰値およびパラメタに定義できる型を以下に示します。定数(public static finalフィールド)にはプリミティブ型またはString型が定義できます。
ここで定義した型の中でアプリケーション実行時に通信できる型については、“アプリケーション実行時に通信できる型”を参照してください。

プリミティブ型

以下のJavaプリミティブ型はすべて定義できます。

  • void

  • boolean

  • char

  • byte

  • short

  • int

  • long

  • float

  • double

インタフェース型

すべてのインタフェースを定義できます。ただし、java.rmi.Remoteインタフェースを継承する場合は、定義したすべてのメソッド(継承メソッドを含む)がjava.rmi.RemoteExceptionまたはjava.rmi.RemoteExceptionのスーパークラスを例外としてthrowするように定義してください。
また、インタフェースを複数継承する場合、継承されるインタフェース間で同名のメソッドが存在しないように定義してください。

クラス型

すべてのクラスを定義できます。ただし、実装するインタフェースにはjava.rmi.Remoteインタフェースを直接的にも間接的にも継承しないインタフェースを定義してください。

配列型

Home/Remoteインタフェースで定義できる型の配列も定義できます。

例外

すべての例外を定義できます。

アプリケーション実行時に通信できる型

アプリケーション実行時に通信できる型を以下に示します。ここで示す型以外を通信すると実行時に通信エラーとなります。

プリミティブ型

以下のJavaプリミティブ型はすべて定義できます。

  • void

  • boolean

  • char

  • byte

  • short

  • int

  • long

  • float

  • double

インタフェース型

以下のインタフェースを通信できます。

  • java.rmi.Remoteインタフェースを継承し、すべてのメソッド(継承メソッドを含む)がjava.rmi.RemoteException、またはjava.rmi.RemoteExceptionのスーパークラスを例外としてthrowするインタフェース

クラス型

以下のクラスを通信できます。

  • java.io.Serializableインタフェースを直接的または間接的に実装するクラスで、java.rmi.Remoteインタフェースを直接的にも間接的にも実装しないクラス

注意

java.io.Serializableインタフェースを直接実装していないクラスを通信した場合、ClassCastExceptionが発生します。
java.io.Serializableインタフェースを間接的にも実装していないクラスを通信した場合、org.omg.CORBA.MARSHALが発生します。

配列型

アプリケーション実行時に通信できる型の配列も通信できます。

例外

以下の例外(java.rmi.RemoteExceptionとそのサブクラスを除く)を通信できます。

  • java.lang.Errorまたはjava.lang.RuntimeExceptionを直接的にも間接的にも継承しない例外