<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for AddressSearchBasic StructType
 * @subpackage Structs
 */
class AddressSearchBasic extends SearchRecordBasic
{
    /**
     * The address
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $address;
    /**
     * The address1
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $address1;
    /**
     * The address2
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $address2;
    /**
     * The address3
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $address3;
    /**
     * The addressee
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $addressee;
    /**
     * The attention
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $attention;
    /**
     * The city
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $city;
    /**
     * The country
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchEnumMultiSelectField
     */
    public $country;
    /**
     * The countryCode
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $countryCode;
    /**
     * The externalId
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $externalId;
    /**
     * The externalIdString
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $externalIdString;
    /**
     * The internalId
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $internalId;
    /**
     * The internalIdNumber
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchLongField
     */
    public $internalIdNumber;
    /**
     * The override
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchBooleanField
     */
    public $override;
    /**
     * The phone
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $phone;
    /**
     * The state
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $state;
    /**
     * The zip
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $zip;
    /**
     * The customFieldList
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchCustomFieldList
     */
    public $customFieldList;
    /**
     * Constructor method for AddressSearchBasic
     * @uses AddressSearchBasic::setAddress()
     * @uses AddressSearchBasic::setAddress1()
     * @uses AddressSearchBasic::setAddress2()
     * @uses AddressSearchBasic::setAddress3()
     * @uses AddressSearchBasic::setAddressee()
     * @uses AddressSearchBasic::setAttention()
     * @uses AddressSearchBasic::setCity()
     * @uses AddressSearchBasic::setCountry()
     * @uses AddressSearchBasic::setCountryCode()
     * @uses AddressSearchBasic::setExternalId()
     * @uses AddressSearchBasic::setExternalIdString()
     * @uses AddressSearchBasic::setInternalId()
     * @uses AddressSearchBasic::setInternalIdNumber()
     * @uses AddressSearchBasic::setOverride()
     * @uses AddressSearchBasic::setPhone()
     * @uses AddressSearchBasic::setState()
     * @uses AddressSearchBasic::setZip()
     * @uses AddressSearchBasic::setCustomFieldList()
     * @param \StructType\SearchStringField $address
     * @param \StructType\SearchStringField $address1
     * @param \StructType\SearchStringField $address2
     * @param \StructType\SearchStringField $address3
     * @param \StructType\SearchStringField $addressee
     * @param \StructType\SearchStringField $attention
     * @param \StructType\SearchStringField $city
     * @param \StructType\SearchEnumMultiSelectField $country
     * @param \StructType\SearchStringField $countryCode
     * @param \StructType\SearchMultiSelectField $externalId
     * @param \StructType\SearchStringField $externalIdString
     * @param \StructType\SearchMultiSelectField $internalId
     * @param \StructType\SearchLongField $internalIdNumber
     * @param \StructType\SearchBooleanField $override
     * @param \StructType\SearchStringField $phone
     * @param \StructType\SearchStringField $state
     * @param \StructType\SearchStringField $zip
     * @param \StructType\SearchCustomFieldList $customFieldList
     */
    public function __construct(\StructType\SearchStringField $address = null, \StructType\SearchStringField $address1 = null, \StructType\SearchStringField $address2 = null, \StructType\SearchStringField $address3 = null, \StructType\SearchStringField $addressee = null, \StructType\SearchStringField $attention = null, \StructType\SearchStringField $city = null, \StructType\SearchEnumMultiSelectField $country = null, \StructType\SearchStringField $countryCode = null, \StructType\SearchMultiSelectField $externalId = null, \StructType\SearchStringField $externalIdString = null, \StructType\SearchMultiSelectField $internalId = null, \StructType\SearchLongField $internalIdNumber = null, \StructType\SearchBooleanField $override = null, \StructType\SearchStringField $phone = null, \StructType\SearchStringField $state = null, \StructType\SearchStringField $zip = null, \StructType\SearchCustomFieldList $customFieldList = null)
    {
        $this
            ->setAddress($address)
            ->setAddress1($address1)
            ->setAddress2($address2)
            ->setAddress3($address3)
            ->setAddressee($addressee)
            ->setAttention($attention)
            ->setCity($city)
            ->setCountry($country)
            ->setCountryCode($countryCode)
            ->setExternalId($externalId)
            ->setExternalIdString($externalIdString)
            ->setInternalId($internalId)
            ->setInternalIdNumber($internalIdNumber)
            ->setOverride($override)
            ->setPhone($phone)
            ->setState($state)
            ->setZip($zip)
            ->setCustomFieldList($customFieldList);
    }
    /**
     * Get address value
     * @return \StructType\SearchStringField|null
     */
    public function getAddress()
    {
        return $this->address;
    }
    /**
     * Set address value
     * @param \StructType\SearchStringField $address
     * @return \StructType\AddressSearchBasic
     */
    public function setAddress(\StructType\SearchStringField $address = null)
    {
        $this->address = $address;
        return $this;
    }
    /**
     * Get address1 value
     * @return \StructType\SearchStringField|null
     */
    public function getAddress1()
    {
        return $this->address1;
    }
    /**
     * Set address1 value
     * @param \StructType\SearchStringField $address1
     * @return \StructType\AddressSearchBasic
     */
    public function setAddress1(\StructType\SearchStringField $address1 = null)
    {
        $this->address1 = $address1;
        return $this;
    }
    /**
     * Get address2 value
     * @return \StructType\SearchStringField|null
     */
    public function getAddress2()
    {
        return $this->address2;
    }
    /**
     * Set address2 value
     * @param \StructType\SearchStringField $address2
     * @return \StructType\AddressSearchBasic
     */
    public function setAddress2(\StructType\SearchStringField $address2 = null)
    {
        $this->address2 = $address2;
        return $this;
    }
    /**
     * Get address3 value
     * @return \StructType\SearchStringField|null
     */
    public function getAddress3()
    {
        return $this->address3;
    }
    /**
     * Set address3 value
     * @param \StructType\SearchStringField $address3
     * @return \StructType\AddressSearchBasic
     */
    public function setAddress3(\StructType\SearchStringField $address3 = null)
    {
        $this->address3 = $address3;
        return $this;
    }
    /**
     * Get addressee value
     * @return \StructType\SearchStringField|null
     */
    public function getAddressee()
    {
        return $this->addressee;
    }
    /**
     * Set addressee value
     * @param \StructType\SearchStringField $addressee
     * @return \StructType\AddressSearchBasic
     */
    public function setAddressee(\StructType\SearchStringField $addressee = null)
    {
        $this->addressee = $addressee;
        return $this;
    }
    /**
     * Get attention value
     * @return \StructType\SearchStringField|null
     */
    public function getAttention()
    {
        return $this->attention;
    }
    /**
     * Set attention value
     * @param \StructType\SearchStringField $attention
     * @return \StructType\AddressSearchBasic
     */
    public function setAttention(\StructType\SearchStringField $attention = null)
    {
        $this->attention = $attention;
        return $this;
    }
    /**
     * Get city value
     * @return \StructType\SearchStringField|null
     */
    public function getCity()
    {
        return $this->city;
    }
    /**
     * Set city value
     * @param \StructType\SearchStringField $city
     * @return \StructType\AddressSearchBasic
     */
    public function setCity(\StructType\SearchStringField $city = null)
    {
        $this->city = $city;
        return $this;
    }
    /**
     * Get country value
     * @return \StructType\SearchEnumMultiSelectField|null
     */
    public function getCountry()
    {
        return $this->country;
    }
    /**
     * Set country value
     * @param \StructType\SearchEnumMultiSelectField $country
     * @return \StructType\AddressSearchBasic
     */
    public function setCountry(\StructType\SearchEnumMultiSelectField $country = null)
    {
        $this->country = $country;
        return $this;
    }
    /**
     * Get countryCode value
     * @return \StructType\SearchStringField|null
     */
    public function getCountryCode()
    {
        return $this->countryCode;
    }
    /**
     * Set countryCode value
     * @param \StructType\SearchStringField $countryCode
     * @return \StructType\AddressSearchBasic
     */
    public function setCountryCode(\StructType\SearchStringField $countryCode = null)
    {
        $this->countryCode = $countryCode;
        return $this;
    }
    /**
     * Get externalId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getExternalId()
    {
        return $this->externalId;
    }
    /**
     * Set externalId value
     * @param \StructType\SearchMultiSelectField $externalId
     * @return \StructType\AddressSearchBasic
     */
    public function setExternalId(\StructType\SearchMultiSelectField $externalId = null)
    {
        $this->externalId = $externalId;
        return $this;
    }
    /**
     * Get externalIdString value
     * @return \StructType\SearchStringField|null
     */
    public function getExternalIdString()
    {
        return $this->externalIdString;
    }
    /**
     * Set externalIdString value
     * @param \StructType\SearchStringField $externalIdString
     * @return \StructType\AddressSearchBasic
     */
    public function setExternalIdString(\StructType\SearchStringField $externalIdString = null)
    {
        $this->externalIdString = $externalIdString;
        return $this;
    }
    /**
     * Get internalId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getInternalId()
    {
        return $this->internalId;
    }
    /**
     * Set internalId value
     * @param \StructType\SearchMultiSelectField $internalId
     * @return \StructType\AddressSearchBasic
     */
    public function setInternalId(\StructType\SearchMultiSelectField $internalId = null)
    {
        $this->internalId = $internalId;
        return $this;
    }
    /**
     * Get internalIdNumber value
     * @return \StructType\SearchLongField|null
     */
    public function getInternalIdNumber()
    {
        return $this->internalIdNumber;
    }
    /**
     * Set internalIdNumber value
     * @param \StructType\SearchLongField $internalIdNumber
     * @return \StructType\AddressSearchBasic
     */
    public function setInternalIdNumber(\StructType\SearchLongField $internalIdNumber = null)
    {
        $this->internalIdNumber = $internalIdNumber;
        return $this;
    }
    /**
     * Get override value
     * @return \StructType\SearchBooleanField|null
     */
    public function getOverride()
    {
        return $this->override;
    }
    /**
     * Set override value
     * @param \StructType\SearchBooleanField $override
     * @return \StructType\AddressSearchBasic
     */
    public function setOverride(\StructType\SearchBooleanField $override = null)
    {
        $this->override = $override;
        return $this;
    }
    /**
     * Get phone value
     * @return \StructType\SearchStringField|null
     */
    public function getPhone()
    {
        return $this->phone;
    }
    /**
     * Set phone value
     * @param \StructType\SearchStringField $phone
     * @return \StructType\AddressSearchBasic
     */
    public function setPhone(\StructType\SearchStringField $phone = null)
    {
        $this->phone = $phone;
        return $this;
    }
    /**
     * Get state value
     * @return \StructType\SearchStringField|null
     */
    public function getState()
    {
        return $this->state;
    }
    /**
     * Set state value
     * @param \StructType\SearchStringField $state
     * @return \StructType\AddressSearchBasic
     */
    public function setState(\StructType\SearchStringField $state = null)
    {
        $this->state = $state;
        return $this;
    }
    /**
     * Get zip value
     * @return \StructType\SearchStringField|null
     */
    public function getZip()
    {
        return $this->zip;
    }
    /**
     * Set zip value
     * @param \StructType\SearchStringField $zip
     * @return \StructType\AddressSearchBasic
     */
    public function setZip(\StructType\SearchStringField $zip = null)
    {
        $this->zip = $zip;
        return $this;
    }
    /**
     * Get customFieldList value
     * @return \StructType\SearchCustomFieldList|null
     */
    public function getCustomFieldList()
    {
        return $this->customFieldList;
    }
    /**
     * Set customFieldList value
     * @param \StructType\SearchCustomFieldList $customFieldList
     * @return \StructType\AddressSearchBasic
     */
    public function setCustomFieldList(\StructType\SearchCustomFieldList $customFieldList = null)
    {
        $this->customFieldList = $customFieldList;
        return $this;
    }
}
