/** * @version $Id: ClaimWorkDataControllerForUI.java 1839 2014-04-16 02:33:51Z yukihiro-kinjyo $ * * 2012/10/04 19:30:04 * @author kousuke-morishima * * Copyright 2011-2014 TIDAコンソーシアム All Rights Reserved. */ package com.tida_okinawa.corona.ui.controllers; import java.util.List; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.widgets.Shell; import com.tida_okinawa.corona.correction.controller.IListener; import com.tida_okinawa.corona.internal.ui.views.model.IUIProduct; import com.tida_okinawa.corona.internal.ui.views.model.IUIWork; import com.tida_okinawa.corona.io.model.ClaimWorkDataType; import com.tida_okinawa.corona.io.model.IClaimWorkData; import com.tida_okinawa.corona.ui.data.ClaimWorkDataRecord; /** * 中間データの処理. * UIの処理を行うために拡張したクラス * * @param <TS> * 入力データ * @param <TR> * 出力データ */ abstract public class ClaimWorkDataControllerForUI<TS extends ClaimWorkDataRecord, TR extends ClaimWorkDataRecord> extends ClaimWorkDataController<TS, TR> { /** * プロダクト */ final IUIProduct uiProduct; /** * * @param name * 処理名 * @param uiProduct * 解析対象のターゲット * @param typeS * 入力データのタイプ * @param typeR * 出力データのタイプ * @param listener * 処理結果を受け取るリスナー */ public ClaimWorkDataControllerForUI(String name, IUIProduct uiProduct, ClaimWorkDataType typeS, ClaimWorkDataType typeR, IListener<TR> listener) { super(name, uiProduct.getObject(), typeS, typeR, listener); this.uiProduct = uiProduct; if (inputWorks.isEmpty()) { MessageDialog.openInformation(new Shell(), "クレンジング実行", "入力元データがないため、処理を行いません"); } } /** * * @param name * 処理名 * @param uiProduct * 解析対象のターゲット * @param works * 入力データ * @param typeR * 出力データのタイプ * @param listener * 処理結果を受け取るリスナー */ public ClaimWorkDataControllerForUI(String name, IUIProduct uiProduct, List<IClaimWorkData> works, ClaimWorkDataType typeR, IListener<TR> listener) { super(name, uiProduct.getObject(), works, typeR, listener); this.uiProduct = uiProduct; if (inputWorks.size() > 0) { MessageDialog.openInformation(new Shell(), "クレンジング実行", "入力元データがないため、処理を行いません"); } } /** * * @param name * 処理名 * @param uiProduct * 解析対象のターゲット * @param uiWork * 入力データ * @param typeR * 出力データのタイプ * @param listener * 処理結果を受け取るリスナー */ public ClaimWorkDataControllerForUI(String name, IUIProduct uiProduct, IUIWork uiWork, ClaimWorkDataType typeR, IListener<TR> listener) { super(name, uiProduct.getObject(), uiWork.getObject(), typeR, listener); if (inputWorks.size() > 0) { MessageDialog.openInformation(new Shell(), "クレンジング実行", "入力元データがないため、処理を行いません"); } this.uiProduct = uiProduct; } @Override IListener<TR> createCommitter() { return new ClaimWorkDataRecordCommitterForUI<TR>(uiProduct, typeR); } }