WritableRecordFactory実装サービス jp.ossc.nimbus.service.writer.PropertyWritableRecordFactoryService

jp.ossc.nimbus.service.writer.PropertyWritableRecordFactoryServiceは、任意のオブジェクトからサービス定義で指定されたプロパティ値を引き出し、WritableRecordに変換するWritableRecordFactory実装サービスです。
また、繰り返し要素を含むフォーマットを指定する事もできます。

以下に簡単なサービス定義を示します。

  1. <?xml version="1.0" encoding="Shift_JIS"?>
  2. <!DOCTYPE server PUBLIC
  3. "-//Nimbus//DTD Nimbus 1.0//JA"
  4. "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
  5. <server>
  6. <manager>
  7. <!-- 出力情報をフォーマットするWritableRecordFactoryサービス
  8. 任意のオブジェクトからフォーマットしてMessageWriterの入力であるWritableRecordを生成する
  9. -->
  10. <service name="WritableRecordFactory"
  11. code="jp.ossc.nimbus.service.writer.PropertyWritableRecordFactoryService">
  12. <!-- フォーマットのキーと出力情報のプロパティのマッピング
  13. 以下の指定方法で、複数指定できる。
  14. フォーマットのキー=出力情報のプロパティ
  15. 繰り返し項目となるキーは、キーの最後に"*"を付加する。
  16. 右辺の指定方法は、jp.ossc.nimbus.beans.PropertyFactoryの
  17. 仕様に従います。ここでは、詳細には説明しません。
  18. -->
  19. <attribute name="FormatKeyMapping">
  20. DATE=Date
  21. MESSAGE=Message
  22. ID=User.Id
  23. USER_PROPERTIES*=User.Properties.entrySet
  24. </attribute>
  25. <!-- FormatKeyMapping属性で指定したフォーマットキーを
  26. 使ったフォーマット
  27. フォーマットキーは、"%"で囲んで指定する。
  28. -->
  29. <attribute name="Format">%DATE% : %ID%{%USER_PROPERTIES*%} : %MESSAGE%</attribute>
  30. <!-- FormatKeyMapping属性で定義した繰り返し項目の
  31. フォーマットキーと出力情報のプロパティのマッピング
  32. 指定方法は、FormatKeyMapping属性と同じ。
  33. -->
  34. <attribute name="IterateFormatKeyMapping(USER_PROPERTIES*)">
  35. NAME=Key
  36. PROPERTY=Value
  37. </attribute>
  38. <!-- IterateFormatKeyMapping属性で指定したフォーマットキーを
  39. 使ったフォーマット
  40. フォーマットキーは、"%"で囲んで指定する。
  41. -->
  42. <attribute name="IterateFormat(USER_PROPERTIES*)">"%NAME%="%PROPERTY%", "</attribute>
  43. <!-- フォーマットキーに対応するWritableElementの実装クラス
  44. 以下の指定方法で、複数指定できる。
  45. フォーマットキー=WritableElementの実装クラス名
  46. 特に指定しないフォーマットキーは、
  47. jp.ossc.nimbus.service.writer.SimpleElement
  48. が使用される
  49. -->
  50. <attribute name="ImplementClasses">
  51. DATE=jp.ossc.nimbus.service.writer.DateElement
  52. </attribute>
  53. </service>
  54. </manager>
  55. </server>


出力/WritableRecordFactory