<?php

namespace CfcalSasieSDK\Entity;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for SectionEmprunteurs Entity
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:SectionEmprunteurs
 * @subpackage Structs
 */
class SectionEmprunteurs extends ObjetPublicSaisieEnLigneBase
{
    /**
     * The Emprunteurs
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \CfcalSasieSDK\Entity\Emprunteurs
     */
    public $Emprunteurs;
    /**
     * The Liens
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \CfcalSasieSDK\Entity\Liens
     */
    public $Liens;
    /**
     * The SCI
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \CfcalSasieSDK\Entity\SCI
     */
    public $SCI;
    /**
     * Constructor method for SectionEmprunteurs
     * @uses SectionEmprunteurs::setEmprunteurs()
     * @uses SectionEmprunteurs::setLiens()
     * @uses SectionEmprunteurs::setSCI()
     * @param \CfcalSasieSDK\Entity\Emprunteurs $emprunteurs
     * @param \CfcalSasieSDK\Entity\Liens $liens
     * @param \CfcalSasieSDK\Entity\SCI $sCI
     */
    public function __construct(\CfcalSasieSDK\Entity\Emprunteurs $emprunteurs = null, \CfcalSasieSDK\Entity\Liens $liens = null, \CfcalSasieSDK\Entity\SCI $sCI = null)
    {
        $this
            ->setEmprunteurs($emprunteurs)
            ->setLiens($liens)
            ->setSCI($sCI);
    }
    /**
     * Get Emprunteurs 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 \CfcalSasieSDK\Entity\Emprunteurs|null
     */
    public function getEmprunteurs()
    {
        return isset($this->Emprunteurs) ? $this->Emprunteurs : null;
    }
    /**
     * Set Emprunteurs 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 \CfcalSasieSDK\Entity\Emprunteurs $emprunteurs
     * @return \CfcalSasieSDK\Entity\SectionEmprunteurs
     */
    public function setEmprunteurs(\CfcalSasieSDK\Entity\Emprunteurs $emprunteurs = null)
    {
        if (is_null($emprunteurs) || (is_array($emprunteurs) && empty($emprunteurs))) {
            unset($this->Emprunteurs);
        } else {
            $this->Emprunteurs = $emprunteurs;
        }
        return $this;
    }
    /**
     * Get Liens 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 \CfcalSasieSDK\Entity\Liens|null
     */
    public function getLiens()
    {
        return isset($this->Liens) ? $this->Liens : null;
    }
    /**
     * Set Liens 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 \CfcalSasieSDK\Entity\Liens $liens
     * @return \CfcalSasieSDK\Entity\SectionEmprunteurs
     */
    public function setLiens(\CfcalSasieSDK\Entity\Liens $liens = null)
    {
        if (is_null($liens) || (is_array($liens) && empty($liens))) {
            unset($this->Liens);
        } else {
            $this->Liens = $liens;
        }
        return $this;
    }
    /**
     * Get SCI 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 \CfcalSasieSDK\Entity\SCI|null
     */
    public function getSCI()
    {
        return isset($this->SCI) ? $this->SCI : null;
    }
    /**
     * Set SCI 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 \CfcalSasieSDK\Entity\SCI $sCI
     * @return \CfcalSasieSDK\Entity\SectionEmprunteurs
     */
    public function setSCI(\CfcalSasieSDK\Entity\SCI $sCI = null)
    {
        if (is_null($sCI) || (is_array($sCI) && empty($sCI))) {
            unset($this->SCI);
        } else {
            $this->SCI = $sCI;
        }
        return $this;
    }
}
