メイン コンテンツをスキップする 補完的コンテンツへスキップ

DSQLマップの機能

は、既存のファンクションに加えて、DSQLマップで機能をいくつか提供します。

他のファンクションに関するドキュメンテーションは、 リファレンスガイドをご覧ください。

@emit

指定された条件に基づいて出力フィールドを生成するかどうかを制御します。

@emitアノテーションは、SELECTブロック内の代入文の前に配置されます。条件式の評価に基づき、条件付きで出力フィールドを生成できます。

条件が真(true)と評価された場合、出力フィールドが生成されます。条件が偽(false)と評価された場合、そのフィールドは出力から除外されます。

構文

@emit ( condition = <expression> )
<field_name> = <value>

引数

@emitアノテーションには、必須の引数が1つ必要です。

  • condition: フィールドが生成されるかどうかを決定するブール式。

この例では、評価フィールドは、値を持つ場合にのみ出力に含まれます。

FROM customer
SELECT {
  name = name,
  @emit ( condition = hasValue(rating) )
  rating = rating
}

これにより、名前フィールドは常に含まれる一方で、評価フィールドは顧客に評価値が存在する場合にのみ現れる出力レコードが生成されます。

getContextVariable

指定したコンテキスト変数の値を返します。

getContextVariableファンクションを使えば、ジョブで定義されたコンテキスト変数を呼び出すことができます。

情報メモヒント: DSQLファンクションの完全なリファレンスについては、 リファレンスガイドのgetContextVariable (英語のみ)を参照してください。

引数

コンテキスト変数の名前。

getMapProperty

指定された実行プロパティの値を返します。

getMapPropertyファンクションを使用すると、実行プロパティの値を取得できます。このファンクションは、Camelルート(cMapコンポーネントを含む)において、Exchangeのインバウンドヘッダーにアクセスする際に特に有用です。

情報メモヒント: DSQLファンクションの完全なリファレンスについては、 リファレンスガイドのgetMapProperty (英語のみ)を参照してください。

引数

文字列リテラルとしての実行プロパティの名前。

getMapProperty('propertyName')

指定されたプロパティが存在しない場合、ファンクションはnullを返します。

java:call

Javaメソッドを呼び出します。

Javaメソッドを呼び出すためには、java:call機能を使います。これは、たとえばで利用可能なBeanやルーチンを呼び出すために使用できます。

引数

Javaパラメーター。

サポートされている構文は次の3つです:
  • 静的メソッドへの呼び出し: java:call(<class_name><method_name><arguments>)
  • 非静的メソッドへの呼び出し: java:call(java:new(<class_name><constructor_arguments>)、<method_name><arguments>)
  • Javaオブジェクトの別のメソッドから返されるJavaオブジェクトの非静的メソッドへの呼び出し: java:call(java:call(<class_name><method_name><arguments>)、<method_name><arguments>)

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。