<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Address.
*
* @ORM\Entity
*
* @ORM\Table(name="address")
*
* @ORM\InheritanceType("SINGLE_TABLE")
*
* @ORM\DiscriminatorColumn(name="type", type="string")
*
* @ORM\DiscriminatorMap({"shipping" = "ShippingAddress"})
*/
abstract class Address
{
/**
* @var int
*
* @ORM\Id
*
* @ORM\GeneratedValue(strategy="AUTO")
*
* @ORM\Column(name="id", type="integer")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="address", type="string", length=255, nullable=true)
*
* @Assert\NotBlank(groups={"custom_estimate"}, message="assert.user.pro.source.not_blank")
*/
private $address;
/**
* @var string
*
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $addressComplement;
/**
* @var string
*
* @ORM\Column(name="zipCode", type="string", length=255, nullable=true)
*
* @Assert\NotBlank(groups={"custom_estimate"}, message="assert.user.pro.source.not_blank")
*/
private $zipCode;
/**
* @var string
*
* @ORM\Column(name="city", type="string", length=255, nullable=true)
*
* @Assert\NotBlank(groups={"custom_estimate"}, message="assert.user.pro.source.not_blank")
*/
private $city;
/**
* @var string
*
* @ORM\Column(name="country", type="string", length=255, nullable=true)
*
* @Assert\NotBlank(groups={"custom_estimate"}, message="assert.user.pro.source.not_blank")
*/
private $country;
/**
* Get id.
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set address.
*
* @param string $address
*
* @return Address
*/
public function setAddress($address)
{
$this->address = $address;
return $this;
}
/**
* Get address.
*
* @return string
*/
public function getAddress()
{
return $this->address;
}
/**
* Set addressComplement.
*
* @param string $addressComplement
*
* @return Address
*/
public function setAddressComplement($addressComplement)
{
$this->addressComplement = $addressComplement;
return $this;
}
/**
* Get addressComplement.
*
* @return string
*/
public function getAddressComplement()
{
return $this->addressComplement;
}
/**
* Set zipCode.
*
* @param string $zipCode
*
* @return Address
*/
public function setZipCode($zipCode)
{
$this->zipCode = $zipCode;
return $this;
}
/**
* Get zipCode.
*
* @return string
*/
public function getZipCode()
{
return $this->zipCode;
}
/**
* Set city.
*
* @param string $city
*
* @return Address
*/
public function setCity($city)
{
$this->city = $city;
return $this;
}
/**
* Get city.
*
* @return string
*/
public function getCity()
{
return $this->city;
}
/**
* Set country.
*
* @param string $country
*
* @return Address
*/
public function setCountry($country)
{
$this->country = $country;
return $this;
}
/**
* Get country.
*
* @return string
*/
public function getCountry()
{
return $this->country;
}
}