<?php

namespace GLS;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for cBulkCustomsClearanceContactPerson Struct
 * @subpackage Structs
 */
class CBulkCustomsClearanceContactPerson extends AbstractStructBase
{
    /**
     * The name
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $name;
    /**
     * The emailAddress
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $emailAddress;
    /**
     * The phoneCountryPrefix
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $phoneCountryPrefix;
    /**
     * The phoneNumber
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $phoneNumber;
    /**
     * The mobileCountryPrefix
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $mobileCountryPrefix;
    /**
     * The mobileNumber
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $mobileNumber;
    /**
     * Constructor method for cBulkCustomsClearanceContactPerson
     * @uses CBulkCustomsClearanceContactPerson::setName()
     * @uses CBulkCustomsClearanceContactPerson::setEmailAddress()
     * @uses CBulkCustomsClearanceContactPerson::setPhoneCountryPrefix()
     * @uses CBulkCustomsClearanceContactPerson::setPhoneNumber()
     * @uses CBulkCustomsClearanceContactPerson::setMobileCountryPrefix()
     * @uses CBulkCustomsClearanceContactPerson::setMobileNumber()
     * @param string $name
     * @param string $emailAddress
     * @param string $phoneCountryPrefix
     * @param string $phoneNumber
     * @param string $mobileCountryPrefix
     * @param string $mobileNumber
     */
    public function __construct($name = null, $emailAddress = null, $phoneCountryPrefix = null, $phoneNumber = null, $mobileCountryPrefix = null, $mobileNumber = null)
    {
        $this
            ->setName($name)
            ->setEmailAddress($emailAddress)
            ->setPhoneCountryPrefix($phoneCountryPrefix)
            ->setPhoneNumber($phoneNumber)
            ->setMobileCountryPrefix($mobileCountryPrefix)
            ->setMobileNumber($mobileNumber);
    }
    /**
     * Get name value
     * @return string|null
     */
    public function getName()
    {
        return $this->name;
    }
    /**
     * Set name value
     * @param string $name
     * @return \GLS\CBulkCustomsClearanceContactPerson
     */
    public function setName($name = null)
    {
        // validation for constraint: string
        if (!is_null($name) && !is_string($name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($name, true), gettype($name)), __LINE__);
        }
        $this->name = $name;
        return $this;
    }
    /**
     * Get emailAddress value
     * @return string|null
     */
    public function getEmailAddress()
    {
        return $this->emailAddress;
    }
    /**
     * Set emailAddress value
     * @param string $emailAddress
     * @return \GLS\CBulkCustomsClearanceContactPerson
     */
    public function setEmailAddress($emailAddress = null)
    {
        // validation for constraint: string
        if (!is_null($emailAddress) && !is_string($emailAddress)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($emailAddress, true), gettype($emailAddress)), __LINE__);
        }
        $this->emailAddress = $emailAddress;
        return $this;
    }
    /**
     * Get phoneCountryPrefix value
     * @return string|null
     */
    public function getPhoneCountryPrefix()
    {
        return $this->phoneCountryPrefix;
    }
    /**
     * Set phoneCountryPrefix value
     * @param string $phoneCountryPrefix
     * @return \GLS\CBulkCustomsClearanceContactPerson
     */
    public function setPhoneCountryPrefix($phoneCountryPrefix = null)
    {
        // validation for constraint: string
        if (!is_null($phoneCountryPrefix) && !is_string($phoneCountryPrefix)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($phoneCountryPrefix, true), gettype($phoneCountryPrefix)), __LINE__);
        }
        $this->phoneCountryPrefix = $phoneCountryPrefix;
        return $this;
    }
    /**
     * Get phoneNumber value
     * @return string|null
     */
    public function getPhoneNumber()
    {
        return $this->phoneNumber;
    }
    /**
     * Set phoneNumber value
     * @param string $phoneNumber
     * @return \GLS\CBulkCustomsClearanceContactPerson
     */
    public function setPhoneNumber($phoneNumber = null)
    {
        // validation for constraint: string
        if (!is_null($phoneNumber) && !is_string($phoneNumber)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($phoneNumber, true), gettype($phoneNumber)), __LINE__);
        }
        $this->phoneNumber = $phoneNumber;
        return $this;
    }
    /**
     * Get mobileCountryPrefix value
     * @return string|null
     */
    public function getMobileCountryPrefix()
    {
        return $this->mobileCountryPrefix;
    }
    /**
     * Set mobileCountryPrefix value
     * @param string $mobileCountryPrefix
     * @return \GLS\CBulkCustomsClearanceContactPerson
     */
    public function setMobileCountryPrefix($mobileCountryPrefix = null)
    {
        // validation for constraint: string
        if (!is_null($mobileCountryPrefix) && !is_string($mobileCountryPrefix)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($mobileCountryPrefix, true), gettype($mobileCountryPrefix)), __LINE__);
        }
        $this->mobileCountryPrefix = $mobileCountryPrefix;
        return $this;
    }
    /**
     * Get mobileNumber value
     * @return string|null
     */
    public function getMobileNumber()
    {
        return $this->mobileNumber;
    }
    /**
     * Set mobileNumber value
     * @param string $mobileNumber
     * @return \GLS\CBulkCustomsClearanceContactPerson
     */
    public function setMobileNumber($mobileNumber = null)
    {
        // validation for constraint: string
        if (!is_null($mobileNumber) && !is_string($mobileNumber)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($mobileNumber, true), gettype($mobileNumber)), __LINE__);
        }
        $this->mobileNumber = $mobileNumber;
        return $this;
    }
}
