<?php
namespace App\Entity\Gauge;
use App\Entity\Extension\TimestampableTrait;
use App\Repository\Gauge\ShareOfGaugesRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=ShareOfGaugesRepository::class)
* @ORM\Table(name="share_of_gauges")
*/
class ShareOfGauges
{
use TimestampableTrait;
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private ?int $id = null;
/**
* @var Gauge $gauge
* @ORM\ManyToOne(targetEntity="App\Entity\Gauge\Gauge", inversedBy="shares")
* @ORM\JoinColumn(name="gauge_id", referencedColumnName="id", nullable=false)
*/
private Gauge $gauge;
/**
* @var null|string
* @ORM\Column(type="string", nullable=true)
*/
private ?string $title = null;
/**
* @var null|string
* @ORM\Column(type="string", nullable=true)
*/
private ?string $holderIco = null;
/**
* @var null|string
* @ORM\Column(type="string", nullable=true)
*/
private ?string $holderName = null;
/**
* @var float
* @ORM\Column(type="float")
*/
private float $part;
/**
* @return int|null
*/
public function getId(): ?int
{
return $this->id;
}
/**
* @param int|null $id
* @return ShareOfGauges
*/
public function setId(?int $id): ShareOfGauges
{
$this->id = $id;
return $this;
}
/**
* @return Gauge
*/
public function getGauge(): Gauge
{
return $this->gauge;
}
/**
* @param Gauge $gauge
* @return ShareOfGauges
*/
public function setGauge(Gauge $gauge): ShareOfGauges
{
$this->gauge = $gauge;
return $this;
}
/**
* @return string|null
*/
public function getTitle(): ?string
{
return $this->title;
}
/**
* @param string|null $title
* @return ShareOfGauges
*/
public function setTitle(?string $title): ShareOfGauges
{
$this->title = $title;
return $this;
}
/**
* @return string|null
*/
public function getHolderIco(): ?string
{
return $this->holderIco;
}
/**
* @param string|null $holderIco
* @return ShareOfGauges
*/
public function setHolderIco(?string $holderIco): ShareOfGauges
{
$this->holderIco = $holderIco;
return $this;
}
/**
* @return string|null
*/
public function getHolderName(): ?string
{
return $this->holderName;
}
/**
* @param string|null $holderName
* @return ShareOfGauges
*/
public function setHolderName(?string $holderName): ShareOfGauges
{
$this->holderName = $holderName;
return $this;
}
/**
* @return float
*/
public function getPart(): float
{
return $this->part;
}
/**
* @param float $part
* @return ShareOfGauges
*/
public function setPart(float $part): ShareOfGauges
{
$this->part = $part;
return $this;
}
/**
* @return string
*/
public function getOutName():string
{
if ($this->holderName !== null && $this->title !== null) {
return sprintf('%s - %s', $this->title, $this->holderName);
}
if ($this->holderName !== null) {
return $this->holderName;
}
return $this->title;
}
}