RequestOutputPlotBaseSerieNodeClass.php 5.46 KB
<?php

require_once "RequestOutputPlotLineNodeClass.php";
require_once "RequestOutputPlotSymbolNodeClass.php";
require_once "RequestOutputPlotSerieTimeTicksNodeClass.php";
require_once "RequestOutputPlotSerieIntervalTicksNodeClass.php";

define ("REQUESTOUTPUTPLOTBASESERIE_YAXIS", "yAxis");
define ("REQUESTOUTPUTPLOTBASESERIE_XAXIS", "xAxis");
define ("REQUESTOUTPUTPLOTBASESERIE_COLORSERIEID", "colorSerieId");
define ("REQUESTOUTPUTPLOTBASESERIE_MIN", "min");
define ("REQUESTOUTPUTPLOTBASESERIE_MAX", "max");
define ("REQUESTOUTPUTPLOTBASESERIE_LINE", "line");
define ("REQUESTOUTPUTPLOTBASESERIE_SYMBOL", "symbol");
define ("REQUESTOUTPUTPLOTBASESERIE_TIMETICKS", "timeTick");
define ("REQUESTOUTPUTPLOTBASESERIE_INTERVALTICKS", "intervalTick");
define ("REQUESTOUTPUTPLOTBASESERIE_ID", "id");

/**
 * @class RequestOutputPlotBaseSerieNodeClass
 * @brief Definition of a base serie for a plot of a plot request
 * @details
*/
class RequestOutputPlotBaseSerieNodeClass extends NodeClass
{
	public function __construct($name)
	{
		parent::__construct($name);
	}

	public function setYAxisId($axisId)
	{
		$this->setAttribute(REQUESTOUTPUTPLOTBASESERIE_YAXIS, $axisId);
	}

	public function getYAxisId()
	{
		return $this->getAttribute(REQUESTOUTPUTPLOTBASESERIE_YAXIS);
	}
	
	public function setXAxisId($axisId)
	{
		$this->setAttribute(REQUESTOUTPUTPLOTBASESERIE_XAXIS, $axisId);
	}
	
	public function getXAxisId()
	{
		return $this->getAttribute(REQUESTOUTPUTPLOTBASESERIE_XAXIS);
	}
	
	public function setColorSerieId($colorSerieId)
	{
		$this->setAttribute(REQUESTOUTPUTPLOTBASESERIE_COLORSERIEID, $colorSerieId);
	}
	
	public function getColorSerieId()
	{
		return $this->getAttribute(REQUESTOUTPUTPLOTBASESERIE_COLORSERIEID);
	}
	
	public function setMin($min)
	{
		$this->setAttribute(REQUESTOUTPUTPLOTBASESERIE_MIN, $min);
	}
	
	public function getMin()
	{
		return $this->getAttribute(REQUESTOUTPUTPLOTBASESERIE_MIN);
	}
	
	public function setMax($max)
	{
		$this->setAttribute(REQUESTOUTPUTPLOTBASESERIE_MAX, $max);
	}
	
	public function getMax()
	{
		return $this->getAttribute(REQUESTOUTPUTPLOTBASESERIE_MAX);
	}
	
	public function isLineDefined()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTBASESERIE_LINE);
		return isset($node);
	}
	
	public function getLine()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTBASESERIE_LINE);
	
		if (!isset($node))
		{
			$node = new RequestOutputPlotLineNodeClass(REQUESTOUTPUTPLOTBASESERIE_LINE);
			$this->addChild($node);
		}
	
		return $node;
	}
	
	public function isSymbolDefined()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTBASESERIE_SYMBOL);
		return isset($node);
	}
	
	public function getSymbol()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTBASESERIE_SYMBOL);
		
		if (!isset($node))
		{
			$node = new RequestOutputPlotSymbolNodeClass(REQUESTOUTPUTPLOTBASESERIE_SYMBOL);
			$this->addChild($node);
		}
		
		return $node;
	}
	
	public function isTimeTicksDefined()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTBASESERIE_TIMETICKS);
		return isset($node);
	}
	
	public function getTimeTicks()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTBASESERIE_TIMETICKS);
	
		if (!isset($node))
		{
			$node = new RequestOutputPlotSerieTimeTicksNodeClass(REQUESTOUTPUTPLOTBASESERIE_TIMETICKS);
			$this->addChild($node);
		}
	
		return $node;
	}
	
	public function isIntervalTicksDefined()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTBASESERIE_INTERVALTICKS);
		return isset($node);
	}
	
	public function getIntervalTicks()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTBASESERIE_INTERVALTICKS);
	
		if (!isset($node))
		{
			$node = new RequestOutputPlotSerieIntervalTicksNodeClass(REQUESTOUTPUTPLOTBASESERIE_INTERVALTICKS);
			$this->addChild($node);
		}
	
		return $node;
	}
	
	public function setId($id)
	{
		$this->setAttribute(REQUESTOUTPUTPLOTBASESERIE_ID, $id);
	}
	
	public function getId()
	{
		return $this->getAttribute(REQUESTOUTPUTPLOTBASESERIE_ID);
	}
	
	public function loadFromNode($xmlNode)
	{
		$this->setYAxisId($this->getXmlNodeAttribute($xmlNode, REQUESTOUTPUTPLOTBASESERIE_YAXIS));
		$this->setXAxisId($this->getXmlNodeAttribute($xmlNode, REQUESTOUTPUTPLOTBASESERIE_XAXIS));
		$this->setColorSerieId($this->getXmlNodeAttribute($xmlNode, REQUESTOUTPUTPLOTBASESERIE_COLORSERIEID));
		$this->setMin($this->getXmlNodeAttribute($xmlNode, REQUESTOUTPUTPLOTBASESERIE_MIN));
		$this->setMax($this->getXmlNodeAttribute($xmlNode, REQUESTOUTPUTPLOTBASESERIE_MAX));
		
		$lineXmlNode = $this->getXmlNodeChildByTagName($xmlNode, REQUESTOUTPUTPLOTBASESERIE_LINE);
		if (isset($lineXmlNode))
			$this->getLine()->loadFromNode($lineXmlNode);
		
		$symbolXmlNode = $this->getXmlNodeChildByTagName($xmlNode, REQUESTOUTPUTPLOTBASESERIE_SYMBOL);
		if (isset($symbolXmlNode)) {
			$this->getSymbol()->loadFromNode($symbolXmlNode);
		}		
		$timeTicksXmlNode = $this->getXmlNodeChildByTagName($xmlNode, REQUESTOUTPUTPLOTBASESERIE_TIMETICKS);
		if (isset($timeTicksXmlNode))
			$this->getTimeTicks()->loadFromNode($timeTicksXmlNode);
		
		$intervalTicksXmlNode = $this->getXmlNodeChildByTagName($xmlNode, REQUESTOUTPUTPLOTBASESERIE_INTERVALTICKS);
		if (isset($intervalTicksXmlNode))
			$this->getIntervalTicks()->loadFromNode($intervalTicksXmlNode);
		
		$this->setId($this->getXmlNodeAttribute($xmlNode, REQUESTOUTPUTPLOTBASESERIE_ID));
	}
}

?>