/*
 * LOGICAL-PARADOX.ORG
 * Copyright (C)2005 satoshi akabane(akabane@logical-paradox.org)
 * $Id: HttpdProperties.java,v 1.2 2005/10/21 10:58:11 rampil Exp $
 */
package org.logical_paradox.httpd;

import java.util.ResourceBundle;

/**
 * httpdサーバーのプロパティファイルにアクセスするインターフェース
 * @author satoshi akabane@logical-paradox.org
 * @version $Revision: 1.2 $
 */
public class HttpdProperties {
	/** GETメソッドのハンドラクラス */
	public static final String MHDLR_GET = "mhdlr.get";
	/** POSTメソッドのハンドラクラス */
	public static final String MHDLR_POST = "mhdlr.post";
	/** HEADメソッドのハンドラクラス */
	public static final String MHDLR_HEAD = "mhdlr.head";
	/** EXITメソッドのハンドラクラス */
	public static final String MHDLR_EXIT = "mhdlr.exit";
	/** デフォルトのコンテンツタイプ(とページエンコーディング) */
	public static final String DEFAULT_CONTENTTYPE = "default.contenttype";
	/** ローカルホスト指定 */
	public static final String LINK_TO_ONLY_LOCALHOST = "link.to.only.localhost";
	/** プロパティファイルの接頭辞 */
	public static final String RESOURCE_PREFIX = "httpd";
	/** リソース */
	private static ResourceBundle resource = null;

	/**
	 * プロパティ値を返す
	 * @param key キー
	 * @return プロパティ値
	 */
	public static String getProperty(String key) {
		loadResource();
		return resource.getString(key);
	}
	/**
	 * プロパティを整数で返す
	 * ただし整数の値が設定されているプロパティ値のみ
	 * @param key キー
	 * @return プロパティ値
	 */
	public static int getIntProperty(String key) {
		return Integer.parseInt(getProperty(key));
	}
	/**
	 * リソースファイルがロードされていない場合、ロードする
	 */
	protected static synchronized void loadResource() {
		// リソースファイルが取り込まれていない場合、取り込む
		if(resource == null) {
			resource = ResourceBundle.getBundle(RESOURCE_PREFIX);
		}
	}
}
