<?php

namespace SelectSiparis;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for WebTeslimatAdres StructType
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:WebTeslimatAdres
 * @subpackage Structs
 */
class WebTeslimatAdres extends AbstractStructBase
{
    /**
     * The Adres
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Adres;
    /**
     * The AdresTarifi
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $AdresTarifi;
    /**
     * The AliciAdi
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $AliciAdi;
    /**
     * The AliciTelefon
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $AliciTelefon;
    /**
     * The Il
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Il;
    /**
     * The Ilce
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Ilce;
    /**
     * The Mahalle
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Mahalle;
    /**
     * The PostaKodu
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $PostaKodu;
    /**
     * The Semt
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Semt;
    /**
     * The Ulke
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Ulke;
    /**
     * Constructor method for WebTeslimatAdres
     * @uses WebTeslimatAdres::setAdres()
     * @uses WebTeslimatAdres::setAdresTarifi()
     * @uses WebTeslimatAdres::setAliciAdi()
     * @uses WebTeslimatAdres::setAliciTelefon()
     * @uses WebTeslimatAdres::setIl()
     * @uses WebTeslimatAdres::setIlce()
     * @uses WebTeslimatAdres::setMahalle()
     * @uses WebTeslimatAdres::setPostaKodu()
     * @uses WebTeslimatAdres::setSemt()
     * @uses WebTeslimatAdres::setUlke()
     * @param string $adres
     * @param string $adresTarifi
     * @param string $aliciAdi
     * @param string $aliciTelefon
     * @param string $il
     * @param string $ilce
     * @param string $mahalle
     * @param string $postaKodu
     * @param string $semt
     * @param string $ulke
     */
    public function __construct($adres = null, $adresTarifi = null, $aliciAdi = null, $aliciTelefon = null, $il = null, $ilce = null, $mahalle = null, $postaKodu = null, $semt = null, $ulke = null)
    {
        $this
            ->setAdres($adres)
            ->setAdresTarifi($adresTarifi)
            ->setAliciAdi($aliciAdi)
            ->setAliciTelefon($aliciTelefon)
            ->setIl($il)
            ->setIlce($ilce)
            ->setMahalle($mahalle)
            ->setPostaKodu($postaKodu)
            ->setSemt($semt)
            ->setUlke($ulke);
    }
    /**
     * Get Adres value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getAdres()
    {
        return isset($this->Adres) ? $this->Adres : null;
    }
    /**
     * Set Adres value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $adres
     * @return \SelectSiparis\WebTeslimatAdres
     */
    public function setAdres($adres = null)
    {
        // validation for constraint: string
        if (!is_null($adres) && !is_string($adres)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($adres, true), gettype($adres)), __LINE__);
        }
        if (is_null($adres) || (is_array($adres) && empty($adres))) {
            unset($this->Adres);
        } else {
            $this->Adres = $adres;
        }
        return $this;
    }
    /**
     * Get AdresTarifi value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getAdresTarifi()
    {
        return isset($this->AdresTarifi) ? $this->AdresTarifi : null;
    }
    /**
     * Set AdresTarifi value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $adresTarifi
     * @return \SelectSiparis\WebTeslimatAdres
     */
    public function setAdresTarifi($adresTarifi = null)
    {
        // validation for constraint: string
        if (!is_null($adresTarifi) && !is_string($adresTarifi)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($adresTarifi, true), gettype($adresTarifi)), __LINE__);
        }
        if (is_null($adresTarifi) || (is_array($adresTarifi) && empty($adresTarifi))) {
            unset($this->AdresTarifi);
        } else {
            $this->AdresTarifi = $adresTarifi;
        }
        return $this;
    }
    /**
     * Get AliciAdi value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getAliciAdi()
    {
        return isset($this->AliciAdi) ? $this->AliciAdi : null;
    }
    /**
     * Set AliciAdi value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $aliciAdi
     * @return \SelectSiparis\WebTeslimatAdres
     */
    public function setAliciAdi($aliciAdi = null)
    {
        // validation for constraint: string
        if (!is_null($aliciAdi) && !is_string($aliciAdi)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($aliciAdi, true), gettype($aliciAdi)), __LINE__);
        }
        if (is_null($aliciAdi) || (is_array($aliciAdi) && empty($aliciAdi))) {
            unset($this->AliciAdi);
        } else {
            $this->AliciAdi = $aliciAdi;
        }
        return $this;
    }
    /**
     * Get AliciTelefon value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getAliciTelefon()
    {
        return isset($this->AliciTelefon) ? $this->AliciTelefon : null;
    }
    /**
     * Set AliciTelefon value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $aliciTelefon
     * @return \SelectSiparis\WebTeslimatAdres
     */
    public function setAliciTelefon($aliciTelefon = null)
    {
        // validation for constraint: string
        if (!is_null($aliciTelefon) && !is_string($aliciTelefon)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($aliciTelefon, true), gettype($aliciTelefon)), __LINE__);
        }
        if (is_null($aliciTelefon) || (is_array($aliciTelefon) && empty($aliciTelefon))) {
            unset($this->AliciTelefon);
        } else {
            $this->AliciTelefon = $aliciTelefon;
        }
        return $this;
    }
    /**
     * Get Il value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getIl()
    {
        return isset($this->Il) ? $this->Il : null;
    }
    /**
     * Set Il value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $il
     * @return \SelectSiparis\WebTeslimatAdres
     */
    public function setIl($il = null)
    {
        // validation for constraint: string
        if (!is_null($il) && !is_string($il)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($il, true), gettype($il)), __LINE__);
        }
        if (is_null($il) || (is_array($il) && empty($il))) {
            unset($this->Il);
        } else {
            $this->Il = $il;
        }
        return $this;
    }
    /**
     * Get Ilce value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getIlce()
    {
        return isset($this->Ilce) ? $this->Ilce : null;
    }
    /**
     * Set Ilce value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $ilce
     * @return \SelectSiparis\WebTeslimatAdres
     */
    public function setIlce($ilce = null)
    {
        // validation for constraint: string
        if (!is_null($ilce) && !is_string($ilce)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($ilce, true), gettype($ilce)), __LINE__);
        }
        if (is_null($ilce) || (is_array($ilce) && empty($ilce))) {
            unset($this->Ilce);
        } else {
            $this->Ilce = $ilce;
        }
        return $this;
    }
    /**
     * Get Mahalle value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMahalle()
    {
        return isset($this->Mahalle) ? $this->Mahalle : null;
    }
    /**
     * Set Mahalle value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $mahalle
     * @return \SelectSiparis\WebTeslimatAdres
     */
    public function setMahalle($mahalle = null)
    {
        // validation for constraint: string
        if (!is_null($mahalle) && !is_string($mahalle)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($mahalle, true), gettype($mahalle)), __LINE__);
        }
        if (is_null($mahalle) || (is_array($mahalle) && empty($mahalle))) {
            unset($this->Mahalle);
        } else {
            $this->Mahalle = $mahalle;
        }
        return $this;
    }
    /**
     * Get PostaKodu value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPostaKodu()
    {
        return isset($this->PostaKodu) ? $this->PostaKodu : null;
    }
    /**
     * Set PostaKodu value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $postaKodu
     * @return \SelectSiparis\WebTeslimatAdres
     */
    public function setPostaKodu($postaKodu = null)
    {
        // validation for constraint: string
        if (!is_null($postaKodu) && !is_string($postaKodu)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($postaKodu, true), gettype($postaKodu)), __LINE__);
        }
        if (is_null($postaKodu) || (is_array($postaKodu) && empty($postaKodu))) {
            unset($this->PostaKodu);
        } else {
            $this->PostaKodu = $postaKodu;
        }
        return $this;
    }
    /**
     * Get Semt value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSemt()
    {
        return isset($this->Semt) ? $this->Semt : null;
    }
    /**
     * Set Semt value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $semt
     * @return \SelectSiparis\WebTeslimatAdres
     */
    public function setSemt($semt = null)
    {
        // validation for constraint: string
        if (!is_null($semt) && !is_string($semt)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($semt, true), gettype($semt)), __LINE__);
        }
        if (is_null($semt) || (is_array($semt) && empty($semt))) {
            unset($this->Semt);
        } else {
            $this->Semt = $semt;
        }
        return $this;
    }
    /**
     * Get Ulke value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUlke()
    {
        return isset($this->Ulke) ? $this->Ulke : null;
    }
    /**
     * Set Ulke value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $ulke
     * @return \SelectSiparis\WebTeslimatAdres
     */
    public function setUlke($ulke = null)
    {
        // validation for constraint: string
        if (!is_null($ulke) && !is_string($ulke)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($ulke, true), gettype($ulke)), __LINE__);
        }
        if (is_null($ulke) || (is_array($ulke) && empty($ulke))) {
            unset($this->Ulke);
        } else {
            $this->Ulke = $ulke;
        }
        return $this;
    }
}
