ParamGetDDBaseBaseParamNodeClass.php 1.48 KB
<?php

define ("PARAMGETDDBASEBASEPARAM_NAME", "baseParam");
define ("PARAMGETDDBASEBASEPARAM_NAMEATT", "name");
define ("PARAMGETDDBASEBASEPARAM_TENSORORDER", "tensor_order");
define ("PARAMGETDDBASEBASEPARAM_CALIB", "clb");
define ("PARAMGETDDBASEBASEPARAM_CALIBNAME", "name");

/**
 * @class ParamGetDDBaseBaseParamNodeClass
 * @brief Definition of a DDBase parameter
 * @details
*/
class ParamGetDDBaseBaseParamNodeClass extends NodeClass
{
	public function __construct()
	{
		parent::__construct(PARAMGETDDBASEBASEPARAM_NAME);
	}

	public function setName($name)
	{
		$this->setAttribute(PARAMGETDDBASEBASEPARAM_NAMEATT, $name);
	}

	public function getName()
	{
		return $this->getAttribute(PARAMGETDDBASEBASEPARAM_NAMEATT);
	}

	public function setTensorOrder($tensor_order)
	{
		$tensorNode = $this->getChildInstanceByName(PARAMGETDDBASEBASEPARAM_TENSORORDER, true);
		$tensorNode->setValue($tensor_order);
	}

	public function addCalibInfo($calibInfo)
	{
		if ($this->calibInfoExist($calibInfo))
			return;

		$node = new NodeClass(PARAMGETDDBASEBASEPARAM_CALIB);
		$node->setAttribute(PARAMGETDDBASEBASEPARAM_CALIBNAME,$calibInfo);
		$this->addChild($node);
	}

	public function calibInfoExist($calibInfo)
	{
		$calibNodes = $this->getChildrenByName(PARAMGETDDBASEBASEPARAM_CALIB);

		foreach ($calibNodes as $calibNode)
		if ($calibNode->getAttribute(PARAMGETDDBASEBASEPARAM_CALIBNAME) == $calibInfo)
			return true;

		return false;
	}
}

?>