構造体の使用

制約事項: 次の説明はネイティブ コードのみに該当します。

COBOL プログラムや Object 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);