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

アノテーション 定義 説明

AnnotationTarget

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

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

アノテーションの対象:

  • 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 で導入されました。Mule 4.4.0 以降でサポートされます。_​

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

Labels (ラベル)

@Labels(labels: Array<String>)

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

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(privileges: Array<String>)

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

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