Advertisement
Guest User

Untitled

a guest
May 24th, 2017
533
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.72 KB | None | 0 0
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: jukka
  5. * Date: 03/05/2017
  6. * Time: 19.41
  7. *
  8. * @author Jukka Tainio <jukka@tainio.fi>
  9. *
  10. */
  11.  
  12. namespace App\Entity;
  13.  
  14. use App\Doctrine\Behaviours as ORMBehaviors;
  15. use App\Entity\Interfaces\EntityInterface;
  16. use Doctrine\Common\Collections\ArrayCollection;
  17. use Doctrine\ORM\Mapping as ORM;
  18. use JMS\Serializer\Annotation as JMS;
  19. use Ramsey\Uuid\Uuid;
  20. use Symfony\Component\Validator\Constraints as Assert;
  21.  
  22. /**
  23. * SensorData
  24. *
  25. * @ORM\Table(
  26. * name="sensordata",
  27. * indexes={
  28. * @ORM\Index(name="created_by_id", columns={"created_by_id"}),
  29. * @ORM\Index(name="updated_by_id", columns={"updated_by_id"}),
  30. * @ORM\Index(name="deleted_by_id", columns={"deleted_by_id"}),
  31. * }
  32. * )
  33. * @ORM\Entity(
  34. * repositoryClass="App\Repository\SensorData",
  35. * )
  36. *
  37. * @JMS\XmlRoot("sensordata")
  38. *
  39. * @package App\Entity
  40. * @author Jukka Tainio <jukka@tainio.fi>
  41. */
  42. class SensorData implements EntityInterface
  43. {
  44. // Traits
  45. use ORMBehaviors\Blameable;
  46. use ORMBehaviors\Timestampable;
  47.  
  48. /**
  49. * @var string
  50. *
  51. * @JMS\Groups({
  52. * "Default",
  53. * "SensorData",
  54. * "SensorData.id",
  55. * })
  56. * @JMS\Type("string")
  57. *
  58. * @ORM\Column(
  59. * name="id",
  60. * type="guid",
  61. * nullable=false,
  62. * )
  63. * @ORM\Id()
  64. */
  65. private $id;
  66.  
  67. /**
  68. * @var \App\Entity\Sensor
  69. *
  70. * @JMS\Groups({
  71. * "SensorData.sensor",
  72. * })
  73. * @ORM\ManyToOne(
  74. * targetEntity="App\Entity\Sensor",
  75. * inversedBy="measurements",
  76. * )
  77. * @ORM\JoinColumns({
  78. * @ORM\JoinColumn(
  79. * name="sensor_id",
  80. * referencedColumnName="id",
  81. * onDelete="CASCADE"
  82. * ),
  83. * })
  84. */
  85. private $sensor;
  86.  
  87. /**
  88. * @var float
  89. *
  90. * @JMS\Groups({
  91. * "Default",
  92. * "SensorData",
  93. * "SensorData.value",
  94. * })
  95. * @JMS\Type("float")
  96. *
  97. * @ORM\Column(
  98. * name="value",
  99. * type="float",
  100. * )
  101. */
  102. private $value;
  103.  
  104. /**
  105. * SensorData stamp.
  106. *
  107. * @var \DateTime
  108. *
  109. * @JMS\Groups({
  110. * "Default",
  111. * "SensorData",
  112. * "SensorData.stamp",
  113. * })
  114. * @JMS\Type("DateTime")
  115. *
  116. * @ORM\Column(
  117. * name="stamp",
  118. * type="datetime",
  119. * )
  120. */
  121. private $stamp;
  122.  
  123. /**
  124. * SensorData constructor.
  125. */
  126. public function __construct()
  127. {
  128. $this->id = Uuid::uuid4()->toString();
  129. }
  130.  
  131. /**
  132. * Get id
  133. *
  134. * @return string
  135. */
  136. public function getId(): string
  137. {
  138. return $this->id;
  139. }
  140.  
  141. /**
  142. * Get value
  143. * @return float
  144. */
  145. public function getValue(): float
  146. {
  147. return $this->value;
  148. }
  149.  
  150. /**
  151. * Get Stamp
  152. *
  153. * @return \DateTime
  154. */
  155. public function getStamp(): \DateTime
  156. {
  157. return $this->stamp;
  158. }
  159.  
  160. /**
  161. * Set value
  162. *
  163. * @param float $value
  164. *
  165. * @return SensorData
  166. */
  167. public function setValue(float $value): SensorData
  168. {
  169. $this->value = $value;
  170.  
  171. return $this;
  172. }
  173.  
  174. /**
  175. * Set Stamp
  176. *
  177. * @param \DateTime $stamp
  178. *
  179. * @return SensorData
  180. */
  181. public function setStamp(\DateTime $stamp): SensorData
  182. {
  183. $this->stamp = $stamp;
  184.  
  185. return $this;
  186. }
  187.  
  188. /**
  189. * @return Sensor
  190. */
  191. public function getSensor(): Sensor
  192. {
  193. return $this->sensor;
  194. }
  195.  
  196. /**
  197. * @param Sensor $sensor
  198. *
  199. * @return SensorData
  200. */
  201. public function setSensor(Sensor $sensor): SensorData
  202. {
  203. $this->sensor = $sensor;
  204.  
  205. return $this;
  206. }
  207. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement