Converter実装サービス jp.ossc.nimbus.service.converter.BeanFlowConverterService

jp.ossc.nimbus.service.converter.BeanFlowConverterServiceは、業務フローを使って、オブジェクトを別のオブジェクトに変換するConverter実装サービスです。

このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。

下位サービスインタフェース用途
jp.ossc.nimbus.service.beancontrol.interfaces.BeanFlowInvokerFactory変換ロジックを実装した業務フローを取得する。

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

  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. <!-- 業務フローを使ってオブジェクトを変換するConverterサービス -->
  8. <service name="Converter"
  9. code="jp.ossc.nimbus.service.converter.BeanFlowConverterService">
  10. <!-- 業務フローを生成するBeanFlowInvokerFactoryサービスのサービス名を設定する -->
  11. <attribute name="BeanFlowInvokerFactoryServiceName">#BeanFlowInvokerFactory</attribute>
  12. <!-- 入力オブジェクトのクラス名と変換業務フローのマッピングを設定する -->
  13. <attribute name="ClassMapping(User)">convert/User</attribute>
  14. <depends>BeanFlowInvokerFactory</depends>
  15. </service>
  16. <!-- BeanFlowInvokerを生成するBeanFlowInvokerFactoryサービス -->
  17. <service name="BeanFlowInvokerFactory"
  18. code="jp.ossc.nimbus.service.beancontrol.DefaultBeanFlowInvokerFactoryService">
  19. <attribute name="DirPaths">flows</attribute>
  20. <attribute name="BeanFlowInvokerAccessClass">jp.ossc.nimbus.service.beancontrol.BeanFlowInvokerAccessImpl2</attribute>
  21. <attribute name="Validate">true</attribute>
  22. </service>
  23. </manager>
  24. </server>

以下に、簡単な変換業務フローのサンプルを示す。

  1. <?xml version="1.0" encoding="Shift_JIS"?>
  2. <!DOCTYPE flows PUBLIC
  3. "-//Nimbus//DTD Nimbus Bean Flow 1.0//JA"
  4. "http://nimbus.sourceforge.jp/dtd/beanflow_1_0.dtd">
  5. <flows>
  6. <!-- User変換フロー -->
  7. <flow name="convert/User">
  8. <step name="Record">
  9. <target><object code="jp.ossc.nimbus.beans.dataset.Record"></target>
  10. <attribute name="Name">User</attribute>
  11. <attribute name="Schema">
  12. :name,java.lang.String
  13. :age,int
  14. :sex,int
  15. </attribute>
  16. <attribute name="Property(name)"><input>Name</input></attribute>
  17. <attribute name="Property(age)"><input>Age</input></attribute>
  18. <attribute name="Property(sex)"><input>Sex</input></attribute>
  19. <result><this/></result>
  20. </step>
  21. </flow>
  22. </flows>


変換/Converter