COBOL プログラムおよびネイティブのオブジェクト指向 COBOL のメソッドでは、連絡節で構造体を使用し、Java クラスから渡されたデータをその中に格納することが可能です。ただし、対応する Java 側のパラメーターが、com.microfocus.cobol.lang.Datatype または com.microfocus.cobol.lang.CustomRecord を実装したオブジェクトであることが前提になります。次にこれらのインターフェイスの定義を示します。
package com.microfocus.cobol.lang; public interface DataType { void synchronizeData(); byte[] getBytes(); }
および
package com.microfocus.cobol.lang; public interface CustomRecord { public Object[] getParameters(); public void setParameters(Object[] parms); }
com.microfocus.cobol.lang.Datatype/com.microfocus.cobol.lang.CustomRecord を使用すると、複雑な構造のデータを COBOL のプログラムやメソッドに渡すことができます。多数の基本データ型でインターフェイスを作り直す必要はありません。
com.microfocus.cobol.lang.Datatype インターフェイスを実装したクラスの例が、mfcobol.jar で定義されている com.microfocus.cobol.lang.Pointer です。com.microfocus.cobol.lang.Pointer のコンストラクターを次に示します。
/* Create a Pointer object from String initString*/ public Pointer(String initString); /* Create a Pointer object from StringBuffer initString */ public Pointer(StringBuffer initString); /* Create a pointer object containing 'capacity' bytes, */ /* space filling if initString has fewer characters */ /* than 'capacity' */ public Pointer(String initString, int capacity);