feed

Atom プラグイン・フレームワーク構成ファイルで feed エレメントを使用して、フィード・アプリケーション内で 1 つのフィードを定義します。

feed エレメントは必須です。必要な数の feed エレメントを定義できます。

feed エレメントには、以下の子エレメントが含まれます。
エレメント 説明
description フィードの説明。このエレメントはオプションです。
display-name フィードの表示名です。このエレメントはオプションです。
feed-name フィードの名前。この名前は、フィード・アプリケーション内で固有である必要があります。 このエレメントは必須です。
feed-class フィードの実装クラス。このクラスは、プラグイン JAR ファイルで WSRR にロードする必要があります。詳細については、『Atom アプリケーション JAR ファイルのロード』を参照してください。 このエレメントは必須です。
init-param 実装クラスに渡される初期化パラメーター。 このパラメーターは、FeedConfig オブジェクトに格納され、実装クラスで使用できるようになります。フィード実装クラスで初期化パラメーターにアクセスする方法の詳細については、『初期化パラメーターへのアクセス』を参照してください。 このエレメントはオプションです。必要な数の init-param エレメントを定義できます。
init-param エレメントには、以下の子エレメントが含まれます。
description
初期化パラメーターの説明。このエレメントはオプションです。
param-name
初期化パラメーターの名前。この名前は、フィード内で固有である必要があります。 このエレメントは必須です。
param-value
初期化パラメーターの値。このエレメントは必須です。
feed-mapping feed-mapping エレメントを使用して、着信 HTTP 要求と当該フィードとのマッチングに使用するマッピング規則を正規表現の形式で定義し、該当するメソッドを呼び出します。 このエレメントはオプションです。必要な数の feed-mapping エレメントを定義できます。

Atom プラグイン・フレームワークは、着信 HTTP 要求とマッピング規則とのマッチングを、構成ファイルで定義した順序に厳密に従い試行します。一致するものが検出されるとすぐに、feed-mapping エレメントが定義されているフィードに要求がルーティングされ、対応する feed-mapping 設定が要求の処理方法を決定します。これにより、より汎用的な表現を安全に使用できることになるため、定義する正規表現の簡素化に役立ちます。また、限定的な表現に続いて正規表現を定義した場合は、異なるさまざまな URI に正規表現を一致させることができます。

feed-mapping エレメントには、以下の子エレメントが含まれます。
regex-pattern
着信 HTTP 要求のマッチングに使用する正規表現。HTTP 要求が正規表現に一致する場合、当該フィードにルーティングされます。 正規表現構文について詳しくは、 『http://java.sun.com/javase/6/docs/api/java/util/regex/Pattern.html#sum』を参照してください。
regex-pattern エレメントには、指定された正規表現に一致する HTTP 要求への応答で返される Atom リソースのタイプを指定する、target-type 属性があります。 target-type 属性は、以下のいずれかの値である必要があります。
  • "SERVICE": サービス文書
  • "COLLECTION": フィード文書
  • "ENTRY": エントリー文書
  • "MEDIA": メディア・リソース
  • "CATEGORIES": カテゴリー文書
target-type 属性の値は、フィード実装クラスで呼び出すメソッドを判別します。 詳細については、『Atom フィード実装クラスの作成』を参照してください。
regex-field
1 つ以上の regex-field エレメントを定義した場合、正規表現が HTTP 要求 URL と一致したとき、正規表現で識別された取り込み済みグループの値が、指定された名前のフィールドに自動的に格納されます。 その結果、フィード・アプリケーションは、これらのフィールドから取り込み済みグループの値を容易に取得でき、URL を解析する必要がありません。
例えば、regex-fields を使用して、次に続く「/」文字で囲まれた HTTP 要求 URL の部分を取得できます。
regex-field エレメントの使用法については、このトピック内で示している例を参照してください。 フィード・アプリケーションのフィールド値にアクセスする方法の詳細については、『regex フィールド値へのアクセス』を参照してください。
この エレメントはオプションです。

この例では、実装クラスが com.ibm.serviceregistry.feeds.ExampleFeed である Atom フィード「EndpointsFeed」を定義しています。

初期化パラメーター「debug」が、値「false」を使用して実装クラスに渡されます。

このフィードが定義されているアプリケーションのコンテキスト・ルートが「/WSRR/service」である場合、形式「http://hostname:port/ServiceRegistryFeeds//WSRR/service/endpoints」の HTTP 要求 URL が当該フィードにルーティングされ、Atom フィード文書が返されます。

このフィードが定義されているアプリケーションのコンテキスト・ルートが「/WSRR/service」である場合、形式「http://hostname:port/ServiceRegistryFeeds//WSRR/service/endpoints/AccountCreation/online」の HTTP 要求 URL が当該フィードにルーティングされます。 「AccountCreation」はフィールド「endpoint_name」に格納され、「online」はフィールド「endpoint_status」に格納されます。 Atom エントリー文書が返されます。

<feed>
  <description>A feed that returns online service endpoints</description>
  <display-name>Service endpoints feed</display-name>
  <feed-name>EndpointsFeed</feed-name>
  <feed-class>com.ibm.serviceregistry.feeds.ExampleFeed</feed-class>

  <init-param>
    <description>Debug flag</description>
    <param-name>debug</param-name>
    <param-value>false</param-value>
  </init-param>

  <feed-mapping>
    <regex-pattern
      target-type="COLLECTION">
      /endpoints
    </regex-pattern>
  </feed-mapping>

  <feed-mapping>
    <regex-pattern
      target-type="ENTRY">
      /endpoints/(¥w+)/(¥w+)
    </regex-pattern>
    <regex-field>endpoint_name</regex-field>
    <regex-field>endpoint_status</regex-field>

  </feed-mapping>

</feed>