package jp.mosp.workflow.vo;

import java.util.Properties;

import jp.mosp.common.CommonConst;
import jp.mosp.common.MosPVo;
import jp.mosp.common.dto.CmAspUserDto;
import jp.mosp.common.dto.CmUserDto;

public class ApplicationMenuVo extends MosPVo {

	private static final long serialVersionUID = 5831631444403783909L;

	// フィールド
	private String[][] aryApplicationMenu ;

	private static final String NAM_SUB_TITLE = "各種申請";

	/**
	 * コンストラクタ
	 * @param cfg
	 * @param msg
	 * @param nam
	 * @param cmd
	 * @param aspUser
	 * @param user
	 */
	public ApplicationMenuVo(
			Properties cfg,
			Properties msg,
			Properties nam,
			String cmd,
			CmAspUserDto aspUser,
			CmUserDto user
	) {
		super(cfg, msg, nam, cmd, aspUser, user);
		setViewPath(getClassName());
		aryApplicationMenu = new String[0][0];
	}

	public void setSubTitle() {
		subTitle = NAM_SUB_TITLE;
		aryMenu = new String[][] {
				{ CMD_MENU_INPUT, CommonConst.NAM_TO_MENU },
		};
	}

	/**
	 * フィールド設定
	 * @param aryApplicationMenu	各種申請メニューボタン配列 
	 * @throws MospException
	 */
	public void setFields(String [][] aryApplicationMenu) {
		this.aryApplicationMenu = escapeArray(aryApplicationMenu.clone());
	}

	/**
	 * JavaScript設定
	 * @param cls 情報取得クラス
	 * @throws IllegalAccessException
	 */
	@Override
	public String getDirectJs(Class cls) throws IllegalAccessException {
		StringBuffer sb = new StringBuffer();
		sb.append(super.getDirectJs(cls));
		return sb.toString();
	}

	// アクセサメソッド
	public String[][] getEscAryApplicationMenu() {
		return aryApplicationMenu.clone();
	}

}
