Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerDataWeave バージョン 2 関数はモジュールにパッケージ化されています。 開始する前に、DataWeave バージョン 2 は Mule 4 アプリケーションを対象とすることに注意してください。Mule 3 アプリケーションの場合、Mule 3.9 ドキュメントの「DataWeave の演算子」を参照してください。他の Mule バージョンの場合は、Mule Runtime の目次のバージョンセレクターを使用できます。
コア (dw::Core
) モジュールの関数は、自動的に DataWeave スクリプトにインポートされます。その他のモジュールを使用するには、DataWeave スクリプトの先頭に次のようなインポートディレクティブを追加することによって、使用するモジュールまたは関数をインポートする必要があります。
import dw::core::Strings
import camelize, capitalize from dw::core::Strings
import * from dw::core::Strings
モジュールのインポート方法は、DataWeave スクリプトから関数をコールする方法に影響します。ディレクティブでインポートする関数を具体的にリストしない場合や * from
を使用して関数モジュールのすべての関数をインポートする場合は、スクリプトから関数をコールするときにモジュールを指定する必要があります。たとえば、次のインポートディレクティブでは String モジュールからインポートする関数が指定されていないため、pluralize
関数をコールするときには Strings::pluralize("box")
のようになります。
%dw 2.0
import dw::core::Strings
output application/json
---
{ 'plural': Strings::pluralize("box") }
次の例では、String モジュールからインポートする特定の関数が指定されているため、pluralize("box")
のようにメソッドをコールできます。
%dw 2.0
import pluralize from dw::core::Strings
output application/json
---
{ 'plural': pluralize("box") }
次の例では、String モジュールからすべての関数がインポートされるため、pluralize("box")
のようにメソッドをコールできます。
%dw 2.0
import * from dw::core::Strings
output application/json
---
{ 'plural': pluralize("box") }
DataWeave リファレンスの各 DataWeave 関数はその関数シグネチャーによって識別されます。関数では、関数名、0 個以上のパラメーター、戻り値のデータ型が指定されます。
2 個のパラメーターの関数シグネチャーの基本構文:
function(parameterType,parameterType): returnType
たとえば、contains
関数のシグネチャー contains(String, String): Boolean
には 2 個のパラメーターがあり、それぞれのパラメーターで String (文字列) 型の値を受け入れます。関数は Boolean (ブール) 値を返します。
関数シグネチャー内のパラメーターは名前付きパラメーターに順番に対応し、名前付きパラメーターは各シグネチャーのパラメーターテーブルで記述されます。たとえば、contains(String, String): Boolean では、text
が 1 番目のパラメーターで toSearch
が 2 番目のパラメーターであることがパラメーターテーブルで示されています。
多くの DataWeave 関数が、異なるデータ型を処理するためにオーバーロードされます。関数のバリエーションごとに一意の関数シグネチャーがあります。たとえば、isEmpty は、Array (配列)、String (文字列)、Object (オブジェクト)、または Null 型の入力値をサポートするためにオーバーロードされます。
データ型についての詳細は、「型システム」を参照してください。
関数シグネチャーには型パラメーターを含めることができます。型パラメーターは一部のプログラミング言語の総称に似ています。たとえば、contains(Array<T>, Any): Boolean
の Array<T>
は、DataWeave でサポートされる任意の型 (T
) の要素を配列に含めることができることを示します。対照的に、特定の型の配列では型 (Array<String>
、Array<Number>
、または両方の型 Array<String|Number>
) を指定します。
関数を引数として渡すことができます。関数シグネチャー内のパラメーターが、parameterName:Type
形式の 1 つ以上のパラメーターを取り、戻り値のデータ型 (→ ReturnType
) を持つ関数型になっている場合があります。たとえば、関数型 (item: T, index: Number) → R)
は map 関数 (map(Array<T>, (item: T, index: Number) → R): Array<R>
) のパラメーター型です。この関数型は任意の型 T
の値と Number (数値) 型の値を受け入れ、R
型の値を返すパラメーターとして機能します。