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());