package org.arefgard.flow.node;

import org.arefgard.flow.util.ReflectionUtil;

/**
 * 例外の送出を表すノード。
 * 
 * @author Takashi Yamashina
 * @since 1.0.0
 */
public class ThrowNode extends Node {
	public String className;

	public String getClassName() {
		return className;
	}

	public void setClassName(String className) {
		this.className = className;
	}
	
	/**
	 * 例外を送出する。
	 * <br/>
	 * <br/>
	 * ただし、送出可能な例外はExceptionかそのサブクラスである。
	 * 
	 * @throws Exception 送出する例外
	 */
	public void throwException() throws Exception {
		throw (Exception)ReflectionUtil.generate(this.className);
	}
	
	
}
