<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for CurrencyRateSearchBasic StructType
 * @subpackage Structs
 */
class CurrencyRateSearchBasic extends SearchRecordBasic
{
    /**
     * The baseCurrency
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $baseCurrency;
    /**
     * The effectiveDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDateField
     */
    public $effectiveDate;
    /**
     * The exchangeRate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $exchangeRate;
    /**
     * 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 transactionCurrency
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $transactionCurrency;
    /**
     * Constructor method for CurrencyRateSearchBasic
     * @uses CurrencyRateSearchBasic::setBaseCurrency()
     * @uses CurrencyRateSearchBasic::setEffectiveDate()
     * @uses CurrencyRateSearchBasic::setExchangeRate()
     * @uses CurrencyRateSearchBasic::setInternalId()
     * @uses CurrencyRateSearchBasic::setInternalIdNumber()
     * @uses CurrencyRateSearchBasic::setTransactionCurrency()
     * @param \StructType\SearchMultiSelectField $baseCurrency
     * @param \StructType\SearchDateField $effectiveDate
     * @param \StructType\SearchDoubleField $exchangeRate
     * @param \StructType\SearchMultiSelectField $internalId
     * @param \StructType\SearchLongField $internalIdNumber
     * @param \StructType\SearchMultiSelectField $transactionCurrency
     */
    public function __construct(\StructType\SearchMultiSelectField $baseCurrency = null, \StructType\SearchDateField $effectiveDate = null, \StructType\SearchDoubleField $exchangeRate = null, \StructType\SearchMultiSelectField $internalId = null, \StructType\SearchLongField $internalIdNumber = null, \StructType\SearchMultiSelectField $transactionCurrency = null)
    {
        $this
            ->setBaseCurrency($baseCurrency)
            ->setEffectiveDate($effectiveDate)
            ->setExchangeRate($exchangeRate)
            ->setInternalId($internalId)
            ->setInternalIdNumber($internalIdNumber)
            ->setTransactionCurrency($transactionCurrency);
    }
    /**
     * Get baseCurrency value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getBaseCurrency()
    {
        return $this->baseCurrency;
    }
    /**
     * Set baseCurrency value
     * @param \StructType\SearchMultiSelectField $baseCurrency
     * @return \StructType\CurrencyRateSearchBasic
     */
    public function setBaseCurrency(\StructType\SearchMultiSelectField $baseCurrency = null)
    {
        $this->baseCurrency = $baseCurrency;
        return $this;
    }
    /**
     * Get effectiveDate value
     * @return \StructType\SearchDateField|null
     */
    public function getEffectiveDate()
    {
        return $this->effectiveDate;
    }
    /**
     * Set effectiveDate value
     * @param \StructType\SearchDateField $effectiveDate
     * @return \StructType\CurrencyRateSearchBasic
     */
    public function setEffectiveDate(\StructType\SearchDateField $effectiveDate = null)
    {
        $this->effectiveDate = $effectiveDate;
        return $this;
    }
    /**
     * Get exchangeRate value
     * @return \StructType\SearchDoubleField|null
     */
    public function getExchangeRate()
    {
        return $this->exchangeRate;
    }
    /**
     * Set exchangeRate value
     * @param \StructType\SearchDoubleField $exchangeRate
     * @return \StructType\CurrencyRateSearchBasic
     */
    public function setExchangeRate(\StructType\SearchDoubleField $exchangeRate = null)
    {
        $this->exchangeRate = $exchangeRate;
        return $this;
    }
    /**
     * Get internalId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getInternalId()
    {
        return $this->internalId;
    }
    /**
     * Set internalId value
     * @param \StructType\SearchMultiSelectField $internalId
     * @return \StructType\CurrencyRateSearchBasic
     */
    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\CurrencyRateSearchBasic
     */
    public function setInternalIdNumber(\StructType\SearchLongField $internalIdNumber = null)
    {
        $this->internalIdNumber = $internalIdNumber;
        return $this;
    }
    /**
     * Get transactionCurrency value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getTransactionCurrency()
    {
        return $this->transactionCurrency;
    }
    /**
     * Set transactionCurrency value
     * @param \StructType\SearchMultiSelectField $transactionCurrency
     * @return \StructType\CurrencyRateSearchBasic
     */
    public function setTransactionCurrency(\StructType\SearchMultiSelectField $transactionCurrency = null)
    {
        $this->transactionCurrency = $transactionCurrency;
        return $this;
    }
}
