intra-mart Accel Kaiden! / プログラミングガイド

«  Dtoクラスの作成   ::   コンテンツ   ::   Actionクラスの作成  »

Logicクラスの作成

jp.co.slcs.kaiden2.base.foundation.master.AbstractTermMasterMaintenanceLogic を継承してMasterTutorialLogicクラスを作成します。
package jp.co.slcs.kaiden2.tutorial.feature.logic.kaiden.master;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import jp.co.slcs.kaiden2.base.foundation.exception.KaidenRuntimeException;
import jp.co.slcs.kaiden2.base.foundation.exception.KaidenSystemException;
import jp.co.slcs.kaiden2.base.foundation.master.AbstractMasterMaintenanceForm;
import jp.co.slcs.kaiden2.base.foundation.master.AbstractTermMasterMaintenanceLogic;
import jp.co.slcs.kaiden2.base.foundation.master.MasterMainternanceSettingsDto;
import jp.co.slcs.kaiden2.base.foundation.master.MasterMainternanceSettingsReader;
import jp.co.slcs.kaiden2.base.foundation.master.MasterManager;
import jp.co.slcs.kaiden2.base.foundation.util.JsonUtil;
import jp.co.slcs.kaiden2.tutorial.feature.action.kaiden.master.MasterTutorialAction;
import jp.co.slcs.kaiden2.tutorial.foundation.conf.TutorialProp;
import jp.co.slcs.kaiden2.tutorial.foundation.manager.tutorial.MasterTutorialManager;

public class MasterTutorialLogic extends AbstractTermMasterMaintenanceLogic {
    
    /** Manager. */
    @Resource
    public MasterTutorialManager masterTutorialManager;   // 業務固有のManagerをDIします
    
    /** Managerを取得. */
    @Override
    protected MasterManager<?> getManager() {
        // 業務固有のManagerを取得します。基底クラスより呼ばれます。
        return masterTutorialManager;
    }
    
    /** キーワード検索対象カラムを返却. */
    @Override
    protected String[] getKeywordSearchTargetCol() {
        // プロパティファイルからマスタメンテナンス機能の設定を読み込み
        MasterMainternanceSettingsReader reader = new MasterMainternanceSettingsReader();
        MasterMainternanceSettingsDto settings;
        try {
            settings = new MasterMainternanceSettingsDto(reader.read(MasterTutorialAction.class));
        } catch (KaidenSystemException e) {
            throw KaidenRuntimeException.makeInstance(e);
        }
        // キーワード検索対象カラムをサブクラスより返却します
        return settings.searchTargetCol.toArray(new String[] {});
    }
    
    /** 国際化対応するフィールドを返却. */
    @Override
    protected List<String> getI18nTargetField() {
        // 国際化対応するフィールドをサブクラスより返却します
        return Arrays.asList("tutorialName");
    }
    
    /** 登録・更新用の入力データをサブクラスより返却. */
    @Override
    protected Map<String, Object> getInputData(AbstractMasterMaintenanceForm form) {
        // 登録・更新用の入力データをサブクラスより返却します
        return JsonUtil.getMap(form.updateDataJson, Arrays.asList("inputArea"));
    }
    
    /** サーフェス定義マップを返却. */
    @Override
    protected Map<String, String> getSurfaces() {
        // サーフェス定義
        // 入力チェックエラー発生時のエラーメッセージラベルに使用します。
        Map<String, String> result = new HashMap<String, String>();
        result.put("companyCd", propertyHelper.getSurface(TutorialProp.S.COMPANY));
        result.put("tutorialCd", propertyHelper.getSurface(TutorialProp.S.TUTORIAL_CD));
        result.put("startDate", propertyHelper.getSurface(TutorialProp.S.START_DATE));
        result.put("endDate", propertyHelper.getSurface(TutorialProp.S.END_DATE));
        result.put("tutorialName", propertyHelper.getSurface(TutorialProp.S.TUTORIAL_NAME));
        return result;
    }
}

ノート

マスタメンテナンスのLogicクラスの詳細は「マスタメンテナンスLogicクラスプログラミング」を参照下さい。

«  Dtoクラスの作成   ::   コンテンツ   ::   Actionクラスの作成  »