/*********************************************************************
*	All Rights reserved,Copyright c Fujitsu, 2011
**********************************************************************
*＜プログラム内容＞
*	システム名		：プロジェクト共通
*	モジュール名	：JACejbTsryoLengthChecker
*	ソースファイル名：JACejbTsryoLengthChecker.java
*	作成者			：富士通
*	日付			：2012年02月17日
*＜機能概要＞
*	日付判定に関する共通処理を行うクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/02/17	富士通		新規作成
*
**********************************************************************/
package eo.ejb.common.itemrelation;

import java.text.ParseException;

import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.base.CAANRuntimeException;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;

import eo.common.util.JPCDateChecker;
import eo.common.util.JPCUtilCommon;
import eo.ejb.cbs.cbsmsg.EAC0171B010CBSMsg;
import eo.ejb.cbs.cbsmsg.EAC0591C011CBSMsg;
import eo.ejb.common.JCCModelCommon;
import eo.ejb.common.edit.JCHejbAC0591TsryoEdit;

/**
 * 通信量桁数チェック処理部品クラス。
 * <br>
 * @author 富士通
 */
public class JACejbTsryoLengthChecker {
	
	/**
	 * <p>
	 * 通信量桁数判定処理
	 * </p>
	 * 指定された通信量をKB換算し桁数が12桁以内かチェックを行う。
	 * <br>
	 * @param inMsg 処理対象のメッセージ
	 * @param inContext エージェントディスパッチコンテキスト
	 * @param inItemName 判定対象項目の項目名(英名小文字)
	 * @return 12桁以内：true、12桁より大きい：false
	 */
	public static boolean isTsryoLength(CAANMsg inMsg,
			AgentDispatchContext inContext, String inItemName)
	{
		// 戻り値
		boolean bRtn = false;
		
		// パラメータ「項目名」を元にパラメータ「処理対象メッセージ」から
		// 処理対象項目の値を取得する。
		String sItemValue = inMsg.getString(inItemName);
		
		// 通信量編集部品呼び出し
		String sRetValue = JCHejbAC0591TsryoEdit.editTsryoMK(inMsg, inContext, sItemValue);
		
		// 編集部品の結果の桁数を判定する。
		int length = sRetValue.length();
		
		if(length <= 12){
			// 12桁以内の場合、戻り値にtrueを設定
			bRtn = true;
		}
		
		// 判定結果を返却
		return bRtn;
	}
}
