RequestTimesNodeClass.php 3.49 KB
<?php

define ("REQUESTTIMEINTERVAL_NAME", "interval");
define ("REQUESTTIMEINTERVAL_START", "startTime");
define ("REQUESTTIMEINTERVAL_DURATION", "timeInterval");

/**
 * @class RequestTimesIntervalNodeClass
 * @brief Definition of a request time interval node for AMDA_Kernel
 * @details
*/
class RequestTimesIntervalNodeClass extends NodeClass
{
	public function __construct()
	{
		parent::__construct(REQUESTTIMEINTERVAL_NAME);
	}

	public function setInterval($start, $duration)
	{
		$startNode = $this->getChildInstanceByName(REQUESTTIMEINTERVAL_START, true);
		$startNode->setValue($start);
		$durationNode = $this->getChildInstanceByName(REQUESTTIMEINTERVAL_DURATION, true);
		$durationNode->setValue($duration);
	}

	public function getStart()
	{
		$startNode = $this->getChildInstanceByName(REQUESTTIMEINTERVAL_START);
		if ($startNode == NULL)
			return "";
		return $startNode->getValue();
	}

	public function getDuration()
	{
		$durationNode = $this->getChildInstanceByName(REQUESTTIMEINTERVAL_DURATION);
		if ($durationNode == NULL)
			return "";
		return $durationNode->getValue();
	}
}

define ("REQUESTTIMETABLE_NAME", "timetable");
define ("REQUESTTIMETABLE_ID", "id");
define ("REQUESTTIMETABLE_INDEX", "index");

/**
 * @class RequestTimesTimeTableNodeClass
 * @brief Definition of a request time table node for AMDA_Kernel
 * @details
*/
class RequestTimesTimeTableNodeClass extends NodeClass
{
	public function __construct()
	{
		parent::__construct(REQUESTTIMETABLE_NAME);
	}

	public function setId($id)
	{
		$this->setAttribute(REQUESTTIMETABLE_ID, $id);
	}

	public function getId()
	{
		return $this->getAttribute(REQUESTTIMETABLE_ID);
	}
	
	public function setIndex($index)
	{
		$this->setAttribute(REQUESTTIMETABLE_INDEX, $index);
	}
	
	public function getIndex()
	{
		return $this->getAttribute(REQUESTTIMETABLE_INDEX);
	}
}

define ("REQUESTCATALOG_NAME", "catalog");
define ("REQUESTCATALOG_ID", "id");
define ("REQUESTCATALOG_INDEX", "index");

/**
 * @class RequestCatalogNodeClass
 * @brief Definition of a request catalog node for AMDA_Kernel
 * @details
 */
class RequestCatalogNodeClass extends NodeClass
{
	public function __construct()
	{
		parent::__construct(REQUESTCATALOG_NAME);
	}

	public function setId($id)
	{
		$this->setAttribute(REQUESTCATALOG_ID, $id);
	}

	public function getId()
	{
		return $this->getAttribute(REQUESTCATALOG_ID);
	}

	public function setIndex($index)
	{
		$this->setAttribute(REQUESTCATALOG_INDEX, $index);
	}

	public function getIndex()
	{
		return $this->getAttribute(REQUESTCATALOG_INDEX);
	}
}

define ("REQUESTTIMES_NAME", "times");

/**
 * @class RequestTimesNodeClass
 * @brief Definition of a request times node for AMDA_Kernel
 * @details
*/
class RequestTimesNodeClass extends NodeClass
{
	public function __construct()
	{
		parent::__construct(REQUESTTIMES_NAME);
	}

	public function addInterval($start, $duration)
	{
		$interval = new RequestTimesIntervalNodeClass();
		$interval->setInterval($start, $duration);
		$this->addChild($interval);
	}

	public function getIntervals()
	{
		return $this->getChildrenByName(REQUESTTIMEINTERVAL_NAME);
	}

	public function addTimeTable($id, $index = -1)
	{
		$timeTable = new RequestTimesTimeTableNodeClass();
		$timeTable->setId($id);
		if ($index >= 0)
			$timeTable->setIndex($index);
		$this->addChild($timeTable);
	}

	public function addCatalog($id, $index = -1)
	{
		$catalogNode = new RequestCatalogNodeClass();
		$catalogNode->setId($id);
		if ($index >= 0)
			$catalogNode->setIndex($index);
		$this->addChild($catalogNode);
	}
	
}

?>