<?php

namespace SelectSiparis;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for WebSiparisEntegrasyon StructType
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:WebSiparisEntegrasyon
 * @subpackage Structs
 */
class WebSiparisEntegrasyon extends AbstractStructBase
{
    /**
     * The AlanDeger
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $AlanDeger;
    /**
     * The Deger
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Deger;
    /**
     * The EntegrasyonKodu
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EntegrasyonKodu;
    /**
     * The EntegrasyonParamsAktif
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $EntegrasyonParamsAktif;
    /**
     * The TabloAlan
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TabloAlan;
    /**
     * The Tanim
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Tanim;
    /**
     * Constructor method for WebSiparisEntegrasyon
     * @uses WebSiparisEntegrasyon::setAlanDeger()
     * @uses WebSiparisEntegrasyon::setDeger()
     * @uses WebSiparisEntegrasyon::setEntegrasyonKodu()
     * @uses WebSiparisEntegrasyon::setEntegrasyonParamsAktif()
     * @uses WebSiparisEntegrasyon::setTabloAlan()
     * @uses WebSiparisEntegrasyon::setTanim()
     * @param string $alanDeger
     * @param string $deger
     * @param string $entegrasyonKodu
     * @param bool $entegrasyonParamsAktif
     * @param string $tabloAlan
     * @param string $tanim
     */
    public function __construct($alanDeger = null, $deger = null, $entegrasyonKodu = null, $entegrasyonParamsAktif = null, $tabloAlan = null, $tanim = null)
    {
        $this
            ->setAlanDeger($alanDeger)
            ->setDeger($deger)
            ->setEntegrasyonKodu($entegrasyonKodu)
            ->setEntegrasyonParamsAktif($entegrasyonParamsAktif)
            ->setTabloAlan($tabloAlan)
            ->setTanim($tanim);
    }
    /**
     * Get AlanDeger 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 getAlanDeger()
    {
        return isset($this->AlanDeger) ? $this->AlanDeger : null;
    }
    /**
     * Set AlanDeger 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 $alanDeger
     * @return \SelectSiparis\WebSiparisEntegrasyon
     */
    public function setAlanDeger($alanDeger = null)
    {
        // validation for constraint: string
        if (!is_null($alanDeger) && !is_string($alanDeger)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($alanDeger, true), gettype($alanDeger)), __LINE__);
        }
        if (is_null($alanDeger) || (is_array($alanDeger) && empty($alanDeger))) {
            unset($this->AlanDeger);
        } else {
            $this->AlanDeger = $alanDeger;
        }
        return $this;
    }
    /**
     * Get Deger 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 getDeger()
    {
        return isset($this->Deger) ? $this->Deger : null;
    }
    /**
     * Set Deger 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 $deger
     * @return \SelectSiparis\WebSiparisEntegrasyon
     */
    public function setDeger($deger = null)
    {
        // validation for constraint: string
        if (!is_null($deger) && !is_string($deger)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($deger, true), gettype($deger)), __LINE__);
        }
        if (is_null($deger) || (is_array($deger) && empty($deger))) {
            unset($this->Deger);
        } else {
            $this->Deger = $deger;
        }
        return $this;
    }
    /**
     * Get EntegrasyonKodu 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 getEntegrasyonKodu()
    {
        return isset($this->EntegrasyonKodu) ? $this->EntegrasyonKodu : null;
    }
    /**
     * Set EntegrasyonKodu 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 $entegrasyonKodu
     * @return \SelectSiparis\WebSiparisEntegrasyon
     */
    public function setEntegrasyonKodu($entegrasyonKodu = null)
    {
        // validation for constraint: string
        if (!is_null($entegrasyonKodu) && !is_string($entegrasyonKodu)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($entegrasyonKodu, true), gettype($entegrasyonKodu)), __LINE__);
        }
        if (is_null($entegrasyonKodu) || (is_array($entegrasyonKodu) && empty($entegrasyonKodu))) {
            unset($this->EntegrasyonKodu);
        } else {
            $this->EntegrasyonKodu = $entegrasyonKodu;
        }
        return $this;
    }
    /**
     * Get EntegrasyonParamsAktif value
     * @return bool|null
     */
    public function getEntegrasyonParamsAktif()
    {
        return $this->EntegrasyonParamsAktif;
    }
    /**
     * Set EntegrasyonParamsAktif value
     * @param bool $entegrasyonParamsAktif
     * @return \SelectSiparis\WebSiparisEntegrasyon
     */
    public function setEntegrasyonParamsAktif($entegrasyonParamsAktif = null)
    {
        // validation for constraint: boolean
        if (!is_null($entegrasyonParamsAktif) && !is_bool($entegrasyonParamsAktif)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($entegrasyonParamsAktif, true), gettype($entegrasyonParamsAktif)), __LINE__);
        }
        $this->EntegrasyonParamsAktif = $entegrasyonParamsAktif;
        return $this;
    }
    /**
     * Get TabloAlan 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 getTabloAlan()
    {
        return isset($this->TabloAlan) ? $this->TabloAlan : null;
    }
    /**
     * Set TabloAlan 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 $tabloAlan
     * @return \SelectSiparis\WebSiparisEntegrasyon
     */
    public function setTabloAlan($tabloAlan = null)
    {
        // validation for constraint: string
        if (!is_null($tabloAlan) && !is_string($tabloAlan)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($tabloAlan, true), gettype($tabloAlan)), __LINE__);
        }
        if (is_null($tabloAlan) || (is_array($tabloAlan) && empty($tabloAlan))) {
            unset($this->TabloAlan);
        } else {
            $this->TabloAlan = $tabloAlan;
        }
        return $this;
    }
    /**
     * Get Tanim 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 getTanim()
    {
        return isset($this->Tanim) ? $this->Tanim : null;
    }
    /**
     * Set Tanim 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 $tanim
     * @return \SelectSiparis\WebSiparisEntegrasyon
     */
    public function setTanim($tanim = null)
    {
        // validation for constraint: string
        if (!is_null($tanim) && !is_string($tanim)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($tanim, true), gettype($tanim)), __LINE__);
        }
        if (is_null($tanim) || (is_array($tanim) && empty($tanim))) {
            unset($this->Tanim);
        } else {
            $this->Tanim = $tanim;
        }
        return $this;
    }
}
