/*
 * $Id: ModuleException.java,v 1.2 2005/06/21 15:28:05 rampil Exp $
 * Copyright (c) 2005 LOGICAL-PARADOX.ORG
 */
package org.logical_paradox.rss;

/**
 * ModuleException
 * RSSSubModuleIFを実装しているクラスが，デバッグ用環境からの実行指令に
 * 何らかの理由で従えない場合にスローする例外
 * @author satoshi akabane@logical-paradox.org
 * @version $Revision: 1.2 $
 */
public class ModuleException extends Exception {
	/** 元になった例外 */
	private Exception source = null;

	/**
	 * デフォルトコンストラクタ
	 */
	public ModuleException() {
		super();
		source = null;
	}

	/**
	 * 引数に例外メッセージをとるコンストラクタ
	 * @param msg メッセージ
	 */
	public ModuleException(String msg) {
		super(msg);
		source = null;
	}

	/**
	 * 引数に例外クラスをとるコンストラクタ
	 * @param e 元になった例外
	 */
	public ModuleException(Exception e) {
		super(e.getMessage());
		source = e;
	}

	/**
	 * 例外の原因となった例外クラスを取り出す
	 */
	public Exception getSource() {
		return source;
	}
}

// end of ModuleException.java
