コアアノテーション (dw::Core)

アノテーション 定義 説明

AnnotationTarget

​@AnnotationTarget(targets: Array<"Function" | "Parameter" | "Variable" | "Import">)​

アノテーションのスコープを制限するアノテーション。たとえば、​Lazy​ アノテーションは変数のみに適用され、​StreamCapable​ アノテーションはパラメーターと変数のみに適用されます。​AnnotationTarget​ を指定しなかった場合、アノテーションは任意の有効な対象に適用できます。例として、アノテーション ​annotation TailRec()​ のスコープを制限する ​@AnnotationTarget(targets = ["Function", "Variable"])​ があります。

アノテーションの対象:

  • Parameter​: 関数のパラメーター。

  • Function​: 関数の定義。

  • Variable​: 変数の定義。

  • Import​: インポートの定義。

非推奨

​@Deprecated(since: String, replacement: String)​

関数を非推奨としてマークするアノテーション。

DataWeave バージョン 2.4.0 で導入されました。​

DesignOnlyType

​@DesignOnlyType()​

パラメーターの型を​設計のみ​としてマークし、データ型が設計時のみ検証されることを示すアノテーション。実行時には最小限の検証が実行されます。このアノテーションは、特に複雑な Object (オブジェクト) 型でパフォーマンスを高めるのに役立ちます。

Experimental

​@Experimental()​

関数を実験的とマークし、今後変更や削除される可能性があることを示すアノテーション。

DataWeave バージョン 2.4.0 で導入されました。​

GlobalDescription

​@GlobalDescription()​

どの関数が関数のドキュメントセクションから関数の説明を示すかを明らかにするためのアノテーション。このアノテーションは、関数がオーバーロード状態のときに適切な関数の説明を選択するのに役立ちます。

DataWeave バージョン 2.4.0 で導入されました。​

Interceptor

​@Interceptor(interceptorFunction: String | (annotationArgs: Object, targetFunctionName: String, args: Array<Any>, callback: (args: Array<Any>) -> Any) -> Any)​

別のアノテーションをインターセプターとしてマークし、マークされたアノテーションによってアノテーションを付加された関数が ​interceptorFunction​ でラップされるようにするアノテーション。 例としては、​@Interceptor(interceptorFunction = "@native system::SecurityManagerCheckFunctionValue")​ によってアノテーションが付加される ​RuntimePrivilege​ アノテーションがあります。 readUrl​ 関数の定義は ​@RuntimePrivilege(requires = "Resource")​ によってアノテーションが付加されます。

実験的:​ この実験的機能は、DataWeave の将来のバージョンで変更または削除される場合があります。

内部

​@Internal(permits: Array<String>)​

関数を​内部​とマークするアノテーションで、使用されないことを示します。

DataWeave 2.4.0 で導入されました。​

実験的:​ この実験的機能は、DataWeave の将来のバージョンで変更または削除される場合があります。

Labels (ラベル)

​@Labels(labels: Array<String>)​

関数または変数に表示ラベルを付けて、表示ラベルが付けられた対象を見つけやすくするためのアノテーション。例としては、​map​ 関数や ​mapObject​ 関数の定義にアノテーションを付加する ​@Labels(labels = ["foreach", "transform"])​ があります。

DataWeave バージョン 2.4.0 で導入されました。​

Lazy (遅延)

​@Lazy()​

遅延初期化のために変数宣言をマークするアノテーション。

DataWeave バージョン 2.3.0 で導入されました。​

RuntimePrivilege

​@RuntimePrivilege(requires: String)​

関数を実行するには実行時権限が必要であることを示すためのアノテーション。例としては、​readUrl​ 関数の定義にアノテーションを付加する ​@RuntimePrivilege(requires = "Resource")​ があります。

Since (以降)

​@Since(version: String)​

アノテーションが付加された機能が導入された DataWeave バージョンを明らかにするアノテーション。例としては、​@Since(version = "2.4.0")​ があります。

DataWeave 2.3.0 で導入されました。Mule 4.3 以降でサポートされます。​

StreamCapable

​@StreamCapable()​

パラメーターをストリーム対応としてマークするアノテーション。これは、アノテーションが付加された項目が前方移動のみの方法でオブジェクトの配列をコンシュームすることを意味します。 @StreamCapable​ 項目が含まれる関数の例としては、​map​、​mapObject​、​pluck​ があります。

TailRec

​@TailRec()​

関数を末尾再帰としてマークするアノテーション。このアノテーションが付加された関数が末尾再帰でない場合、関数は失敗します。

UntrustedCode

​@UntrustedCode()​

スクリプトを信用できないとマークするアノテーション。これは、スクリプトに権限がないことを意味します。たとえば、スクリプトでは環境変数へのアクセス権を取得したり URL からのリソースを読み取ったりすることができません。

実験的:​ この実験的機能は、DataWeave の将来のバージョンで変更または削除される場合があります。