<?php

namespace patest\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Printing.AuxDataItem.ClientContacts StructType
 * @subpackage Structs
 */
class Printing_AuxDataItem_ClientContacts extends AnyEntity
{
    /**
     * The BusinessPhone
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\Printing_AuxDataItem_ClientContactDetail
     */
    public $BusinessPhone;
    /**
     * The Custom1
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\Printing_AuxDataItem_ClientContactDetail
     */
    public $Custom1;
    /**
     * The Custom2
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\Printing_AuxDataItem_ClientContactDetail
     */
    public $Custom2;
    /**
     * The Custom3
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\Printing_AuxDataItem_ClientContactDetail
     */
    public $Custom3;
    /**
     * The Custom4
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\Printing_AuxDataItem_ClientContactDetail
     */
    public $Custom4;
    /**
     * The Custom5
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\Printing_AuxDataItem_ClientContactDetail
     */
    public $Custom5;
    /**
     * The Custom6
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\Printing_AuxDataItem_ClientContactDetail
     */
    public $Custom6;
    /**
     * The Custom7
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\Printing_AuxDataItem_ClientContactDetail
     */
    public $Custom7;
    /**
     * The Custom8
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\Printing_AuxDataItem_ClientContactDetail
     */
    public $Custom8;
    /**
     * The Custom9
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\Printing_AuxDataItem_ClientContactDetail
     */
    public $Custom9;
    /**
     * The Email
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\Printing_AuxDataItem_ClientContactDetail
     */
    public $Email;
    /**
     * The Fax
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\Printing_AuxDataItem_ClientContactDetail
     */
    public $Fax;
    /**
     * The HomePhone
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\Printing_AuxDataItem_ClientContactDetail
     */
    public $HomePhone;
    /**
     * The MobilePhone
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\Printing_AuxDataItem_ClientContactDetail
     */
    public $MobilePhone;
    /**
     * The WebSite
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\Printing_AuxDataItem_ClientContactDetail
     */
    public $WebSite;
    /**
     * Constructor method for Printing.AuxDataItem.ClientContacts
     * @uses Printing_AuxDataItem_ClientContacts::setBusinessPhone()
     * @uses Printing_AuxDataItem_ClientContacts::setCustom1()
     * @uses Printing_AuxDataItem_ClientContacts::setCustom2()
     * @uses Printing_AuxDataItem_ClientContacts::setCustom3()
     * @uses Printing_AuxDataItem_ClientContacts::setCustom4()
     * @uses Printing_AuxDataItem_ClientContacts::setCustom5()
     * @uses Printing_AuxDataItem_ClientContacts::setCustom6()
     * @uses Printing_AuxDataItem_ClientContacts::setCustom7()
     * @uses Printing_AuxDataItem_ClientContacts::setCustom8()
     * @uses Printing_AuxDataItem_ClientContacts::setCustom9()
     * @uses Printing_AuxDataItem_ClientContacts::setEmail()
     * @uses Printing_AuxDataItem_ClientContacts::setFax()
     * @uses Printing_AuxDataItem_ClientContacts::setHomePhone()
     * @uses Printing_AuxDataItem_ClientContacts::setMobilePhone()
     * @uses Printing_AuxDataItem_ClientContacts::setWebSite()
     * @param \patest\StructType\Printing_AuxDataItem_ClientContactDetail $businessPhone
     * @param \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom1
     * @param \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom2
     * @param \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom3
     * @param \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom4
     * @param \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom5
     * @param \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom6
     * @param \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom7
     * @param \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom8
     * @param \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom9
     * @param \patest\StructType\Printing_AuxDataItem_ClientContactDetail $email
     * @param \patest\StructType\Printing_AuxDataItem_ClientContactDetail $fax
     * @param \patest\StructType\Printing_AuxDataItem_ClientContactDetail $homePhone
     * @param \patest\StructType\Printing_AuxDataItem_ClientContactDetail $mobilePhone
     * @param \patest\StructType\Printing_AuxDataItem_ClientContactDetail $webSite
     */
    public function __construct(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $businessPhone = null, \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom1 = null, \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom2 = null, \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom3 = null, \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom4 = null, \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom5 = null, \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom6 = null, \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom7 = null, \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom8 = null, \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom9 = null, \patest\StructType\Printing_AuxDataItem_ClientContactDetail $email = null, \patest\StructType\Printing_AuxDataItem_ClientContactDetail $fax = null, \patest\StructType\Printing_AuxDataItem_ClientContactDetail $homePhone = null, \patest\StructType\Printing_AuxDataItem_ClientContactDetail $mobilePhone = null, \patest\StructType\Printing_AuxDataItem_ClientContactDetail $webSite = null)
    {
        $this
            ->setBusinessPhone($businessPhone)
            ->setCustom1($custom1)
            ->setCustom2($custom2)
            ->setCustom3($custom3)
            ->setCustom4($custom4)
            ->setCustom5($custom5)
            ->setCustom6($custom6)
            ->setCustom7($custom7)
            ->setCustom8($custom8)
            ->setCustom9($custom9)
            ->setEmail($email)
            ->setFax($fax)
            ->setHomePhone($homePhone)
            ->setMobilePhone($mobilePhone)
            ->setWebSite($webSite);
    }
    /**
     * Get BusinessPhone 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail|null
     */
    public function getBusinessPhone()
    {
        return isset($this->BusinessPhone) ? $this->BusinessPhone : null;
    }
    /**
     * Set BusinessPhone 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail $businessPhone
     * @return \patest\StructType\Printing_AuxDataItem_ClientContacts
     */
    public function setBusinessPhone(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $businessPhone = null)
    {
        if (is_null($businessPhone) || (is_array($businessPhone) && empty($businessPhone))) {
            unset($this->BusinessPhone);
        } else {
            $this->BusinessPhone = $businessPhone;
        }
        return $this;
    }
    /**
     * Get Custom1 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail|null
     */
    public function getCustom1()
    {
        return isset($this->Custom1) ? $this->Custom1 : null;
    }
    /**
     * Set Custom1 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom1
     * @return \patest\StructType\Printing_AuxDataItem_ClientContacts
     */
    public function setCustom1(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom1 = null)
    {
        if (is_null($custom1) || (is_array($custom1) && empty($custom1))) {
            unset($this->Custom1);
        } else {
            $this->Custom1 = $custom1;
        }
        return $this;
    }
    /**
     * Get Custom2 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail|null
     */
    public function getCustom2()
    {
        return isset($this->Custom2) ? $this->Custom2 : null;
    }
    /**
     * Set Custom2 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom2
     * @return \patest\StructType\Printing_AuxDataItem_ClientContacts
     */
    public function setCustom2(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom2 = null)
    {
        if (is_null($custom2) || (is_array($custom2) && empty($custom2))) {
            unset($this->Custom2);
        } else {
            $this->Custom2 = $custom2;
        }
        return $this;
    }
    /**
     * Get Custom3 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail|null
     */
    public function getCustom3()
    {
        return isset($this->Custom3) ? $this->Custom3 : null;
    }
    /**
     * Set Custom3 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom3
     * @return \patest\StructType\Printing_AuxDataItem_ClientContacts
     */
    public function setCustom3(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom3 = null)
    {
        if (is_null($custom3) || (is_array($custom3) && empty($custom3))) {
            unset($this->Custom3);
        } else {
            $this->Custom3 = $custom3;
        }
        return $this;
    }
    /**
     * Get Custom4 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail|null
     */
    public function getCustom4()
    {
        return isset($this->Custom4) ? $this->Custom4 : null;
    }
    /**
     * Set Custom4 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom4
     * @return \patest\StructType\Printing_AuxDataItem_ClientContacts
     */
    public function setCustom4(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom4 = null)
    {
        if (is_null($custom4) || (is_array($custom4) && empty($custom4))) {
            unset($this->Custom4);
        } else {
            $this->Custom4 = $custom4;
        }
        return $this;
    }
    /**
     * Get Custom5 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail|null
     */
    public function getCustom5()
    {
        return isset($this->Custom5) ? $this->Custom5 : null;
    }
    /**
     * Set Custom5 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom5
     * @return \patest\StructType\Printing_AuxDataItem_ClientContacts
     */
    public function setCustom5(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom5 = null)
    {
        if (is_null($custom5) || (is_array($custom5) && empty($custom5))) {
            unset($this->Custom5);
        } else {
            $this->Custom5 = $custom5;
        }
        return $this;
    }
    /**
     * Get Custom6 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail|null
     */
    public function getCustom6()
    {
        return isset($this->Custom6) ? $this->Custom6 : null;
    }
    /**
     * Set Custom6 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom6
     * @return \patest\StructType\Printing_AuxDataItem_ClientContacts
     */
    public function setCustom6(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom6 = null)
    {
        if (is_null($custom6) || (is_array($custom6) && empty($custom6))) {
            unset($this->Custom6);
        } else {
            $this->Custom6 = $custom6;
        }
        return $this;
    }
    /**
     * Get Custom7 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail|null
     */
    public function getCustom7()
    {
        return isset($this->Custom7) ? $this->Custom7 : null;
    }
    /**
     * Set Custom7 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom7
     * @return \patest\StructType\Printing_AuxDataItem_ClientContacts
     */
    public function setCustom7(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom7 = null)
    {
        if (is_null($custom7) || (is_array($custom7) && empty($custom7))) {
            unset($this->Custom7);
        } else {
            $this->Custom7 = $custom7;
        }
        return $this;
    }
    /**
     * Get Custom8 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail|null
     */
    public function getCustom8()
    {
        return isset($this->Custom8) ? $this->Custom8 : null;
    }
    /**
     * Set Custom8 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom8
     * @return \patest\StructType\Printing_AuxDataItem_ClientContacts
     */
    public function setCustom8(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom8 = null)
    {
        if (is_null($custom8) || (is_array($custom8) && empty($custom8))) {
            unset($this->Custom8);
        } else {
            $this->Custom8 = $custom8;
        }
        return $this;
    }
    /**
     * Get Custom9 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail|null
     */
    public function getCustom9()
    {
        return isset($this->Custom9) ? $this->Custom9 : null;
    }
    /**
     * Set Custom9 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom9
     * @return \patest\StructType\Printing_AuxDataItem_ClientContacts
     */
    public function setCustom9(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $custom9 = null)
    {
        if (is_null($custom9) || (is_array($custom9) && empty($custom9))) {
            unset($this->Custom9);
        } else {
            $this->Custom9 = $custom9;
        }
        return $this;
    }
    /**
     * Get Email 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail|null
     */
    public function getEmail()
    {
        return isset($this->Email) ? $this->Email : null;
    }
    /**
     * Set Email 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail $email
     * @return \patest\StructType\Printing_AuxDataItem_ClientContacts
     */
    public function setEmail(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $email = null)
    {
        if (is_null($email) || (is_array($email) && empty($email))) {
            unset($this->Email);
        } else {
            $this->Email = $email;
        }
        return $this;
    }
    /**
     * Get Fax 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail|null
     */
    public function getFax()
    {
        return isset($this->Fax) ? $this->Fax : null;
    }
    /**
     * Set Fax 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail $fax
     * @return \patest\StructType\Printing_AuxDataItem_ClientContacts
     */
    public function setFax(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $fax = null)
    {
        if (is_null($fax) || (is_array($fax) && empty($fax))) {
            unset($this->Fax);
        } else {
            $this->Fax = $fax;
        }
        return $this;
    }
    /**
     * Get HomePhone 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail|null
     */
    public function getHomePhone()
    {
        return isset($this->HomePhone) ? $this->HomePhone : null;
    }
    /**
     * Set HomePhone 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail $homePhone
     * @return \patest\StructType\Printing_AuxDataItem_ClientContacts
     */
    public function setHomePhone(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $homePhone = null)
    {
        if (is_null($homePhone) || (is_array($homePhone) && empty($homePhone))) {
            unset($this->HomePhone);
        } else {
            $this->HomePhone = $homePhone;
        }
        return $this;
    }
    /**
     * Get MobilePhone 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail|null
     */
    public function getMobilePhone()
    {
        return isset($this->MobilePhone) ? $this->MobilePhone : null;
    }
    /**
     * Set MobilePhone 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail $mobilePhone
     * @return \patest\StructType\Printing_AuxDataItem_ClientContacts
     */
    public function setMobilePhone(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $mobilePhone = null)
    {
        if (is_null($mobilePhone) || (is_array($mobilePhone) && empty($mobilePhone))) {
            unset($this->MobilePhone);
        } else {
            $this->MobilePhone = $mobilePhone;
        }
        return $this;
    }
    /**
     * Get WebSite 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail|null
     */
    public function getWebSite()
    {
        return isset($this->WebSite) ? $this->WebSite : null;
    }
    /**
     * Set WebSite 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 \patest\StructType\Printing_AuxDataItem_ClientContactDetail $webSite
     * @return \patest\StructType\Printing_AuxDataItem_ClientContacts
     */
    public function setWebSite(\patest\StructType\Printing_AuxDataItem_ClientContactDetail $webSite = null)
    {
        if (is_null($webSite) || (is_array($webSite) && empty($webSite))) {
            unset($this->WebSite);
        } else {
            $this->WebSite = $webSite;
        }
        return $this;
    }
}
