<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for AccountSearchBasic StructType
 * @subpackage Structs
 */
class AccountSearchBasic extends SearchRecordBasic
{
    /**
     * The accountingContext
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $accountingContext;
    /**
     * The balance
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $balance;
    /**
     * The cashFlowRateType
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchEnumMultiSelectField
     */
    public $cashFlowRateType;
    /**
     * The category1099Misc
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $category1099Misc;
    /**
     * The description
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $description;
    /**
     * 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 generalRateType
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchEnumMultiSelectField
     */
    public $generalRateType;
    /**
     * 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 isInactive
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchBooleanField
     */
    public $isInactive;
    /**
     * The legalName
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $legalName;
    /**
     * The locale
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchEnumMultiSelectField
     */
    public $locale;
    /**
     * The localizedLegalName
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $localizedLegalName;
    /**
     * The localizedName
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $localizedName;
    /**
     * The localizedNumber
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $localizedNumber;
    /**
     * The name
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $name;
    /**
     * The number
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $number;
    /**
     * The parent
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $parent;
    /**
     * The subsidiary
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $subsidiary;
    /**
     * The type
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchEnumMultiSelectField
     */
    public $type;
    /**
     * The customFieldList
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchCustomFieldList
     */
    public $customFieldList;
    /**
     * Constructor method for AccountSearchBasic
     * @uses AccountSearchBasic::setAccountingContext()
     * @uses AccountSearchBasic::setBalance()
     * @uses AccountSearchBasic::setCashFlowRateType()
     * @uses AccountSearchBasic::setCategory1099Misc()
     * @uses AccountSearchBasic::setDescription()
     * @uses AccountSearchBasic::setExternalId()
     * @uses AccountSearchBasic::setExternalIdString()
     * @uses AccountSearchBasic::setGeneralRateType()
     * @uses AccountSearchBasic::setInternalId()
     * @uses AccountSearchBasic::setInternalIdNumber()
     * @uses AccountSearchBasic::setIsInactive()
     * @uses AccountSearchBasic::setLegalName()
     * @uses AccountSearchBasic::setLocale()
     * @uses AccountSearchBasic::setLocalizedLegalName()
     * @uses AccountSearchBasic::setLocalizedName()
     * @uses AccountSearchBasic::setLocalizedNumber()
     * @uses AccountSearchBasic::setName()
     * @uses AccountSearchBasic::setNumber()
     * @uses AccountSearchBasic::setParent()
     * @uses AccountSearchBasic::setSubsidiary()
     * @uses AccountSearchBasic::setType()
     * @uses AccountSearchBasic::setCustomFieldList()
     * @param \StructType\SearchMultiSelectField $accountingContext
     * @param \StructType\SearchDoubleField $balance
     * @param \StructType\SearchEnumMultiSelectField $cashFlowRateType
     * @param \StructType\SearchMultiSelectField $category1099Misc
     * @param \StructType\SearchStringField $description
     * @param \StructType\SearchMultiSelectField $externalId
     * @param \StructType\SearchStringField $externalIdString
     * @param \StructType\SearchEnumMultiSelectField $generalRateType
     * @param \StructType\SearchMultiSelectField $internalId
     * @param \StructType\SearchLongField $internalIdNumber
     * @param \StructType\SearchBooleanField $isInactive
     * @param \StructType\SearchStringField $legalName
     * @param \StructType\SearchEnumMultiSelectField $locale
     * @param \StructType\SearchStringField $localizedLegalName
     * @param \StructType\SearchStringField $localizedName
     * @param \StructType\SearchStringField $localizedNumber
     * @param \StructType\SearchStringField $name
     * @param \StructType\SearchStringField $number
     * @param \StructType\SearchMultiSelectField $parent
     * @param \StructType\SearchMultiSelectField $subsidiary
     * @param \StructType\SearchEnumMultiSelectField $type
     * @param \StructType\SearchCustomFieldList $customFieldList
     */
    public function __construct(\StructType\SearchMultiSelectField $accountingContext = null, \StructType\SearchDoubleField $balance = null, \StructType\SearchEnumMultiSelectField $cashFlowRateType = null, \StructType\SearchMultiSelectField $category1099Misc = null, \StructType\SearchStringField $description = null, \StructType\SearchMultiSelectField $externalId = null, \StructType\SearchStringField $externalIdString = null, \StructType\SearchEnumMultiSelectField $generalRateType = null, \StructType\SearchMultiSelectField $internalId = null, \StructType\SearchLongField $internalIdNumber = null, \StructType\SearchBooleanField $isInactive = null, \StructType\SearchStringField $legalName = null, \StructType\SearchEnumMultiSelectField $locale = null, \StructType\SearchStringField $localizedLegalName = null, \StructType\SearchStringField $localizedName = null, \StructType\SearchStringField $localizedNumber = null, \StructType\SearchStringField $name = null, \StructType\SearchStringField $number = null, \StructType\SearchMultiSelectField $parent = null, \StructType\SearchMultiSelectField $subsidiary = null, \StructType\SearchEnumMultiSelectField $type = null, \StructType\SearchCustomFieldList $customFieldList = null)
    {
        $this
            ->setAccountingContext($accountingContext)
            ->setBalance($balance)
            ->setCashFlowRateType($cashFlowRateType)
            ->setCategory1099Misc($category1099Misc)
            ->setDescription($description)
            ->setExternalId($externalId)
            ->setExternalIdString($externalIdString)
            ->setGeneralRateType($generalRateType)
            ->setInternalId($internalId)
            ->setInternalIdNumber($internalIdNumber)
            ->setIsInactive($isInactive)
            ->setLegalName($legalName)
            ->setLocale($locale)
            ->setLocalizedLegalName($localizedLegalName)
            ->setLocalizedName($localizedName)
            ->setLocalizedNumber($localizedNumber)
            ->setName($name)
            ->setNumber($number)
            ->setParent($parent)
            ->setSubsidiary($subsidiary)
            ->setType($type)
            ->setCustomFieldList($customFieldList);
    }
    /**
     * Get accountingContext value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getAccountingContext()
    {
        return $this->accountingContext;
    }
    /**
     * Set accountingContext value
     * @param \StructType\SearchMultiSelectField $accountingContext
     * @return \StructType\AccountSearchBasic
     */
    public function setAccountingContext(\StructType\SearchMultiSelectField $accountingContext = null)
    {
        $this->accountingContext = $accountingContext;
        return $this;
    }
    /**
     * Get balance value
     * @return \StructType\SearchDoubleField|null
     */
    public function getBalance()
    {
        return $this->balance;
    }
    /**
     * Set balance value
     * @param \StructType\SearchDoubleField $balance
     * @return \StructType\AccountSearchBasic
     */
    public function setBalance(\StructType\SearchDoubleField $balance = null)
    {
        $this->balance = $balance;
        return $this;
    }
    /**
     * Get cashFlowRateType value
     * @return \StructType\SearchEnumMultiSelectField|null
     */
    public function getCashFlowRateType()
    {
        return $this->cashFlowRateType;
    }
    /**
     * Set cashFlowRateType value
     * @param \StructType\SearchEnumMultiSelectField $cashFlowRateType
     * @return \StructType\AccountSearchBasic
     */
    public function setCashFlowRateType(\StructType\SearchEnumMultiSelectField $cashFlowRateType = null)
    {
        $this->cashFlowRateType = $cashFlowRateType;
        return $this;
    }
    /**
     * Get category1099Misc value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getCategory1099Misc()
    {
        return $this->category1099Misc;
    }
    /**
     * Set category1099Misc value
     * @param \StructType\SearchMultiSelectField $category1099Misc
     * @return \StructType\AccountSearchBasic
     */
    public function setCategory1099Misc(\StructType\SearchMultiSelectField $category1099Misc = null)
    {
        $this->category1099Misc = $category1099Misc;
        return $this;
    }
    /**
     * Get description value
     * @return \StructType\SearchStringField|null
     */
    public function getDescription()
    {
        return $this->description;
    }
    /**
     * Set description value
     * @param \StructType\SearchStringField $description
     * @return \StructType\AccountSearchBasic
     */
    public function setDescription(\StructType\SearchStringField $description = null)
    {
        $this->description = $description;
        return $this;
    }
    /**
     * Get externalId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getExternalId()
    {
        return $this->externalId;
    }
    /**
     * Set externalId value
     * @param \StructType\SearchMultiSelectField $externalId
     * @return \StructType\AccountSearchBasic
     */
    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\AccountSearchBasic
     */
    public function setExternalIdString(\StructType\SearchStringField $externalIdString = null)
    {
        $this->externalIdString = $externalIdString;
        return $this;
    }
    /**
     * Get generalRateType value
     * @return \StructType\SearchEnumMultiSelectField|null
     */
    public function getGeneralRateType()
    {
        return $this->generalRateType;
    }
    /**
     * Set generalRateType value
     * @param \StructType\SearchEnumMultiSelectField $generalRateType
     * @return \StructType\AccountSearchBasic
     */
    public function setGeneralRateType(\StructType\SearchEnumMultiSelectField $generalRateType = null)
    {
        $this->generalRateType = $generalRateType;
        return $this;
    }
    /**
     * Get internalId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getInternalId()
    {
        return $this->internalId;
    }
    /**
     * Set internalId value
     * @param \StructType\SearchMultiSelectField $internalId
     * @return \StructType\AccountSearchBasic
     */
    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\AccountSearchBasic
     */
    public function setInternalIdNumber(\StructType\SearchLongField $internalIdNumber = null)
    {
        $this->internalIdNumber = $internalIdNumber;
        return $this;
    }
    /**
     * Get isInactive value
     * @return \StructType\SearchBooleanField|null
     */
    public function getIsInactive()
    {
        return $this->isInactive;
    }
    /**
     * Set isInactive value
     * @param \StructType\SearchBooleanField $isInactive
     * @return \StructType\AccountSearchBasic
     */
    public function setIsInactive(\StructType\SearchBooleanField $isInactive = null)
    {
        $this->isInactive = $isInactive;
        return $this;
    }
    /**
     * Get legalName value
     * @return \StructType\SearchStringField|null
     */
    public function getLegalName()
    {
        return $this->legalName;
    }
    /**
     * Set legalName value
     * @param \StructType\SearchStringField $legalName
     * @return \StructType\AccountSearchBasic
     */
    public function setLegalName(\StructType\SearchStringField $legalName = null)
    {
        $this->legalName = $legalName;
        return $this;
    }
    /**
     * Get locale value
     * @return \StructType\SearchEnumMultiSelectField|null
     */
    public function getLocale()
    {
        return $this->locale;
    }
    /**
     * Set locale value
     * @param \StructType\SearchEnumMultiSelectField $locale
     * @return \StructType\AccountSearchBasic
     */
    public function setLocale(\StructType\SearchEnumMultiSelectField $locale = null)
    {
        $this->locale = $locale;
        return $this;
    }
    /**
     * Get localizedLegalName value
     * @return \StructType\SearchStringField|null
     */
    public function getLocalizedLegalName()
    {
        return $this->localizedLegalName;
    }
    /**
     * Set localizedLegalName value
     * @param \StructType\SearchStringField $localizedLegalName
     * @return \StructType\AccountSearchBasic
     */
    public function setLocalizedLegalName(\StructType\SearchStringField $localizedLegalName = null)
    {
        $this->localizedLegalName = $localizedLegalName;
        return $this;
    }
    /**
     * Get localizedName value
     * @return \StructType\SearchStringField|null
     */
    public function getLocalizedName()
    {
        return $this->localizedName;
    }
    /**
     * Set localizedName value
     * @param \StructType\SearchStringField $localizedName
     * @return \StructType\AccountSearchBasic
     */
    public function setLocalizedName(\StructType\SearchStringField $localizedName = null)
    {
        $this->localizedName = $localizedName;
        return $this;
    }
    /**
     * Get localizedNumber value
     * @return \StructType\SearchStringField|null
     */
    public function getLocalizedNumber()
    {
        return $this->localizedNumber;
    }
    /**
     * Set localizedNumber value
     * @param \StructType\SearchStringField $localizedNumber
     * @return \StructType\AccountSearchBasic
     */
    public function setLocalizedNumber(\StructType\SearchStringField $localizedNumber = null)
    {
        $this->localizedNumber = $localizedNumber;
        return $this;
    }
    /**
     * Get name value
     * @return \StructType\SearchStringField|null
     */
    public function getName()
    {
        return $this->name;
    }
    /**
     * Set name value
     * @param \StructType\SearchStringField $name
     * @return \StructType\AccountSearchBasic
     */
    public function setName(\StructType\SearchStringField $name = null)
    {
        $this->name = $name;
        return $this;
    }
    /**
     * Get number value
     * @return \StructType\SearchStringField|null
     */
    public function getNumber()
    {
        return $this->number;
    }
    /**
     * Set number value
     * @param \StructType\SearchStringField $number
     * @return \StructType\AccountSearchBasic
     */
    public function setNumber(\StructType\SearchStringField $number = null)
    {
        $this->number = $number;
        return $this;
    }
    /**
     * Get parent value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getParent()
    {
        return $this->parent;
    }
    /**
     * Set parent value
     * @param \StructType\SearchMultiSelectField $parent
     * @return \StructType\AccountSearchBasic
     */
    public function setParent(\StructType\SearchMultiSelectField $parent = null)
    {
        $this->parent = $parent;
        return $this;
    }
    /**
     * Get subsidiary value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getSubsidiary()
    {
        return $this->subsidiary;
    }
    /**
     * Set subsidiary value
     * @param \StructType\SearchMultiSelectField $subsidiary
     * @return \StructType\AccountSearchBasic
     */
    public function setSubsidiary(\StructType\SearchMultiSelectField $subsidiary = null)
    {
        $this->subsidiary = $subsidiary;
        return $this;
    }
    /**
     * Get type value
     * @return \StructType\SearchEnumMultiSelectField|null
     */
    public function getType()
    {
        return $this->type;
    }
    /**
     * Set type value
     * @param \StructType\SearchEnumMultiSelectField $type
     * @return \StructType\AccountSearchBasic
     */
    public function setType(\StructType\SearchEnumMultiSelectField $type = null)
    {
        $this->type = $type;
        return $this;
    }
    /**
     * Get customFieldList value
     * @return \StructType\SearchCustomFieldList|null
     */
    public function getCustomFieldList()
    {
        return $this->customFieldList;
    }
    /**
     * Set customFieldList value
     * @param \StructType\SearchCustomFieldList $customFieldList
     * @return \StructType\AccountSearchBasic
     */
    public function setCustomFieldList(\StructType\SearchCustomFieldList $customFieldList = null)
    {
        $this->customFieldList = $customFieldList;
        return $this;
    }
}
