ExternalType パーツ

ExternalType パーツは、EGL を外部言語要素にマップします。

以下のいずれかのステレオタイプを ExternalType パーツとともに使用できます。
ExternalType パーツには、以下の特性があります。
ExternalType パーツは以下のコンポーネントで構成されます。
変数宣言
以下の変数は、外部言語要素内のパブリック変数へのアクセスを提供します。
関数プロトタイプ
外部型内のメソッド呼び出しまたは関数呼び出しを表します。
コンストラクター・プロトタイプ
EGL new 文を使用して、この外部型の変数を構成する構文を定義します。
詳しくは、『ExternalType パーツの概要』を参照してください。

構文

ExternalType パーツの構文図
typeName
パーツ・タイプに割り当てる名前。この型の変数を作成する文では、この名前を使用します。
externalType
extends 文節は、この型が継承する関数や変数プロトタイプを含む、別の ExternalType 定義を参照します。
stereotype
JavaObject、JavaScriptObject、または HostProgram のいずれかの種類。
variableDeclaration
このプロトタイプ宣言は、外部型の変数を表します。 ストレージが割り当てられていないため、これらの宣言にはイニシャライザーを使用できません。 EGL 構文を使用し、ネイティブ型に対応する EGL プリミティブ型を変数のベースにします。ネイティブ型の 1 つの例については、EGL プリミティブ型の Java へのマッピングを参照してください。
static
このキーワードは、外部型に基づく変数とは別に指定された関数または変数が存在し、 構文 typeName.functionName() を使用すると、その関数を参照できることを示します。
functionPrototype
このプロトタイプ宣言は、外部型の関数を表します。 この宣言に実際のコードは組み込まず、EGL 構文を使用してパラメーターと戻り値を指定してください。パラメーターとして渡すプリミティブ型には、in 修飾子を含める必要があります。
parameters
これらは、EGL が new 文を使用してこの型の変数を作成するために必要とする パラメーターです。new 文内のパーツ名には typeName を使用してください (『new 演算子』を参照)。

以下の例は、関数プロトタイプを使用した ExternalType パーツを示します。

ExternalType TaxModule type JavaObject
  // public 変数を定義します
  adjustedGrossIncome FLOAT;
  companyName STRING;

  // 関数プロトタイプを定義します
  function calculateTax (adjIncome FLOAT in) returns (FLOAT);

  // コンストラクター・プロトタイプを定義します
  constructor (taxAuthority STRING);
end

// 前述のコンストラクターを新しい式で呼び出します
myTaxModule TaxModule = new TaxModule("NC") {
  adjustedGrossIncome = 60135.00,
  companyName = "CompanyB" };

myTax = myTaxModule.calculateTax (myIncome);

互換性

表 1. ExternalType パーツの互換性に関する考慮事項
プラットフォーム 問題
COBOL 生成 ユーザー作成 ExternalType パーツはサポートされません。

フィードバック