<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for EntityTaxRegistrationSearchBasic StructType
 * @subpackage Structs
 */
class EntityTaxRegistrationSearchBasic extends SearchRecordBasic
{
    /**
     * The address
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $address;
    /**
     * The id
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchLongField
     */
    public $id;
    /**
     * The nexusCountry
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchEnumMultiSelectField
     */
    public $nexusCountry;
    /**
     * The taxRegistrationNumber
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $taxRegistrationNumber;
    /**
     * Constructor method for EntityTaxRegistrationSearchBasic
     * @uses EntityTaxRegistrationSearchBasic::setAddress()
     * @uses EntityTaxRegistrationSearchBasic::setId()
     * @uses EntityTaxRegistrationSearchBasic::setNexusCountry()
     * @uses EntityTaxRegistrationSearchBasic::setTaxRegistrationNumber()
     * @param \StructType\SearchMultiSelectField $address
     * @param \StructType\SearchLongField $id
     * @param \StructType\SearchEnumMultiSelectField $nexusCountry
     * @param \StructType\SearchStringField $taxRegistrationNumber
     */
    public function __construct(\StructType\SearchMultiSelectField $address = null, \StructType\SearchLongField $id = null, \StructType\SearchEnumMultiSelectField $nexusCountry = null, \StructType\SearchStringField $taxRegistrationNumber = null)
    {
        $this
            ->setAddress($address)
            ->setId($id)
            ->setNexusCountry($nexusCountry)
            ->setTaxRegistrationNumber($taxRegistrationNumber);
    }
    /**
     * Get address value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getAddress()
    {
        return $this->address;
    }
    /**
     * Set address value
     * @param \StructType\SearchMultiSelectField $address
     * @return \StructType\EntityTaxRegistrationSearchBasic
     */
    public function setAddress(\StructType\SearchMultiSelectField $address = null)
    {
        $this->address = $address;
        return $this;
    }
    /**
     * Get id value
     * @return \StructType\SearchLongField|null
     */
    public function getId()
    {
        return $this->id;
    }
    /**
     * Set id value
     * @param \StructType\SearchLongField $id
     * @return \StructType\EntityTaxRegistrationSearchBasic
     */
    public function setId(\StructType\SearchLongField $id = null)
    {
        $this->id = $id;
        return $this;
    }
    /**
     * Get nexusCountry value
     * @return \StructType\SearchEnumMultiSelectField|null
     */
    public function getNexusCountry()
    {
        return $this->nexusCountry;
    }
    /**
     * Set nexusCountry value
     * @param \StructType\SearchEnumMultiSelectField $nexusCountry
     * @return \StructType\EntityTaxRegistrationSearchBasic
     */
    public function setNexusCountry(\StructType\SearchEnumMultiSelectField $nexusCountry = null)
    {
        $this->nexusCountry = $nexusCountry;
        return $this;
    }
    /**
     * Get taxRegistrationNumber value
     * @return \StructType\SearchStringField|null
     */
    public function getTaxRegistrationNumber()
    {
        return $this->taxRegistrationNumber;
    }
    /**
     * Set taxRegistrationNumber value
     * @param \StructType\SearchStringField $taxRegistrationNumber
     * @return \StructType\EntityTaxRegistrationSearchBasic
     */
    public function setTaxRegistrationNumber(\StructType\SearchStringField $taxRegistrationNumber = null)
    {
        $this->taxRegistrationNumber = $taxRegistrationNumber;
        return $this;
    }
}
