ページの先頭行へ戻る
J アダプタクラスジェネレータ V12.1 ユーザーズガイド
FUJITSU Software

1.3 できないこと

Jアダプタクラスジェネレータでは、以下のような使い方はできません。

Javaクラスの継承

Javaクラスを継承したCOBOLクラスを定義することはできません。アダプタクラスを継承したCOBOLクラスを定義しても、Javaクラスの機能を上書きできません。

COBOLオブジェクトの受け渡し

メソッドを呼び出す際のパラメタとしてCOBOLオブジェクトを渡すことはできません。また、Javaのフィールドに対し、COBOLオブジェクトを設定することはできません。Javaとやり取りできるオブジェクトは、Javaオブジェクトをラッピングしたアダプタオブジェクトだけです。
そのため、以下のような使い方はできません。

リスナー

Javaでは、イベント発生時の処理を記述したリスナーオブジェクトを、イベントを発生するオブジェクトに登録します。しかし、COBOLオブジェクトをJavaオブジェクトに登録できないため、COBOLでリスナーを記述することはできません。

コレクションクラス

Javaのコレクションクラスには、COBOLオブジェクトを登録できません。COBOLオブジェクトを集合として扱う場合は、COBOLのコレクションクラスを使用してください。

日本語名標を持つクラス

クラス名、フィールド名またはメソッド名に日本語を含むクラスは使用できません。

JavaからCOBOLの呼出し

JavaからCOBOLプログラムを呼び出すことはできません。また、Javaから呼び出されたCOBOLプログラムからは、アダプタクラスを使用できません。

クラスリテラル

クラスリテラルは、"クラス名.class"、"インタフェース.class"のようなプリミティブ型から構成される式です。これはClassという型のオブジェクト、名前の付いた型のクラスオブジェクトを評価します。
Jアダプタクラスジェネレータでは、クラスリテラルを直接使用できません。このため以下のどちらかの方法で回避してください。

  • java.lang.ClassLoaderクラスのloadClassメソッドを使用して、クラスリテラルに対応したクラスオブジェクトを取得する。

  • クラスリテラルを使用するJavaのクラスを作成し、このJavaクラスのアダプタクラスを生成する。