package eo.ejb.common.edit;

import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;
import static eo.common.constant.JDKStrConst.LINE_CODE_CR;
import static eo.common.constant.JDKStrConst.LINE_CODE_LF;


/**
 * <p>
 * 文字列編集部品です
 * </p>

 * @author 富士通
 */
public class JDKejbStringEdit 
{

	/** エンプティ */
	private static final String CODE_EMPTY = "";
	
	
	/**
	 * <p>
	 * 改行コード削除
	 * </p>
	 * @param inMsg 処理対象のメッセージキャリア
	 * @param inContext Agentから渡されたAgentDispatchContext
	 * @param inTarget 改行コードを含む文字列
	 * @return 改行コードを削除した文字列
	 */
	public static Object deleteLineFeedCode(CAANMsg inMsg, AgentDispatchContext inContext, Object inTarget)
	{
		if (inTarget == null)
		{
			return null;
		}
		return inTarget.toString().replaceAll(LINE_CODE_CR, CODE_EMPTY).replaceAll(LINE_CODE_LF, CODE_EMPTY);
		
	}

	/**
	 * <p>
	 * 文字列切り出し
	 * </p>
	 * @param inMsg 処理対象のメッセージキャリア
	 * @param inContext Agentから渡されたAgentDispatchContext
	 * @param inTarget 切り出したい内容を含む文字列
	 * @param inLength 切り出し桁数
	 * @return 切り出した文字列
	 */
	public static Object substring(CAANMsg inMsg, AgentDispatchContext inContext, Object inTarget, Object inLength)
	{
		String buff = inTarget.toString();
		int length = Integer.valueOf(inLength.toString());
		
		if (buff.length() <= length)
		{
			return buff;
		}
		
		return buff.substring(0, length);
		
	}
	
}
