<?php
namespace App\Entity;
use App\Service\OccupationalFieldCapabilitiesService;
use Doctrine\ORM\Mapping as ORM;
use Exception;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity
*
* @ORM\Table(
* name="recurrent_job_occupational_field_capability_values",
* uniqueConstraints={@ORM\UniqueConstraint(name="recurrent_jobs_id_capability_idx", columns={"recurrent_jobs_id", "capability_id"})}
* )
*/
class RecurrentJobOccupationalFieldCapabilityValue
{
/**
* @var RecurrentJob
*
* @ORM\Id
*
* @ORM\ManyToOne(targetEntity="App\Entity\RecurrentJob", inversedBy="occupationalFieldCapabilityValues", cascade={"persist"})
*
* @ORM\JoinColumn(name="recurrent_jobs_id", referencedColumnName="id", nullable=false, onDelete="CASCADE")
*/
private $recurrentJob;
public function setRecurrentJob(RecurrentJob $recurrentJob): void
{
$this->recurrentJob = $recurrentJob;
}
public function getRecurrentJob(): RecurrentJob
{
return $this->recurrentJob;
}
/**
* @var int
*
* @ORM\Id
*
* @ORM\Column(name="capability_id", type="integer", nullable=false)
*/
private $capabilityId;
/** @throws Exception */
public function setCapabilityId(int $capabilityId): void
{
if (!OccupationalFieldCapabilitiesService::isValidCapabilityId($capabilityId)) {
throw new Exception('Cannot set RecurrentJobOccupationalFieldCapabilityValue capability for ' . $capabilityId);
}
$this->capabilityId = $capabilityId;
}
public function getCapabilityId(): int
{
return $this->capabilityId;
}
/**
* @var int
*
* @Assert\GreaterThanOrEqual(0)
*
* @Assert\LessThanOrEqual(5)
*
* @Assert\NotNull()
*
* @ORM\Column(name="value", type="integer", nullable=false)
*/
private $value;
public function setValue(int $value): void
{
$this->value = $value;
}
public function getValue(): int
{
return $this->value;
}
}