---
schema_version: "1"
id: 278e91dcbe46b4e82c0bd612291d5da28ef2a98ed96ab27fdf233c730235d2dc
title: コアアノテーション (dw::Core)
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.4/dw-core-annotations.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.4/dw-core-annotations
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 48e0cd7b122af444b1a855dbcb47ab0d150b15e1fee648e453cea5605be9f8f7
description: MuleSoft Documentation Site
release: "2.4"
latest: false
---
# コアアノテーション (dw::Core)

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 16.6666%;">
<col style="width: 33.3333%;">
<col style="width: 50.0001%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">アノテーション</th>
<th class="tableblock halign-left valign-top">定義</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">AnnotationTarget</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>​<code>@AnnotationTarget(targets: Array&lt;"Function" | "Parameter" | "Variable" | "Import"&gt;)</code>​</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>アノテーションのスコープを制限するアノテーション。たとえば、​<code>Lazy</code>​ アノテーションは変数のみに適用され、​<code>StreamCapable</code>​ アノテーションはパラメーターと変数のみに適用されます。​<code>AnnotationTarget</code>​ を指定しなかった場合、アノテーションは任意の有効な対象に適用できます。例として、アノテーション ​<code>annotation TailRec()</code>​ のスコープを制限する ​<code>@AnnotationTarget(targets = ["Function", "Variable"])</code>​ があります。</p>
</div>
<div class="paragraph">
<p>アノテーションの対象:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>Parameter</code>​: 関数のパラメーター。</p>
</li>
<li>
<p><code>Function</code>​: 関数の定義。</p>
</li>
<li>
<p><code>Variable</code>​: 変数の定義。</p>
</li>
<li>
<p><code>Import</code>​: インポートの定義。</p>
</li>
</ul>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">非推奨</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>​<code>@Deprecated(since: String, replacement: String)</code>​</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>関数を非推奨としてマークするアノテーション。</p>
</div>
<div class="paragraph">
<p><em>DataWeave バージョン 2.4.0 で導入されました。</em>​</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">DesignOnlyType</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>​<code>@DesignOnlyType()</code>​</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>パラメーターの型を​<em>設計のみ</em>​としてマークし、データ型が設計時のみ検証されることを示すアノテーション。実行時には最小限の検証が実行されます。このアノテーションは、特に複雑な Object (オブジェクト) 型でパフォーマンスを高めるのに役立ちます。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Experimental</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>​<code>@Experimental()</code>​</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>関数を実験的とマークし、今後変更や削除される可能性があることを示すアノテーション。</p>
</div>
<div class="paragraph">
<p><em>DataWeave バージョン 2.4.0 で導入されました。</em>​</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">GlobalDescription</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>​<code>@GlobalDescription()</code>​</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>どの関数が関数のドキュメントセクションから関数の説明を示すかを明らかにするためのアノテーション。このアノテーションは、関数がオーバーロード状態のときに適切な関数の説明を選択するのに役立ちます。</p>
</div>
<div class="paragraph">
<p><em>DataWeave バージョン 2.4.0 で導入されました。</em>​</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Interceptor</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>​<code>@Interceptor(interceptorFunction: String | (annotationArgs: Object, targetFunctionName: String, args: Array&lt;Any&gt;, callback: (args: Array&lt;Any&gt;) -&gt; Any) -&gt; Any)</code>​</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>別のアノテーションをインターセプターとしてマークし、マークされたアノテーションによってアノテーションを付加された関数が ​<code>interceptorFunction</code>​ でラップされるようにするアノテーション。
例としては、​<code>@Interceptor(interceptorFunction = "@native system::SecurityManagerCheckFunctionValue")</code>​ によってアノテーションが付加される ​<code>RuntimePrivilege</code>​ アノテーションがあります。
<code>readUrl</code>​ 関数の定義は ​<code>@RuntimePrivilege(requires = "Resource")</code>​ によってアノテーションが付加されます。</p>
</div>
<div class="paragraph">
<p><em>実験的:</em>​ この実験的機能は、DataWeave の将来のバージョンで変更または削除される場合があります。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">内部</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>​<code>@Internal(permits: Array&lt;String&gt;)</code>​</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>関数を​<em>内部</em>​とマークするアノテーションで、使用されないことを示します。</p>
</div>
<div class="paragraph">
<p><em>DataWeave 2.4.0 で導入されました。</em>​</p>
</div>
<div class="paragraph">
<p><em>実験的:</em>​ この実験的機能は、DataWeave の将来のバージョンで変更または削除される場合があります。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Labels (ラベル)</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>​<code>@Labels(labels: Array&lt;String&gt;)</code>​</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>関数または変数に表示ラベルを付けて、表示ラベルが付けられた対象を見つけやすくするためのアノテーション。例としては、​<code>map</code>​ 関数や ​<code>mapObject</code>​ 関数の定義にアノテーションを付加する ​<code>@Labels(labels = ["foreach", "transform"])</code>​ があります。</p>
</div>
<div class="paragraph">
<p><em>DataWeave バージョン 2.4.0 で導入されました。</em>​</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Lazy (遅延)</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>​<code>@Lazy()</code>​</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>遅延初期化のために変数宣言をマークするアノテーション。</p>
</div>
<div class="paragraph">
<p><em>DataWeave バージョン 2.3.0 で導入されました。</em>​</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">RuntimePrivilege</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>​<code>@RuntimePrivilege(requires: String)</code>​</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>関数を実行するには実行時権限が必要であることを示すためのアノテーション。例としては、​<code>readUrl</code>​ 関数の定義にアノテーションを付加する ​<code>@RuntimePrivilege(requires = "Resource")</code>​ があります。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Since (以降)</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>​<code>@Since(version: String)</code>​</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>アノテーションが付加された機能が導入された DataWeave バージョンを明らかにするアノテーション。例としては、​<code>@Since(version = "2.4.0")</code>​ があります。</p>
</div>
<div class="paragraph">
<p><em>DataWeave 2.3.0 で導入されました。Mule 4.3 以降でサポートされます。</em>​</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">StreamCapable</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>​<code>@StreamCapable()</code>​</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>パラメーターをストリーム対応としてマークするアノテーション。これは、アノテーションが付加された項目が前方移動のみの方法でオブジェクトの配列をコンシュームすることを意味します。
<code>@StreamCapable</code>​ 項目が含まれる関数の例としては、​<code>map</code>​、​<code>mapObject</code>​、​<code>pluck</code>​ があります。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">TailRec</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>​<code>@TailRec()</code>​</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>関数を末尾再帰としてマークするアノテーション。このアノテーションが付加された関数が末尾再帰でない場合、関数は失敗します。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">UntrustedCode</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>​<code>@UntrustedCode()</code>​</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>スクリプトを信用できないとマークするアノテーション。これは、スクリプトに権限がないことを意味します。たとえば、スクリプトでは環境変数へのアクセス権を取得したり URL からのリソースを読み取ったりすることができません。</p>
</div>
<div class="paragraph">
<p><em>実験的:</em>​ この実験的機能は、DataWeave の将来のバージョンで変更または削除される場合があります。</p>
</div></div></td>
</tr>
</tbody>
</table>