/* $Id: ResourceManager.java,v 1.1 2007/10/29 02:55:37 nito Exp $
*
* Copyright (c)ARGO 21, Corporation. 2005, 2006.  All rights reserved.
* 
* This file is part of Nautica Workflow Core.
* 
*  Nautica Workflow Core is free software; you can redistribute it and/or modify
*  it under the terms of the GNU Lesser General Public License as published by
*  the Free Software Foundation; either version 2.1 of the License, or
*  (at your option) any later version.
* 
*  Nautica Workflow Core is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU Lesser General Public License for more details.
* 
*  You should have received a copy of the GNU Lesser General Public License
*  along with Nautica Workflow Core; if not, write to the Free Software
*  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*  
*/
package jp.co.argo21.nautica.workflow.util;

import java.util.*;

/**
 * アプリケーション用の文字列リソースを検索するクラスである。
 *
 * @author  Norihiro Itoh(ARGO 21 Corp.)
 * @version $Revision: 1.1 $
 * @since   Nautica Workflow 1.0
 */
public class ResourceManager
{
	private ResourceBundle resources;

	/**
	 * リソースマネージャを生成する。
	 * 
	 * @param bundlePath リソースバンドルのパス
	 */
	public ResourceManager(String bundlePath)
	{
		try {
			resources = ResourceBundle.getBundle(bundlePath, Locale.getDefault());
		} catch (MissingResourceException ex) {}
	}

	/**
	 * 指定されたキーに該当するリソースを返す。
	 * 該当するリソースが見つからない場合は、キーそのものを返す。
	 *
	 * @param key 検索キー
	 * @return リソース
	 */
	public String getResource(String key)
	{
		try {
			return resources.getString(key);
		} catch (Exception ex) {
			return key;
		}
	}

	/**
	 * 指定されたキーに該当するリソースを返す。
	 * 該当するリソースが見つからない場合は、代替値を返す。
	 *
	 * @param key 検索キー
	 * @param alt 代替値
	 * @return リソース
	 */
	public String getResource(String key, String alt)
	{
		try {
			return resources.getString(key);
		} catch (Exception ex) {
			return alt;
		}
	}
}
