/*
 * LOGICAL-PARADOX.ORG
 * Copyright (C)2005 satoshi akabane(akabane@logical-paradox.org)
 * $Id: DacQueryThread.java,v 1.1 2005/09/07 13:38:06 rampil Exp $
 */
package org.logical_paradox.vsan.dfs.query;

/**
 * DACに接続して問い合わせを投げるスレッド
 * @author satoshi akabane@logical-paradox.org
 * @version $Revision: 1.1 $
 */
public class DacQueryThread extends Thread {
	/** 問い合わせコマンドオブジェクト */
	private final DacQueryCommand command;
	/** コマンド実行結果 */
	private Object result = null;
	/** コマンド実行中に発生した例外 */
	private Exception causedException = null;
	/**
	 * コンストラクタ．
	 * @param command_ 問い合わせコマンド
	 */
	public DacQueryThread(DacQueryCommand command_) {
		command = command_;
	}
	/**
	 * スレッドメイン
	 */
	public void run() {
		try {
			result = command.execute();
		} catch(Exception e) {
			causedException = e;
		}
	}
	/**
	 * 実行結果を返す．
	 * @return 実行結果
	 */
	public Object getResult() {
		return result;
	}
	/**
	 * コマンド実行中に発生した例外を返す．
	 * @return コマンド実行中に発生した例外
	 */
	public Exception getCausedException() {
		return causedException;
	}
}
