<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for TaxDetailSearchBasic StructType
 * @subpackage Structs
 */
class TaxDetailSearchBasic extends SearchRecordBasic
{
    /**
     * The account
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $account;
    /**
     * The lineNumber
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchLongField
     */
    public $lineNumber;
    /**
     * The taxAmount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $taxAmount;
    /**
     * The taxBasis
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $taxBasis;
    /**
     * The taxCode
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $taxCode;
    /**
     * The taxRate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $taxRate;
    /**
     * The taxType
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $taxType;
    /**
     * The tranId
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $tranId;
    /**
     * Constructor method for TaxDetailSearchBasic
     * @uses TaxDetailSearchBasic::setAccount()
     * @uses TaxDetailSearchBasic::setLineNumber()
     * @uses TaxDetailSearchBasic::setTaxAmount()
     * @uses TaxDetailSearchBasic::setTaxBasis()
     * @uses TaxDetailSearchBasic::setTaxCode()
     * @uses TaxDetailSearchBasic::setTaxRate()
     * @uses TaxDetailSearchBasic::setTaxType()
     * @uses TaxDetailSearchBasic::setTranId()
     * @param \StructType\SearchMultiSelectField $account
     * @param \StructType\SearchLongField $lineNumber
     * @param \StructType\SearchDoubleField $taxAmount
     * @param \StructType\SearchDoubleField $taxBasis
     * @param \StructType\SearchMultiSelectField $taxCode
     * @param \StructType\SearchDoubleField $taxRate
     * @param \StructType\SearchMultiSelectField $taxType
     * @param \StructType\SearchMultiSelectField $tranId
     */
    public function __construct(\StructType\SearchMultiSelectField $account = null, \StructType\SearchLongField $lineNumber = null, \StructType\SearchDoubleField $taxAmount = null, \StructType\SearchDoubleField $taxBasis = null, \StructType\SearchMultiSelectField $taxCode = null, \StructType\SearchDoubleField $taxRate = null, \StructType\SearchMultiSelectField $taxType = null, \StructType\SearchMultiSelectField $tranId = null)
    {
        $this
            ->setAccount($account)
            ->setLineNumber($lineNumber)
            ->setTaxAmount($taxAmount)
            ->setTaxBasis($taxBasis)
            ->setTaxCode($taxCode)
            ->setTaxRate($taxRate)
            ->setTaxType($taxType)
            ->setTranId($tranId);
    }
    /**
     * Get account value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getAccount()
    {
        return $this->account;
    }
    /**
     * Set account value
     * @param \StructType\SearchMultiSelectField $account
     * @return \StructType\TaxDetailSearchBasic
     */
    public function setAccount(\StructType\SearchMultiSelectField $account = null)
    {
        $this->account = $account;
        return $this;
    }
    /**
     * Get lineNumber value
     * @return \StructType\SearchLongField|null
     */
    public function getLineNumber()
    {
        return $this->lineNumber;
    }
    /**
     * Set lineNumber value
     * @param \StructType\SearchLongField $lineNumber
     * @return \StructType\TaxDetailSearchBasic
     */
    public function setLineNumber(\StructType\SearchLongField $lineNumber = null)
    {
        $this->lineNumber = $lineNumber;
        return $this;
    }
    /**
     * Get taxAmount value
     * @return \StructType\SearchDoubleField|null
     */
    public function getTaxAmount()
    {
        return $this->taxAmount;
    }
    /**
     * Set taxAmount value
     * @param \StructType\SearchDoubleField $taxAmount
     * @return \StructType\TaxDetailSearchBasic
     */
    public function setTaxAmount(\StructType\SearchDoubleField $taxAmount = null)
    {
        $this->taxAmount = $taxAmount;
        return $this;
    }
    /**
     * Get taxBasis value
     * @return \StructType\SearchDoubleField|null
     */
    public function getTaxBasis()
    {
        return $this->taxBasis;
    }
    /**
     * Set taxBasis value
     * @param \StructType\SearchDoubleField $taxBasis
     * @return \StructType\TaxDetailSearchBasic
     */
    public function setTaxBasis(\StructType\SearchDoubleField $taxBasis = null)
    {
        $this->taxBasis = $taxBasis;
        return $this;
    }
    /**
     * Get taxCode value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getTaxCode()
    {
        return $this->taxCode;
    }
    /**
     * Set taxCode value
     * @param \StructType\SearchMultiSelectField $taxCode
     * @return \StructType\TaxDetailSearchBasic
     */
    public function setTaxCode(\StructType\SearchMultiSelectField $taxCode = null)
    {
        $this->taxCode = $taxCode;
        return $this;
    }
    /**
     * Get taxRate value
     * @return \StructType\SearchDoubleField|null
     */
    public function getTaxRate()
    {
        return $this->taxRate;
    }
    /**
     * Set taxRate value
     * @param \StructType\SearchDoubleField $taxRate
     * @return \StructType\TaxDetailSearchBasic
     */
    public function setTaxRate(\StructType\SearchDoubleField $taxRate = null)
    {
        $this->taxRate = $taxRate;
        return $this;
    }
    /**
     * Get taxType value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getTaxType()
    {
        return $this->taxType;
    }
    /**
     * Set taxType value
     * @param \StructType\SearchMultiSelectField $taxType
     * @return \StructType\TaxDetailSearchBasic
     */
    public function setTaxType(\StructType\SearchMultiSelectField $taxType = null)
    {
        $this->taxType = $taxType;
        return $this;
    }
    /**
     * Get tranId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getTranId()
    {
        return $this->tranId;
    }
    /**
     * Set tranId value
     * @param \StructType\SearchMultiSelectField $tranId
     * @return \StructType\TaxDetailSearchBasic
     */
    public function setTranId(\StructType\SearchMultiSelectField $tranId = null)
    {
        $this->tranId = $tranId;
        return $this;
    }
}
