collection-crud/src/Entity/Gpu.php

527 lines
11 KiB
PHP

<?php declare(strict_types=1);
namespace App\Entity;
use App\Enum\SlotKeyEnum;
use App\Types\SlotKeyEnumType;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Table(name: 'gpu', schema: 'collection')]
#[ORM\Entity]
class Gpu
{
use GetSetTrait;
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
private int $id;
#[ORM\ManyToOne(targetEntity: 'Brand')]
#[ORM\OrderBy(['name' => 'asc'])]
#[ORM\JoinColumn(name: 'gpu_brand_id', referencedColumnName: 'id', nullable: FALSE)]
private Brand $gpuBrand;
#[ORM\ManyToOne(targetEntity: 'GpuCore')]
#[ORM\OrderBy(['brand' => 'asc', 'name' => 'asc'])]
#[ORM\JoinColumn(name: 'gpu_core_id', referencedColumnName: 'id', nullable: TRUE)]
private ?GpuCore $gpuCore = null;
#[ORM\Column(name: 'reference_model_name', nullable: FALSE)]
private string $modelName;
#[ORM\ManyToOne(targetEntity: 'Brand')]
#[ORM\OrderBy(['name' => 'asc'])]
#[ORM\JoinColumn(name: 'board_brand_id', referencedColumnName: 'id', nullable: TRUE)]
private ?Brand $boardBrand = NULL;
#[ORM\Column(name: 'alternate_model_name', nullable: TRUE)]
private ?string $alternateModelName = '';
#[ORM\Column(name: 'card_key', type: SlotKeyEnumType::NAME, nullable: TRUE, enumType: SlotKeyEnum::class)]
private $cardKey = SlotKeyEnum::PCIE_X16;
#[ORM\Column(name: 'bus_interface', nullable: TRUE)]
private ?string $busInterface;
#[ORM\Column(name: 'slot_width')]
private int $slotWidth = 1;
#[ORM\Column(name: 'molex_power')]
private int $molexPower = 0;
#[ORM\Column(name: 'pcie_6_pin')]
private int $pcie6power = 0;
#[ORM\Column(name: 'pcie_8_pin')]
private int $pcie8power = 0;
#[ORM\Column(name: 'tdp', nullable: TRUE)]
private ?int $tdp = 0;
#[ORM\Column(name: 'base_clock', nullable: TRUE)]
private ?int $baseClock;
#[ORM\Column(name: 'boost_clock', nullable: TRUE)]
private ?int $boostClock;
#[ORM\Column(name: 'memory_clock', nullable: TRUE)]
private ?int $memoryClock;
#[ORM\Column(name: 'memory_size', nullable: TRUE)]
private ?int $memorySize;
#[ORM\Column(name: 'memory_bus', nullable: TRUE)]
private ?int $memoryBus;
#[ORM\Column(name: 'memory_type', nullable: TRUE)]
private ?string $memoryType;
#[ORM\Column(name: 'shading_units', nullable: TRUE)]
private ?int $shadingUnits;
#[ORM\Column(name: 'tmus', nullable: TRUE)]
private ?int $tmus;
#[ORM\Column(name: 'rops', nullable: TRUE)]
private ?int $rops;
#[ORM\Column(name: 'compute_units', nullable: TRUE)]
private ?int $computeUnits;
#[ORM\Column(name: 'l1_cache', nullable: TRUE)]
private ?string $l1cache;
#[ORM\Column(name: 'l2_cache', nullable: TRUE)]
private ?string $l2cache;
#[ORM\Column(name: 'direct_x_support', nullable: TRUE)]
private ?string $directXSupport;
#[ORM\Column(name: 'opengl_support', nullable: TRUE)]
private ?string $openGLSupport;
#[ORM\Column(name: 'opencl_support', nullable: TRUE)]
private ?string $openCLSupport;
#[ORM\Column(name: 'vulkan_support', nullable: TRUE)]
private ?string $vulkanSupport;
#[ORM\Column(name: 'shader_model', nullable: TRUE)]
private ?string $shaderModel;
#[ORM\Column(name: 'link')]
private readonly string $link;
#[ORM\Column(name: 'count', nullable: FALSE)]
private int $count = 1;
#[ORM\Column(name: 'acquired')]
private bool $acquired;
#[ORM\Column(name: 'notes', type: 'text', nullable: TRUE)]
private ?string $notes = '';
public function getId(): ?int
{
return $this->id;
}
public function getModelName(): ?string
{
return $this->modelName;
}
public function setModelName(string $modelName): self
{
$this->modelName = $modelName;
return $this;
}
public function getAlternateModelName(): ?string
{
return $this->alternateModelName;
}
public function setAlternateModelName(?string $alternateModelName): self
{
$this->alternateModelName = $alternateModelName;
return $this;
}
public function getCardKey()
{
return $this->cardKey;
}
public function setCardKey($cardKey): self
{
$this->cardKey = $cardKey;
return $this;
}
public function getBusInterface(): ?string
{
return $this->busInterface;
}
public function setBusInterface(string $busInterface): self
{
$this->busInterface = $busInterface;
return $this;
}
public function getSlotWidth(): ?int
{
return $this->slotWidth;
}
public function setSlotWidth(int $slotWidth): self
{
$this->slotWidth = $slotWidth;
return $this;
}
public function getMolexPower(): ?int
{
return $this->molexPower;
}
public function setMolexPower(int $molexPower): self
{
$this->molexPower = $molexPower;
return $this;
}
public function getPcie6power(): ?int
{
return $this->pcie6power;
}
public function setPcie6power(int $pcie6power): self
{
$this->pcie6power = $pcie6power;
return $this;
}
public function getPcie8power(): ?int
{
return $this->pcie8power;
}
public function setPcie8power(int $pcie8power): self
{
$this->pcie8power = $pcie8power;
return $this;
}
public function getTdp(): ?int
{
return $this->tdp;
}
public function setTdp(?int $tdp): self
{
$this->tdp = $tdp;
return $this;
}
public function getBaseClock(): ?int
{
return $this->baseClock;
}
public function setBaseClock(int $baseClock): self
{
$this->baseClock = $baseClock;
return $this;
}
public function getBoostClock(): ?int
{
return $this->boostClock;
}
public function setBoostClock(int $boostClock): self
{
$this->boostClock = $boostClock;
return $this;
}
public function getMemoryClock(): ?int
{
return $this->memoryClock;
}
public function setMemoryClock(int $memoryClock): self
{
$this->memoryClock = $memoryClock;
return $this;
}
public function getMemorySize(): ?int
{
return $this->memorySize;
}
public function setMemorySize(int $memorySize): self
{
$this->memorySize = $memorySize;
return $this;
}
public function getMemoryBus(): ?int
{
return $this->memoryBus;
}
public function setMemoryBus(int $memoryBus): self
{
$this->memoryBus = $memoryBus;
return $this;
}
public function getMemoryType(): ?string
{
return $this->memoryType;
}
public function setMemoryType(string $memoryType): self
{
$this->memoryType = $memoryType;
return $this;
}
public function getShadingUnits(): ?int
{
return $this->shadingUnits;
}
public function setShadingUnits(int $shadingUnits): self
{
$this->shadingUnits = $shadingUnits;
return $this;
}
public function getTmus(): ?int
{
return $this->tmus;
}
public function setTmus(int $tmus): self
{
$this->tmus = $tmus;
return $this;
}
public function getRops(): ?int
{
return $this->rops;
}
public function setRops(int $rops): self
{
$this->rops = $rops;
return $this;
}
public function getComputeUnits(): ?int
{
return $this->computeUnits;
}
public function setComputeUnits(int $computeUnits): self
{
$this->computeUnits = $computeUnits;
return $this;
}
public function getL1cache(): ?string
{
return $this->l1cache;
}
public function setL1cache(string $l1cache): self
{
$this->l1cache = $l1cache;
return $this;
}
public function getL2cache(): ?string
{
return $this->l2cache;
}
public function setL2cache(string $l2cache): self
{
$this->l2cache = $l2cache;
return $this;
}
public function getDirectXSupport(): ?string
{
return $this->directXSupport;
}
public function setDirectXSupport(string $directXSupport): self
{
$this->directXSupport = $directXSupport;
return $this;
}
public function getOpenGLSupport(): ?string
{
return $this->openGLSupport;
}
public function setOpenGLSupport(string $openGLSupport): self
{
$this->openGLSupport = $openGLSupport;
return $this;
}
public function getOpenCLSupport(): ?string
{
return $this->openCLSupport;
}
public function setOpenCLSupport(string $openCLSupport): self
{
$this->openCLSupport = $openCLSupport;
return $this;
}
public function getVulkanSupport(): ?string
{
return $this->vulkanSupport;
}
public function setVulkanSupport(string $vulkanSupport): self
{
$this->vulkanSupport = $vulkanSupport;
return $this;
}
public function getShaderModel(): ?string
{
return $this->shaderModel;
}
public function setShaderModel(string $shaderModel): self
{
$this->shaderModel = $shaderModel;
return $this;
}
public function getLink(): ?string
{
return $this->link;
}
public function setLink(string $link): self
{
$this->link = $link;
return $this;
}
public function getCount(): ?int
{
return $this->count;
}
public function setCount(int $count): self
{
$this->count = $count;
return $this;
}
public function isAcquired(): ?bool
{
return $this->acquired;
}
public function setAcquired(bool $acquired): self
{
$this->acquired = $acquired;
return $this;
}
public function getNotes(): ?string
{
return $this->notes;
}
public function setNotes(?string $notes): self
{
$this->notes = $notes;
return $this;
}
public function getGpuBrand(): ?Brand
{
return $this->gpuBrand;
}
public function setGpuBrand(?Brand $gpuBrand): self
{
$this->gpuBrand = $gpuBrand;
return $this;
}
public function getGpuCore(): ?GpuCore
{
return $this->gpuCore;
}
public function setGpuCore(?GpuCore $gpuCore): self
{
$this->gpuCore = $gpuCore;
return $this;
}
public function getBoardBrand(): ?Brand
{
return $this->boardBrand;
}
public function setBoardBrand(?Brand $boardBrand): self
{
$this->boardBrand = $boardBrand;
return $this;
}
}