<?php
namespace App\Entity;
use App\Repository\ImpositionRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Timestampable\Traits\TimestampableEntity;
/**
* @ORM\Entity(repositoryClass=ImpositionRepository::class)
*/
class Imposition
{
use TimestampableEntity;
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $name;
/**
* @ORM\Column(type="integer")
*/
private $paperSizeAcross;
/**
* @ORM\Column(type="integer")
*/
private $paperSizeDown;
/**
* @ORM\Column(type="integer")
*/
private $impositionAcross;
/**
* @ORM\Column(type="integer")
*/
private $impositionDown;
/**
* @ORM\Column(type="integer")
*/
private $noAcrossToPrint;
/**
* @ORM\Column(type="integer")
*/
private $gutterAcross;
/**
* @ORM\Column(type="integer")
*/
private $gutterDown;
/**
* @ORM\Column(type="integer")
*/
private $noDownToPrint;
/**
* @ORM\Column(type="integer")
*/
private $noUp;
/**
* @ORM\OneToMany(targetEntity=Task::class, mappedBy="imposition")
*/
private $tasks;
public function __construct()
{
$this->tasks = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(string $name): self
{
$this->name = $name;
return $this;
}
public function getPaperSizeAcross(): ?int
{
return $this->paperSizeAcross;
}
public function setPaperSizeAcross(int $paperSizeAcross): self
{
$this->paperSizeAcross = $paperSizeAcross;
return $this;
}
public function getPaperSizeDown(): ?int
{
return $this->paperSizeDown;
}
public function setPaperSizeDown(int $paperSizeDown): self
{
$this->paperSizeDown = $paperSizeDown;
return $this;
}
public function getImpositionAcross(): ?int
{
return $this->impositionAcross;
}
public function setImpositionAcross(int $impositionAcross): self
{
$this->impositionAcross = $impositionAcross;
return $this;
}
public function getImpositionDown(): ?int
{
return $this->impositionDown;
}
public function setImpositionDown(int $impositionDown): self
{
$this->impositionDown = $impositionDown;
return $this;
}
public function getNoAcrossToPrint(): ?int
{
return $this->noAcrossToPrint;
}
public function setNoAcrossToPrint(int $noAcrossToPrint): self
{
$this->noAcrossToPrint = $noAcrossToPrint;
return $this;
}
public function getGutterAcross(): ?int
{
return $this->gutterAcross;
}
public function setGutterAcross(int $gutterAcross): self
{
$this->gutterAcross = $gutterAcross;
return $this;
}
public function getGutterDown(): ?int
{
return $this->gutterDown;
}
public function setGutterDown(int $gutterDown): self
{
$this->gutterDown = $gutterDown;
return $this;
}
public function getNoDownToPrint(): ?int
{
return $this->noDownToPrint;
}
public function setNoDownToPrint(int $noDownToPrint): self
{
$this->noDownToPrint = $noDownToPrint;
return $this;
}
public function getNoUp(): ?int
{
return $this->noUp;
}
public function setNoUp(int $noUp): self
{
$this->noUp = $noUp;
return $this;
}
/**
* @return Collection<int, Task>
*/
public function getTasks(): Collection
{
return $this->tasks;
}
public function addTask(Task $task): self
{
if (!$this->tasks->contains($task)) {
$this->tasks[] = $task;
$task->setImposition($this);
}
return $this;
}
public function removeTask(Task $task): self
{
if ($this->tasks->removeElement($task)) {
// set the owning side to null (unless already changed)
if ($task->getImposition() === $this) {
$task->setImposition(null);
}
}
return $this;
}
public function getCalculatorDisplayName():string
{
return '['.$this->paperSizeAcross.'x'.$this->paperSizeDown.']['.$this->noUp.']['.$this->name.']';
}
public function __toString() {
return $this->name;
}
}