/*
 * MosP - Mind Open Source Project    http://www.mosp.jp/
 * Copyright (C) MIND Co., Ltd.       http://www.e-mind.co.jp/
 * 
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 * 
 * This program 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 General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */
package jp.mosp.common.common;

/**
 * MosPが扱う処理で発生した例外を扱う。<br><br>
 * 
 * 例外は{@link Controller}において例外コードによって処理される。<br>
 * 例外コードは4桁の数字で構成され、それぞれ次の意味を持つ。<br>
 * <ul>
 * <li>1000番台-通常利用で起こり得る例外(入力チェック等)</li>
 * <li>2000番台-各アプリケーションによる例外</li>
 * <li>3000番台-リクエスト内容による例外(処理シーケンス不正等)</li>
 * <li>4000番台-不正リクエストによる例外(リクエスト長不正等)</li>
 * <li>5000番台-設定による例外(Command未設定等)</li>
 * <li>9000番台-ランタイム例外</li>
 * </ul>
 */
public class MospException extends Exception {
	
	private static final long serialVersionUID = 1L;
	
	private int exCode;
	private String exMessage;
	
	/**
	 * コンストラクタ。<br>
	 * 例外コードを設定する。<br>
	 * @param exCode 例外コード
	 */
	public MospException(int exCode) {
		super();
		this.exCode = exCode;
	}
	
	/**
	 * コンストラクタ。<br>
	 * 例外コード及び例外メッセージを設定する。<br>
	 * @param exCode    例外コード
	 * @param exMessage 例外メッセージ
	 */
	public MospException(int exCode, String exMessage) {
		super();
		this.exCode    = exCode;
		this.exMessage = exMessage;
	}
	
	/**
	 * 例外コードを取得する。<br>
	 * @return 例外コード
	 */
	public int getExCode() { return exCode; }
	
	/**
	 * 例外メッセージを取得する。<br>
	 * @return 例外メッセージ
	 */
	public String getExMessage() { return exMessage; }

}
