ogcore/src/Entity/Subnet.php

206 lines
4.6 KiB
PHP

<?php
namespace App\Entity;
use App\Repository\SubnetRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: SubnetRepository::class)]
class Subnet extends AbstractEntity
{
use NameableTrait;
use SynchronizedTrait;
#[ORM\Column(length: 255)]
private ?string $netmask = null;
#[ORM\Column(length: 255)]
private ?string $ipAddress = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $nextServer = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $bootFileName = null;
/**
* @var Collection<int, OrganizationalUnit>
*/
#[ORM\OneToMany(mappedBy: 'subnet', targetEntity: OrganizationalUnit::class)]
private Collection $organizationalUnits;
/**
* @var Collection<int, Client>
*/
#[ORM\OneToMany(mappedBy: 'subnet', targetEntity: Client::class)]
private Collection $clients;
#[ORM\Column(nullable: true)]
private ?int $serverId = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $router = null;
public function __construct()
{
parent::__construct();
$this->organizationalUnits = new ArrayCollection();
$this->clients = new ArrayCollection();
}
public function getNetmask(): ?string
{
return $this->netmask;
}
public function setNetmask(string $netmask): static
{
$this->netmask = $netmask;
return $this;
}
public function getIpAddress(): ?string
{
return $this->ipAddress;
}
public function setIpAddress(string $ipAddress): static
{
$this->ipAddress = $ipAddress;
return $this;
}
public function getNextServer(): ?string
{
return $this->nextServer;
}
public function setNextServer(?string $nextServer): static
{
$this->nextServer = $nextServer;
return $this;
}
public function getBootFileName(): ?string
{
return $this->bootFileName;
}
public function setBootFileName(?string $bootFileName): static
{
$this->bootFileName = $bootFileName;
return $this;
}
/**
* @return Collection<int, OrganizationalUnit>
*/
public function getOrganizationalUnits(): Collection
{
return $this->organizationalUnits;
}
public function setOrganizationalUnits(array $organizationalUnits): static
{
$this->organizationalUnits->clear();
foreach ($organizationalUnits as $organizationalUnit){
$this->addOrganizationalUnit($organizationalUnit);
}
return $this;
}
public function addOrganizationalUnit(OrganizationalUnit $organizationalUnit): static
{
if (!$this->organizationalUnits->contains($organizationalUnit)) {
$this->organizationalUnits->add($organizationalUnit);
$organizationalUnit->setSubnet($this);
}
return $this;
}
public function removeOrganizationalUnit(OrganizationalUnit $organizationalUnit): static
{
if ($this->organizationalUnits->removeElement($organizationalUnit)) {
// set the owning side to null (unless already changed)
if ($organizationalUnit->getSubnet() === $this) {
$organizationalUnit->setSubnet(null);
}
}
return $this;
}
/**
* @return Collection<int, Client>
*/
public function getClients(): Collection
{
return $this->clients;
}
public function setClients(array $clients): static
{
$this->clients->clear();
foreach ($clients as $client){
$this->addClient($client);
}
return $this;
}
public function addClient(Client $client): static
{
if (!$this->clients->contains($client)) {
$this->clients->add($client);
$client->setSubnet($this);
}
return $this;
}
public function removeClient(Client $client): static
{
if ($this->clients->removeElement($client)) {
if ($client->getSubnet() === $this) {
$client->setSubnet(null);
}
}
return $this;
}
public function getServerId(): ?int
{
return $this->serverId;
}
public function setServerId(?int $serverId): static
{
$this->serverId = $serverId;
return $this;
}
public function getRouter(): ?string
{
return $this->router;
}
public function setRouter(?string $router): static
{
$this->router = $router;
return $this;
}
}