正規表現のグループ($1、$2、...)を参照できる。デフォルト(=false)は<argName>の正規表現からグループを参照するが、trueにすると代わりに<argType>のグループを参照できる。<excludeConfigTypes>エンドポイントオプションに含めたくない引数は、ここで正規表現を使って除外できます。除外する引数を引数名で指定。除外する引数を型で指定。<extraOption>メソッド引数に登場しないオプションを追加できます。</extraOption></extraOptions>用途としては、例えば、そのままオプションとして使うには生成が複雑なオブジェクトの引数を上の<excludeConfigNames>、<excludeConfigTypes>で除外し、代わりにその生成に必要なパラメータをこのカスタムオプションとして定義する、などです。追加したカスタムオプションは、プロジェクトのEndpoint、Consumer、Producer各クラスの中でinterceptProperties()メソッドをオーバーライドし、その中で実際にAPIメソッドに必要な引数に変換します。下はcamel-olingo4の例です。}<alias>APIのメソッドにエイリアスを設定できます。エイリアスを設定すると、エンドポイントのmethodNameの部分に元々のメソッド名とエイリアスのどちらも使えるようになります。</alias></aliases>エイリアスを設定すると、例えばgreetMe(...)、greetUs(...)各メソッドに対して以下のようなエンドポイントを定義できる。hello://hello-file/mehello://hello-file/us<nullableOption>null値がOKなオプションを指定できます。最後に、Javadoc方式を採用した場合に固有の設定です。<proxyClass>で指定したAPIクラスからメソッドを読み込む際に、そのスーパークラスのメソッド読み込みを除外するための設定。パッケージまたはクラスを正規表現パターンで指定。<excludePackages>のデフォルトはjavax?\.lang.*。APIの読み込みに明示的に含めるメソッドの正規表現パターン。APIの読み込みから除外するメソッドの正規表現パターン。staticメソッドを含めるかどうか。デフォルトは含めない(=false)。上記の設定パラメータは、<api>...</api>で囲まれたエンドポイント毎に設定することもできますし、<apis>の外に設定することでグローバルに適用することもできます。グローバルの設定は、エンドポイント毎の設定で上書きされます。</configuration>エンドポイント毎のConfigurationクラスここまでのマッピング設定によってAPIから読み込まれた引数オプションは、コンポーネントプロジェクトのtarget/generated-sources/camel-componentの下にエンドポイント毎のConfigurationクラスとして自動生成されます。前回作成したcamel-helloサンプルプロジェクトを見ると、以下のConfigurationクラスが生成されています。これらのクラスは、上記のマッピング設定から毎回自動生成されるものなので、その後手動で編集する必要はありません(してはいけません)。HelloJavadocHelloEndpointConfiguration.javaおわりにAPIコンポーネントフレームワークでは、この道具立てで既存のAPIをコンポーネントにマッピングして取り込むことになります。様々なAPIコンポーネントがこのフレームワークで作られていることから分かるように、よほどエキセントリックなAPIでない限りこのマッピング設定でAPIを取り込むことができます。それでも実際にAPIをマッピングしようとして迷ったときは、このフレームワークを使って作られているCamel標準コンポーネント(第1回参照)のソースコードを参照するといいでしょう。次回、最終回はインテグレーションテストを追加することで、APIコンポーネントのプロジェクトを完成させます。Hatの佐藤匡剛です。Hatの佐藤匡剛です。Hatの佐藤匡剛です。Processor中でCamelコンポーネントの利用方法レッドハットでコンサルティングしているフェンです。Hatでソリューションアーキテクトをしている小島です。各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。