<?php
/**
* 起動タスクの状態を格納するクラス
*
* PHP version 5
*
* @package    core
* @author     stk2k <stk2k@sazysoft.com>
* @copyright  2008 stk2k, sazysoft
*/

class TaskSnapshot extends Object
{
	private $_status;

	/*
	 *	コンストラクタ
	 */
	public function __construct()
	{
		parent::__construct();

		$this->_status = new HashMap();
	}

	/**
	 *	タスク状態を設定
	 */
	public function set( ITask $task )
	{
		$task_name = $task->getName();
		$vars = get_object_vars( $task );
		foreach( $vars as $key => $value ){
			$this->_status[ $task_name . '.' . $key ] = $value;
		}
	}

	/**
	 *	タスク状態を取得
	 */
	public function get( String $key )
	{
		return $this->_status[ "$key" ];
	}

	/*
	 *	文字列化
	 */
	public function toString()
	{
		return "[TaskSnapshot:" . $this->_status->toString() . "]";
	}
}

return __FILE__;
