サブスタンス削除サービスの実装クラス
package service.impl;
import service.DeleteSubstanceService;
import service.DomainDrivenService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipDeleteSubstanceService;
import service.param.SopDeleteSubstanceService;
import domain.SubstanceDomain;
import domain.SubstanceRepository;
/**
* サブスタンス削除サービス(実装)
*/
public class DeleteSubstanceServiceImpl implements DomainDrivenService,
DeleteSubstanceService {
/** サブスタンスリポジトリ */
private SubstanceRepository substanceRepository = null;
public SubstanceRepository getSubstanceRepository() {
return substanceRepository;
}
public void setSubstanceRepository(SubstanceRepository substanceRepository) {
this.substanceRepository = substanceRepository;
}
/*
* (非 Javadoc)
*
* @see
* service.DomainDrivenService#doService(service.param.ServiceInputParameter
* )
*/
@Override
public ServiceOutputParameter doService(ServiceInputParameter sip) {
// 入力パラメータからサブスタンスIDを取得する
Integer substanceId = ((SipDeleteSubstanceService) sip)
.getSubstanceId();
// サービスを実行する
doService(substanceId);
// サービス出力パラメータを作成する
SopDeleteSubstanceService sop = new SopDeleteSubstanceService();
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.DeleteSubstanceService#doService(java.lang.Integer)
*/
@Override
public void doService(Integer substanceId) {
// ドメインを取得する
SubstanceDomain domain = substanceRepository.getDomain(substanceId);
// ドメインの削除処理を呼び出す
domain.delete();
}
}
0 件のコメント:
コメントを投稿