/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JKKejbConvertString
*	ソースファイル名：JKKejbConvertString.java
*	作成者			：富士通
*	日付			：2011年10月27日
*＜機能概要＞
*	文字列変換共通部品
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/10/27	FJ)			新規作成
*
**********************************************************************/

package eo.ejb.common.edit;

/**
 * <p>
 * 文字列変換用共通部品です。
 * </p>
 * @author 富士通
 */
public class JKKejbConvertString
{
	/** 
	 * 全角カナ（小文字）用の文字列対応表 
	 */
	private static final char[][] ZENKAKU_KATAKANA_SMALL = 
	{
		{ 'ァ', 'ィ', 'ゥ', 'ェ', 'ォ', 'ャ', 'ュ', 'ョ', 'ッ', 'ヮ', 'ヵ', 'ヶ' },
		{ 'ア', 'イ', 'ウ', 'エ', 'オ', 'ヤ', 'ユ', 'ヨ', 'ツ', 'ワ', 'カ', 'ケ' }
	};

	/**
	 * コンストラクタです。
	 */
	public JKKejbConvertString()
	{
	}
	
	/**
	 * <p>
	 * 全角カナ（小文字含む）をすべて大文字に変換して返却します。
	 * </p>
	 * @param z_kana 変換前文字列
	 * @return 変換後文字列
	 */
	public String convCapitalLetter(String z_kana)
	{
		StringBuffer strBuf = new StringBuffer();

		boolean conFlg = false;

		// 変換した文字列を1文字ずつ取り出して半角カナへ変換する
		for(int i = 0; i < z_kana.length(); i++) 
		{
			char code = z_kana.charAt(i);

			for(int j = 0; j < ZENKAKU_KATAKANA_SMALL[0].length; j++) 
			{
				if(code == ZENKAKU_KATAKANA_SMALL[0][j]) 
				{
					strBuf.append(ZENKAKU_KATAKANA_SMALL[1][j]);

					conFlg = true;

					break;
				}
			}

			// 全角カナ（小文字）対応表に一致しない文字列が存在した場合、編集前の文字をそのまま設定する
			if(!conFlg) 
			{
				strBuf.append((char)(code));
			}

			conFlg = false;
		}

		return strBuf.toString();
	}
}
