<?php

namespace GLS;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for cServicePPE Struct
 * @subpackage Structs
 */
class CServicePPE extends AbstractStructBase
{
    /**
     * The sname1
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $sname1;
    /**
     * The scountry
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $scountry;
    /**
     * The szipcode
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $szipcode;
    /**
     * The scity
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $scity;
    /**
     * The sstreet
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $sstreet;
    /**
     * The rname1
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $rname1;
    /**
     * The rcountry
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $rcountry;
    /**
     * The rzipcode
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $rzipcode;
    /**
     * The rcity
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $rcity;
    /**
     * The rstreet
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $rstreet;
    /**
     * The sname2
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $sname2;
    /**
     * The sname3
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $sname3;
    /**
     * The sphone
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $sphone;
    /**
     * The scontact
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $scontact;
    /**
     * The rname2
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $rname2;
    /**
     * The rname3
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $rname3;
    /**
     * The rphone
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $rphone;
    /**
     * The rcontact
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $rcontact;
    /**
     * The references
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $references;
    /**
     * The weight
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var float
     */
    public $weight;
    /**
     * Constructor method for cServicePPE
     * @uses CServicePPE::setSname1()
     * @uses CServicePPE::setScountry()
     * @uses CServicePPE::setSzipcode()
     * @uses CServicePPE::setScity()
     * @uses CServicePPE::setSstreet()
     * @uses CServicePPE::setRname1()
     * @uses CServicePPE::setRcountry()
     * @uses CServicePPE::setRzipcode()
     * @uses CServicePPE::setRcity()
     * @uses CServicePPE::setRstreet()
     * @uses CServicePPE::setSname2()
     * @uses CServicePPE::setSname3()
     * @uses CServicePPE::setSphone()
     * @uses CServicePPE::setScontact()
     * @uses CServicePPE::setRname2()
     * @uses CServicePPE::setRname3()
     * @uses CServicePPE::setRphone()
     * @uses CServicePPE::setRcontact()
     * @uses CServicePPE::setReferences()
     * @uses CServicePPE::setWeight()
     * @param string $sname1
     * @param string $scountry
     * @param string $szipcode
     * @param string $scity
     * @param string $sstreet
     * @param string $rname1
     * @param string $rcountry
     * @param string $rzipcode
     * @param string $rcity
     * @param string $rstreet
     * @param string $sname2
     * @param string $sname3
     * @param string $sphone
     * @param string $scontact
     * @param string $rname2
     * @param string $rname3
     * @param string $rphone
     * @param string $rcontact
     * @param string $references
     * @param float $weight
     */
    public function __construct($sname1 = null, $scountry = null, $szipcode = null, $scity = null, $sstreet = null, $rname1 = null, $rcountry = null, $rzipcode = null, $rcity = null, $rstreet = null, $sname2 = null, $sname3 = null, $sphone = null, $scontact = null, $rname2 = null, $rname3 = null, $rphone = null, $rcontact = null, $references = null, $weight = null)
    {
        $this
            ->setSname1($sname1)
            ->setScountry($scountry)
            ->setSzipcode($szipcode)
            ->setScity($scity)
            ->setSstreet($sstreet)
            ->setRname1($rname1)
            ->setRcountry($rcountry)
            ->setRzipcode($rzipcode)
            ->setRcity($rcity)
            ->setRstreet($rstreet)
            ->setSname2($sname2)
            ->setSname3($sname3)
            ->setSphone($sphone)
            ->setScontact($scontact)
            ->setRname2($rname2)
            ->setRname3($rname3)
            ->setRphone($rphone)
            ->setRcontact($rcontact)
            ->setReferences($references)
            ->setWeight($weight);
    }
    /**
     * Get sname1 value
     * @return string
     */
    public function getSname1()
    {
        return $this->sname1;
    }
    /**
     * Set sname1 value
     * @param string $sname1
     * @return \GLS\CServicePPE
     */
    public function setSname1($sname1 = null)
    {
        // validation for constraint: string
        if (!is_null($sname1) && !is_string($sname1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($sname1, true), gettype($sname1)), __LINE__);
        }
        $this->sname1 = $sname1;
        return $this;
    }
    /**
     * Get scountry value
     * @return string
     */
    public function getScountry()
    {
        return $this->scountry;
    }
    /**
     * Set scountry value
     * @param string $scountry
     * @return \GLS\CServicePPE
     */
    public function setScountry($scountry = null)
    {
        // validation for constraint: string
        if (!is_null($scountry) && !is_string($scountry)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($scountry, true), gettype($scountry)), __LINE__);
        }
        $this->scountry = $scountry;
        return $this;
    }
    /**
     * Get szipcode value
     * @return string
     */
    public function getSzipcode()
    {
        return $this->szipcode;
    }
    /**
     * Set szipcode value
     * @param string $szipcode
     * @return \GLS\CServicePPE
     */
    public function setSzipcode($szipcode = null)
    {
        // validation for constraint: string
        if (!is_null($szipcode) && !is_string($szipcode)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($szipcode, true), gettype($szipcode)), __LINE__);
        }
        $this->szipcode = $szipcode;
        return $this;
    }
    /**
     * Get scity value
     * @return string
     */
    public function getScity()
    {
        return $this->scity;
    }
    /**
     * Set scity value
     * @param string $scity
     * @return \GLS\CServicePPE
     */
    public function setScity($scity = null)
    {
        // validation for constraint: string
        if (!is_null($scity) && !is_string($scity)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($scity, true), gettype($scity)), __LINE__);
        }
        $this->scity = $scity;
        return $this;
    }
    /**
     * Get sstreet value
     * @return string
     */
    public function getSstreet()
    {
        return $this->sstreet;
    }
    /**
     * Set sstreet value
     * @param string $sstreet
     * @return \GLS\CServicePPE
     */
    public function setSstreet($sstreet = null)
    {
        // validation for constraint: string
        if (!is_null($sstreet) && !is_string($sstreet)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($sstreet, true), gettype($sstreet)), __LINE__);
        }
        $this->sstreet = $sstreet;
        return $this;
    }
    /**
     * Get rname1 value
     * @return string
     */
    public function getRname1()
    {
        return $this->rname1;
    }
    /**
     * Set rname1 value
     * @param string $rname1
     * @return \GLS\CServicePPE
     */
    public function setRname1($rname1 = null)
    {
        // validation for constraint: string
        if (!is_null($rname1) && !is_string($rname1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rname1, true), gettype($rname1)), __LINE__);
        }
        $this->rname1 = $rname1;
        return $this;
    }
    /**
     * Get rcountry value
     * @return string
     */
    public function getRcountry()
    {
        return $this->rcountry;
    }
    /**
     * Set rcountry value
     * @param string $rcountry
     * @return \GLS\CServicePPE
     */
    public function setRcountry($rcountry = null)
    {
        // validation for constraint: string
        if (!is_null($rcountry) && !is_string($rcountry)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rcountry, true), gettype($rcountry)), __LINE__);
        }
        $this->rcountry = $rcountry;
        return $this;
    }
    /**
     * Get rzipcode value
     * @return string
     */
    public function getRzipcode()
    {
        return $this->rzipcode;
    }
    /**
     * Set rzipcode value
     * @param string $rzipcode
     * @return \GLS\CServicePPE
     */
    public function setRzipcode($rzipcode = null)
    {
        // validation for constraint: string
        if (!is_null($rzipcode) && !is_string($rzipcode)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rzipcode, true), gettype($rzipcode)), __LINE__);
        }
        $this->rzipcode = $rzipcode;
        return $this;
    }
    /**
     * Get rcity value
     * @return string
     */
    public function getRcity()
    {
        return $this->rcity;
    }
    /**
     * Set rcity value
     * @param string $rcity
     * @return \GLS\CServicePPE
     */
    public function setRcity($rcity = null)
    {
        // validation for constraint: string
        if (!is_null($rcity) && !is_string($rcity)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rcity, true), gettype($rcity)), __LINE__);
        }
        $this->rcity = $rcity;
        return $this;
    }
    /**
     * Get rstreet value
     * @return string
     */
    public function getRstreet()
    {
        return $this->rstreet;
    }
    /**
     * Set rstreet value
     * @param string $rstreet
     * @return \GLS\CServicePPE
     */
    public function setRstreet($rstreet = null)
    {
        // validation for constraint: string
        if (!is_null($rstreet) && !is_string($rstreet)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rstreet, true), gettype($rstreet)), __LINE__);
        }
        $this->rstreet = $rstreet;
        return $this;
    }
    /**
     * Get sname2 value
     * @return string|null
     */
    public function getSname2()
    {
        return $this->sname2;
    }
    /**
     * Set sname2 value
     * @param string $sname2
     * @return \GLS\CServicePPE
     */
    public function setSname2($sname2 = null)
    {
        // validation for constraint: string
        if (!is_null($sname2) && !is_string($sname2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($sname2, true), gettype($sname2)), __LINE__);
        }
        $this->sname2 = $sname2;
        return $this;
    }
    /**
     * Get sname3 value
     * @return string|null
     */
    public function getSname3()
    {
        return $this->sname3;
    }
    /**
     * Set sname3 value
     * @param string $sname3
     * @return \GLS\CServicePPE
     */
    public function setSname3($sname3 = null)
    {
        // validation for constraint: string
        if (!is_null($sname3) && !is_string($sname3)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($sname3, true), gettype($sname3)), __LINE__);
        }
        $this->sname3 = $sname3;
        return $this;
    }
    /**
     * Get sphone value
     * @return string|null
     */
    public function getSphone()
    {
        return $this->sphone;
    }
    /**
     * Set sphone value
     * @param string $sphone
     * @return \GLS\CServicePPE
     */
    public function setSphone($sphone = null)
    {
        // validation for constraint: string
        if (!is_null($sphone) && !is_string($sphone)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($sphone, true), gettype($sphone)), __LINE__);
        }
        $this->sphone = $sphone;
        return $this;
    }
    /**
     * Get scontact value
     * @return string|null
     */
    public function getScontact()
    {
        return $this->scontact;
    }
    /**
     * Set scontact value
     * @param string $scontact
     * @return \GLS\CServicePPE
     */
    public function setScontact($scontact = null)
    {
        // validation for constraint: string
        if (!is_null($scontact) && !is_string($scontact)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($scontact, true), gettype($scontact)), __LINE__);
        }
        $this->scontact = $scontact;
        return $this;
    }
    /**
     * Get rname2 value
     * @return string|null
     */
    public function getRname2()
    {
        return $this->rname2;
    }
    /**
     * Set rname2 value
     * @param string $rname2
     * @return \GLS\CServicePPE
     */
    public function setRname2($rname2 = null)
    {
        // validation for constraint: string
        if (!is_null($rname2) && !is_string($rname2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rname2, true), gettype($rname2)), __LINE__);
        }
        $this->rname2 = $rname2;
        return $this;
    }
    /**
     * Get rname3 value
     * @return string|null
     */
    public function getRname3()
    {
        return $this->rname3;
    }
    /**
     * Set rname3 value
     * @param string $rname3
     * @return \GLS\CServicePPE
     */
    public function setRname3($rname3 = null)
    {
        // validation for constraint: string
        if (!is_null($rname3) && !is_string($rname3)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rname3, true), gettype($rname3)), __LINE__);
        }
        $this->rname3 = $rname3;
        return $this;
    }
    /**
     * Get rphone value
     * @return string|null
     */
    public function getRphone()
    {
        return $this->rphone;
    }
    /**
     * Set rphone value
     * @param string $rphone
     * @return \GLS\CServicePPE
     */
    public function setRphone($rphone = null)
    {
        // validation for constraint: string
        if (!is_null($rphone) && !is_string($rphone)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rphone, true), gettype($rphone)), __LINE__);
        }
        $this->rphone = $rphone;
        return $this;
    }
    /**
     * Get rcontact value
     * @return string|null
     */
    public function getRcontact()
    {
        return $this->rcontact;
    }
    /**
     * Set rcontact value
     * @param string $rcontact
     * @return \GLS\CServicePPE
     */
    public function setRcontact($rcontact = null)
    {
        // validation for constraint: string
        if (!is_null($rcontact) && !is_string($rcontact)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rcontact, true), gettype($rcontact)), __LINE__);
        }
        $this->rcontact = $rcontact;
        return $this;
    }
    /**
     * Get references value
     * @return string|null
     */
    public function getReferences()
    {
        return $this->references;
    }
    /**
     * Set references value
     * @param string $references
     * @return \GLS\CServicePPE
     */
    public function setReferences($references = null)
    {
        // validation for constraint: string
        if (!is_null($references) && !is_string($references)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($references, true), gettype($references)), __LINE__);
        }
        $this->references = $references;
        return $this;
    }
    /**
     * Get weight value
     * @return float|null
     */
    public function getWeight()
    {
        return $this->weight;
    }
    /**
     * Set weight value
     * @param float $weight
     * @return \GLS\CServicePPE
     */
    public function setWeight($weight = null)
    {
        // validation for constraint: float
        if (!is_null($weight) && !(is_float($weight) || is_numeric($weight))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($weight, true), gettype($weight)), __LINE__);
        }
        $this->weight = $weight;
        return $this;
    }
}
