<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for FairValuePriceSearchBasic StructType
 * @subpackage Structs
 */
class FairValuePriceSearchBasic extends SearchRecordBasic
{
    /**
     * The currency
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $currency;
    /**
     * The endDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDateField
     */
    public $endDate;
    /**
     * 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 fairValue
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $fairValue;
    /**
     * The fairValueFormula
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $fairValueFormula;
    /**
     * The fairValueRangePolicy
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchEnumMultiSelectField
     */
    public $fairValueRangePolicy;
    /**
     * The highValue
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $highValue;
    /**
     * The highValuePercent
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $highValuePercent;
    /**
     * 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 isVsoePrice
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchBooleanField
     */
    public $isVsoePrice;
    /**
     * The item
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $item;
    /**
     * The itemRevenueCategory
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $itemRevenueCategory;
    /**
     * The lowValue
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $lowValue;
    /**
     * The lowValuePercent
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $lowValuePercent;
    /**
     * The startDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDateField
     */
    public $startDate;
    /**
     * The unitsType
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $unitsType;
    /**
     * Constructor method for FairValuePriceSearchBasic
     * @uses FairValuePriceSearchBasic::setCurrency()
     * @uses FairValuePriceSearchBasic::setEndDate()
     * @uses FairValuePriceSearchBasic::setExternalId()
     * @uses FairValuePriceSearchBasic::setExternalIdString()
     * @uses FairValuePriceSearchBasic::setFairValue()
     * @uses FairValuePriceSearchBasic::setFairValueFormula()
     * @uses FairValuePriceSearchBasic::setFairValueRangePolicy()
     * @uses FairValuePriceSearchBasic::setHighValue()
     * @uses FairValuePriceSearchBasic::setHighValuePercent()
     * @uses FairValuePriceSearchBasic::setInternalId()
     * @uses FairValuePriceSearchBasic::setInternalIdNumber()
     * @uses FairValuePriceSearchBasic::setIsVsoePrice()
     * @uses FairValuePriceSearchBasic::setItem()
     * @uses FairValuePriceSearchBasic::setItemRevenueCategory()
     * @uses FairValuePriceSearchBasic::setLowValue()
     * @uses FairValuePriceSearchBasic::setLowValuePercent()
     * @uses FairValuePriceSearchBasic::setStartDate()
     * @uses FairValuePriceSearchBasic::setUnitsType()
     * @param \StructType\SearchMultiSelectField $currency
     * @param \StructType\SearchDateField $endDate
     * @param \StructType\SearchMultiSelectField $externalId
     * @param \StructType\SearchStringField $externalIdString
     * @param \StructType\SearchDoubleField $fairValue
     * @param \StructType\SearchMultiSelectField $fairValueFormula
     * @param \StructType\SearchEnumMultiSelectField $fairValueRangePolicy
     * @param \StructType\SearchDoubleField $highValue
     * @param \StructType\SearchDoubleField $highValuePercent
     * @param \StructType\SearchMultiSelectField $internalId
     * @param \StructType\SearchLongField $internalIdNumber
     * @param \StructType\SearchBooleanField $isVsoePrice
     * @param \StructType\SearchMultiSelectField $item
     * @param \StructType\SearchMultiSelectField $itemRevenueCategory
     * @param \StructType\SearchDoubleField $lowValue
     * @param \StructType\SearchDoubleField $lowValuePercent
     * @param \StructType\SearchDateField $startDate
     * @param \StructType\SearchMultiSelectField $unitsType
     */
    public function __construct(\StructType\SearchMultiSelectField $currency = null, \StructType\SearchDateField $endDate = null, \StructType\SearchMultiSelectField $externalId = null, \StructType\SearchStringField $externalIdString = null, \StructType\SearchDoubleField $fairValue = null, \StructType\SearchMultiSelectField $fairValueFormula = null, \StructType\SearchEnumMultiSelectField $fairValueRangePolicy = null, \StructType\SearchDoubleField $highValue = null, \StructType\SearchDoubleField $highValuePercent = null, \StructType\SearchMultiSelectField $internalId = null, \StructType\SearchLongField $internalIdNumber = null, \StructType\SearchBooleanField $isVsoePrice = null, \StructType\SearchMultiSelectField $item = null, \StructType\SearchMultiSelectField $itemRevenueCategory = null, \StructType\SearchDoubleField $lowValue = null, \StructType\SearchDoubleField $lowValuePercent = null, \StructType\SearchDateField $startDate = null, \StructType\SearchMultiSelectField $unitsType = null)
    {
        $this
            ->setCurrency($currency)
            ->setEndDate($endDate)
            ->setExternalId($externalId)
            ->setExternalIdString($externalIdString)
            ->setFairValue($fairValue)
            ->setFairValueFormula($fairValueFormula)
            ->setFairValueRangePolicy($fairValueRangePolicy)
            ->setHighValue($highValue)
            ->setHighValuePercent($highValuePercent)
            ->setInternalId($internalId)
            ->setInternalIdNumber($internalIdNumber)
            ->setIsVsoePrice($isVsoePrice)
            ->setItem($item)
            ->setItemRevenueCategory($itemRevenueCategory)
            ->setLowValue($lowValue)
            ->setLowValuePercent($lowValuePercent)
            ->setStartDate($startDate)
            ->setUnitsType($unitsType);
    }
    /**
     * Get currency value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getCurrency()
    {
        return $this->currency;
    }
    /**
     * Set currency value
     * @param \StructType\SearchMultiSelectField $currency
     * @return \StructType\FairValuePriceSearchBasic
     */
    public function setCurrency(\StructType\SearchMultiSelectField $currency = null)
    {
        $this->currency = $currency;
        return $this;
    }
    /**
     * Get endDate value
     * @return \StructType\SearchDateField|null
     */
    public function getEndDate()
    {
        return $this->endDate;
    }
    /**
     * Set endDate value
     * @param \StructType\SearchDateField $endDate
     * @return \StructType\FairValuePriceSearchBasic
     */
    public function setEndDate(\StructType\SearchDateField $endDate = null)
    {
        $this->endDate = $endDate;
        return $this;
    }
    /**
     * Get externalId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getExternalId()
    {
        return $this->externalId;
    }
    /**
     * Set externalId value
     * @param \StructType\SearchMultiSelectField $externalId
     * @return \StructType\FairValuePriceSearchBasic
     */
    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\FairValuePriceSearchBasic
     */
    public function setExternalIdString(\StructType\SearchStringField $externalIdString = null)
    {
        $this->externalIdString = $externalIdString;
        return $this;
    }
    /**
     * Get fairValue value
     * @return \StructType\SearchDoubleField|null
     */
    public function getFairValue()
    {
        return $this->fairValue;
    }
    /**
     * Set fairValue value
     * @param \StructType\SearchDoubleField $fairValue
     * @return \StructType\FairValuePriceSearchBasic
     */
    public function setFairValue(\StructType\SearchDoubleField $fairValue = null)
    {
        $this->fairValue = $fairValue;
        return $this;
    }
    /**
     * Get fairValueFormula value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getFairValueFormula()
    {
        return $this->fairValueFormula;
    }
    /**
     * Set fairValueFormula value
     * @param \StructType\SearchMultiSelectField $fairValueFormula
     * @return \StructType\FairValuePriceSearchBasic
     */
    public function setFairValueFormula(\StructType\SearchMultiSelectField $fairValueFormula = null)
    {
        $this->fairValueFormula = $fairValueFormula;
        return $this;
    }
    /**
     * Get fairValueRangePolicy value
     * @return \StructType\SearchEnumMultiSelectField|null
     */
    public function getFairValueRangePolicy()
    {
        return $this->fairValueRangePolicy;
    }
    /**
     * Set fairValueRangePolicy value
     * @param \StructType\SearchEnumMultiSelectField $fairValueRangePolicy
     * @return \StructType\FairValuePriceSearchBasic
     */
    public function setFairValueRangePolicy(\StructType\SearchEnumMultiSelectField $fairValueRangePolicy = null)
    {
        $this->fairValueRangePolicy = $fairValueRangePolicy;
        return $this;
    }
    /**
     * Get highValue value
     * @return \StructType\SearchDoubleField|null
     */
    public function getHighValue()
    {
        return $this->highValue;
    }
    /**
     * Set highValue value
     * @param \StructType\SearchDoubleField $highValue
     * @return \StructType\FairValuePriceSearchBasic
     */
    public function setHighValue(\StructType\SearchDoubleField $highValue = null)
    {
        $this->highValue = $highValue;
        return $this;
    }
    /**
     * Get highValuePercent value
     * @return \StructType\SearchDoubleField|null
     */
    public function getHighValuePercent()
    {
        return $this->highValuePercent;
    }
    /**
     * Set highValuePercent value
     * @param \StructType\SearchDoubleField $highValuePercent
     * @return \StructType\FairValuePriceSearchBasic
     */
    public function setHighValuePercent(\StructType\SearchDoubleField $highValuePercent = null)
    {
        $this->highValuePercent = $highValuePercent;
        return $this;
    }
    /**
     * Get internalId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getInternalId()
    {
        return $this->internalId;
    }
    /**
     * Set internalId value
     * @param \StructType\SearchMultiSelectField $internalId
     * @return \StructType\FairValuePriceSearchBasic
     */
    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\FairValuePriceSearchBasic
     */
    public function setInternalIdNumber(\StructType\SearchLongField $internalIdNumber = null)
    {
        $this->internalIdNumber = $internalIdNumber;
        return $this;
    }
    /**
     * Get isVsoePrice value
     * @return \StructType\SearchBooleanField|null
     */
    public function getIsVsoePrice()
    {
        return $this->isVsoePrice;
    }
    /**
     * Set isVsoePrice value
     * @param \StructType\SearchBooleanField $isVsoePrice
     * @return \StructType\FairValuePriceSearchBasic
     */
    public function setIsVsoePrice(\StructType\SearchBooleanField $isVsoePrice = null)
    {
        $this->isVsoePrice = $isVsoePrice;
        return $this;
    }
    /**
     * Get item value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getItem()
    {
        return $this->item;
    }
    /**
     * Set item value
     * @param \StructType\SearchMultiSelectField $item
     * @return \StructType\FairValuePriceSearchBasic
     */
    public function setItem(\StructType\SearchMultiSelectField $item = null)
    {
        $this->item = $item;
        return $this;
    }
    /**
     * Get itemRevenueCategory value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getItemRevenueCategory()
    {
        return $this->itemRevenueCategory;
    }
    /**
     * Set itemRevenueCategory value
     * @param \StructType\SearchMultiSelectField $itemRevenueCategory
     * @return \StructType\FairValuePriceSearchBasic
     */
    public function setItemRevenueCategory(\StructType\SearchMultiSelectField $itemRevenueCategory = null)
    {
        $this->itemRevenueCategory = $itemRevenueCategory;
        return $this;
    }
    /**
     * Get lowValue value
     * @return \StructType\SearchDoubleField|null
     */
    public function getLowValue()
    {
        return $this->lowValue;
    }
    /**
     * Set lowValue value
     * @param \StructType\SearchDoubleField $lowValue
     * @return \StructType\FairValuePriceSearchBasic
     */
    public function setLowValue(\StructType\SearchDoubleField $lowValue = null)
    {
        $this->lowValue = $lowValue;
        return $this;
    }
    /**
     * Get lowValuePercent value
     * @return \StructType\SearchDoubleField|null
     */
    public function getLowValuePercent()
    {
        return $this->lowValuePercent;
    }
    /**
     * Set lowValuePercent value
     * @param \StructType\SearchDoubleField $lowValuePercent
     * @return \StructType\FairValuePriceSearchBasic
     */
    public function setLowValuePercent(\StructType\SearchDoubleField $lowValuePercent = null)
    {
        $this->lowValuePercent = $lowValuePercent;
        return $this;
    }
    /**
     * Get startDate value
     * @return \StructType\SearchDateField|null
     */
    public function getStartDate()
    {
        return $this->startDate;
    }
    /**
     * Set startDate value
     * @param \StructType\SearchDateField $startDate
     * @return \StructType\FairValuePriceSearchBasic
     */
    public function setStartDate(\StructType\SearchDateField $startDate = null)
    {
        $this->startDate = $startDate;
        return $this;
    }
    /**
     * Get unitsType value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getUnitsType()
    {
        return $this->unitsType;
    }
    /**
     * Set unitsType value
     * @param \StructType\SearchMultiSelectField $unitsType
     * @return \StructType\FairValuePriceSearchBasic
     */
    public function setUnitsType(\StructType\SearchMultiSelectField $unitsType = null)
    {
        $this->unitsType = $unitsType;
        return $this;
    }
}
