<?php

namespace CfcalSasieSDK\Entity;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for SectionSystemeExpert Entity
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:SectionSystemeExpert
 * @subpackage Structs
 */
class SectionSystemeExpert extends ObjetPublicSaisieEnLigneBase
{
    /**
     * The CodeSimulationSystemeExpert
     * @var int
     */
    public $CodeSimulationSystemeExpert;
    /**
     * Constructor method for SectionSystemeExpert
     * @uses SectionSystemeExpert::setCodeSimulationSystemeExpert()
     * @param int $codeSimulationSystemeExpert
     */
    public function __construct($codeSimulationSystemeExpert = null)
    {
        $this
            ->setCodeSimulationSystemeExpert($codeSimulationSystemeExpert);
    }
    /**
     * Get CodeSimulationSystemeExpert value
     * @return int|null
     */
    public function getCodeSimulationSystemeExpert()
    {
        return $this->CodeSimulationSystemeExpert;
    }
    /**
     * Set CodeSimulationSystemeExpert value
     * @param int $codeSimulationSystemeExpert
     * @return \CfcalSasieSDK\Entity\SectionSystemeExpert
     */
    public function setCodeSimulationSystemeExpert($codeSimulationSystemeExpert = null)
    {
        // validation for constraint: int
        if (!is_null($codeSimulationSystemeExpert) && !(is_int($codeSimulationSystemeExpert) || ctype_digit($codeSimulationSystemeExpert))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($codeSimulationSystemeExpert, true), gettype($codeSimulationSystemeExpert)), __LINE__);
        }
        $this->CodeSimulationSystemeExpert = $codeSimulationSystemeExpert;
        return $this;
    }
}
