/////////////////////////////////////////////////////////////////
//Copyright (C) 2005 NTT CORPORATION.
//
//	共通関数ツールクラス
//
//		変更履歴
//			2005.02.07 新規作成  梅原 浩司
//
//	機能
//
//	このクラスはCommonFunction.javaをラップした共通関数ツールのクラスです。
//
////////////////////////////////////////////////////////////////

package jp.co.ntt.lms.xmf.tools.xmo.Com;

import java.util.*;
import java.io.UnsupportedEncodingException;

import jp.co.ntt.lms.xmf.common.CommonFunction;

/**
 *  共通関数ツールクラス
 * 
 *  このクラスはCommonFunction.javaをラップした共通関数ツールのクラスです。
 * 
 *  @author 梅原 浩司
 *  @version 1.0
 */
public class ComFunction {
	
	/**
	 * 引数で渡された文字列をURLエンコードし、エラーページへのURLを組み立てて返します
	 * @param strMessage メッセージ
	 * @param strDetail 詳細
	 * @param strReturnURL_o 戻りURL
	 * @return エラーページまでのURL
	 * @throws UnsupportedEncodingException
	 */
	private static String getParamErrURL( String strMessage, String strDetail, String strReturnURL_o )
	throws UnsupportedEncodingException
	{
		return CommonFunction.getParamErrURL( strMessage, strDetail, strReturnURL_o );
	}
	
	/**
	 * 引数で渡された文字列をURLエンコードし、エラーページへのURLを組み立てて返します
	 * @param strMessage メッセージ
	 * @param strDetail 詳細
	 * @param isClose 閉じるボタンの表示/非表示
	 * @return エラーページまでのURL
	 * @throws UnsupportedEncodingException
	 */
	public static String getParamErrURL( String strMessage, String strDetail, boolean isClose )
		throws UnsupportedEncodingException
	{
		return CommonFunction.getParamErrURL( strMessage, strDetail, isClose );
	}
	

	/**
	 * 文字エンコードを"ISO-8859-1"(ユニコード文字)から"Windows-31J"に変換します
	 * @param strTar 変換する文字列
	 * @return String 変換した文字列
	 */
	public static String encodeSJIS( String strTar ) {
		return CommonFunction.encodeSJIS( strTar );
	}

	/**
	 * nullをゼロスペースに変換します
	 * @param strValue 変換する文字列
	 * @return String 変換した文字列
	 */
	private String null2blank( String strValue ) {
		if( strValue == null ) {
			return "";
		}
		else {
			return strValue;
		}
	}

	/**
	 * 引数がゼロスペースなら今日の日付に変換します
	 * @param strValue 変換する文字列
	 * @return String 変換した文字列
	 */
	private String blank2today( String strValue ) {

		if(strValue.equals(""))
		{
			Calendar rightNow	= Calendar.getInstance();
			String strYYYY = String.valueOf(rightNow.get(Calendar.YEAR));
			String strMM   = String.valueOf(rightNow.get(Calendar.MONTH) + 1);
			String strDD   = String.valueOf(rightNow.get(Calendar.DATE));

			if( strYYYY.length() == 1 ) {
				strYYYY = "0" + strYYYY;
			}
			if( strMM.length() == 1 ) {
				strMM = "0" + strMM;
			}
			if( strDD.length() == 1 ) {
				strDD = "0" + strDD;
			}
			return strYYYY + "/" + strMM + "/" + strDD;
		}
		return strValue;
	}

	
	/**************************************************************************
	 * 
	 * 文字列置換<BR>
	 * 		指定された str 内にある全ての strTargetString を strChangeString に置換<BR>
	 * 		した結果、生成される新しい文字列を返します。<BR>
	 * 
	 * @param 		str					置換前の文字列<BR>
	 * @param 		strTargetString		str内の変換対象の文字列<BR>
	 * @param 		strChangeString		変更文字列<BR>
	 * 
	 * @return 		String				置換後の文字列<BR>
	 * 
	 **************************************************************************/
	public static	String replace(String str, String strTargetString, String strChangeString)
	{
		return CommonFunction.replace( str, strTargetString, strChangeString );
	}
}
