DataBeanとPOJOのデータ移送

Universal X(USAX)におけるBeanはMapのようにキーに対して値を管理します。
他社Frameworkとの連携の際は、USAXのDataBeanとPOJO間のデータ連携が必要となりますが
USAXではユーティリティ「jp.co.cam.usax.rule.util.BeanMappingUtil」にて
DataBeanとPOJO間におけるデータのやり取りに関わる機能を提供しています。

Bean(POJO)からDataBeanにデータを移送する

jp.co.cam.usax.rule.util.BeanMappingUtilのmapping機能を用いて
Bean(POJO)からDataBeanにデータを移送します。

Bean(POJO)のGetterにアノテーションを記述

Bean(POJO)の移送元メソッドまたはフィールドに@Mappinggetter("移送先のキー名")を記述します。

    import jp.co.cam.usax.USAXAnnotations.MappingGetter;

    public class SampleBean
    {
        /**
         * ユーザーIDの取得。
         * @return ユーザーID
         */
        @MappingGetter("USER_CODE")
        public String getUserCode()
        {
            return _userCode;
        }

        /**
         * ユーザーIDの設定。
         * @param pmCode ユーザーID
         */
        public void setUserCode(
            final String pmCode
        )
        {
            _userCode = pmCode;
        }

        /** ユーザーID */
        String _userCode;
    }
  

Bean(POJO)からDataBeanにデータを移送

それでは実際にjp.co.cam.usax.rule.util.BeanMappingUtilを使って
上記のSampleBeanからDataBeanにデータを移送します。


    // DataBean
    final DataBeanIF bean = new DataBean();

    // Bean
    final SampleBean pojo = new SampleBean();

    pojo.setUserCode("12345");

    BeanMappingUtil.mapping(bean, pojo);

    System.out.println(bean.getString("USER_CODE"));
  

DataBeanからBean(POJO)にデータを移送する

jp.co.cam.usax.rule.util.BeanMappingUtilのresponse機能を用いて
DataBeanからBean(POJO)にデータを移送します。

Bean(POJO)のSetterにアノテーションを記述

Bean(POJO)の移送先メソッドまたはフィールドに@MappingSetter("移送元のキー名")を記述します。

    import jp.co.cam.usax.USAXAnnotations.MappingSetter;

    public class SampleBean
    {
        /**
         * ユーザーIDの取得。
         * @return ユーザーID
         */
        public String getUserCode()
        {
            return _userCode;
        }

        /**
         * ユーザーIDの設定。
         * @param pmCode ユーザーID
         */
        @MappingSetter("USER_CODE")
        public void setUserCode(
            final String pmCode
        )
        {
            _userCode = pmCode;
        }

        /** ユーザーID */
        String _userCode;
    }
  

DataBeanからBean(POJO)にデータを移送

それでは実際にjp.co.cam.usax.rule.util.BeanMappingUtilを使って
上記のSampleBeanにDataBeanからデータを移送します。


    // DataBean
    final DataBeanIF bean = new DataBean();

    // Bean
    final SampleBean pojo = new SampleBean();

    bean.setString("USER_CODE", "12345");

    BeanMappingUtil.response(bean, pojo);

    System.out.println(pojo.getUserCode());
  

©Camel engineering LLP