47.7. 追加オプション
概要
extraOptions
オプションは通常より簡単なオプションを提供することで、複雑な API パラメーターを計算または非表示するために使用されます。たとえば、API メソッドには POJO オプションが使用される場合がありまが、これは URI 内の POJO の一部としてより簡単に提供することができます。コンポーネントは、パーツを追加オプションとして付与し、内部で POJO パラメーターを作成することでこれを行うことができます。これらの追加オプションの実装を完了するには、EndpointConsumer
や EndpointProducer
クラスで interceptProperties
メソッドをオーバーライドする必要もあります (「プログラミングモデル」 を参照)。
構文
extraOptions
要素は、以下のように 1 つ以上の extraOption
子要素で定義できます。
<extraOptions> <extraOption> <type>TypeName</type> <name>OptionName</name> </extraOption> </extraOptions>
TypeName
は追加オプションの完全修飾型名であり、OptionName
は追加 URI オプションの名前です。
Scope
以下の抜粋で示されているように、extraOptions
要素は、任意で apis
要素の子や api
要素の子として表示できます。
<configuration> <apis> <api> <apiName>...</apiName> ... <extraOptions>...</extraOptions> </api> <extraOptions>...</extraOptions> ... </apis> </configuration>
以下のスコープで extraOptions
要素を定義できます。
-
api
要素の子として:extraOptions
はapi
要素で指定された API クラスにのみ適用されます。 -
apis
要素の子として:extraOptions
はデフォルトですべての API クラスに適用されますが、api
レベルで上書きできます。
子要素
それぞれの extraOptions
要素は、以下の子要素で定義できます。
type
- 追加オプションの完全修飾型名を指定します。
name
- エンドポイント URI に表示されるオプション名を指定します。
例
以下の例は、java.util.list<String>
タイプの追加の URI オプションである customOption
を定義します。
<extraOptions> <extraOption> <type>java.util.List<String></type> <name>customOption</name> </extraOption> </extraOptions>