Blame view

src/Request/ParamsRequestImpl/Nodes/Requests/RequestTimesNodeClass.php 3.49 KB
22521f1c   Benjamin Renard   First commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?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");
c0e7e5be   Benjamin Renard   Add integration f...
46
define ("REQUESTTIMETABLE_INDEX", "index");
22521f1c   Benjamin Renard   First commit
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68

/**
 * @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);
	}
c0e7e5be   Benjamin Renard   Add integration f...
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
	
	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);
	}
22521f1c   Benjamin Renard   First commit
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
}

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);
	}

c0e7e5be   Benjamin Renard   Add integration f...
144
	public function addTimeTable($id, $index = -1)
22521f1c   Benjamin Renard   First commit
145
146
147
	{
		$timeTable = new RequestTimesTimeTableNodeClass();
		$timeTable->setId($id);
c0e7e5be   Benjamin Renard   Add integration f...
148
149
		if ($index >= 0)
			$timeTable->setIndex($index);
22521f1c   Benjamin Renard   First commit
150
151
152
		$this->addChild($timeTable);
	}

c0e7e5be   Benjamin Renard   Add integration f...
153
	public function addCatalog($id, $index = -1)
22521f1c   Benjamin Renard   First commit
154
	{
c0e7e5be   Benjamin Renard   Add integration f...
155
156
157
158
159
		$catalogNode = new RequestCatalogNodeClass();
		$catalogNode->setId($id);
		if ($index >= 0)
			$catalogNode->setIndex($index);
		$this->addChild($catalogNode);
22521f1c   Benjamin Renard   First commit
160
	}
c0e7e5be   Benjamin Renard   Add integration f...
161
	
22521f1c   Benjamin Renard   First commit
162
163
164
}

?>