<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for BomRevisionComponentSearchBasic StructType
 * @subpackage Structs
 */
class BomRevisionComponentSearchBasic extends SearchRecordBasic
{
    /**
     * The bomQuantity
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $bomQuantity;
    /**
     * The bomRevision
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $bomRevision;
    /**
     * The componentYield
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $componentYield;
    /**
     * The description
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $description;
    /**
     * 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 item
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $item;
    /**
     * The itemSource
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchEnumMultiSelectField
     */
    public $itemSource;
    /**
     * The itemSubtype
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $itemSubtype;
    /**
     * The itemType
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $itemType;
    /**
     * The lineId
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchLongField
     */
    public $lineId;
    /**
     * The quantity
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $quantity;
    /**
     * The units
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $units;
    /**
     * The weight
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $weight;
    /**
     * Constructor method for BomRevisionComponentSearchBasic
     * @uses BomRevisionComponentSearchBasic::setBomQuantity()
     * @uses BomRevisionComponentSearchBasic::setBomRevision()
     * @uses BomRevisionComponentSearchBasic::setComponentYield()
     * @uses BomRevisionComponentSearchBasic::setDescription()
     * @uses BomRevisionComponentSearchBasic::setInternalId()
     * @uses BomRevisionComponentSearchBasic::setInternalIdNumber()
     * @uses BomRevisionComponentSearchBasic::setItem()
     * @uses BomRevisionComponentSearchBasic::setItemSource()
     * @uses BomRevisionComponentSearchBasic::setItemSubtype()
     * @uses BomRevisionComponentSearchBasic::setItemType()
     * @uses BomRevisionComponentSearchBasic::setLineId()
     * @uses BomRevisionComponentSearchBasic::setQuantity()
     * @uses BomRevisionComponentSearchBasic::setUnits()
     * @uses BomRevisionComponentSearchBasic::setWeight()
     * @param \StructType\SearchDoubleField $bomQuantity
     * @param \StructType\SearchMultiSelectField $bomRevision
     * @param \StructType\SearchDoubleField $componentYield
     * @param \StructType\SearchStringField $description
     * @param \StructType\SearchMultiSelectField $internalId
     * @param \StructType\SearchLongField $internalIdNumber
     * @param \StructType\SearchMultiSelectField $item
     * @param \StructType\SearchEnumMultiSelectField $itemSource
     * @param \StructType\SearchStringField $itemSubtype
     * @param \StructType\SearchMultiSelectField $itemType
     * @param \StructType\SearchLongField $lineId
     * @param \StructType\SearchDoubleField $quantity
     * @param \StructType\SearchStringField $units
     * @param \StructType\SearchDoubleField $weight
     */
    public function __construct(\StructType\SearchDoubleField $bomQuantity = null, \StructType\SearchMultiSelectField $bomRevision = null, \StructType\SearchDoubleField $componentYield = null, \StructType\SearchStringField $description = null, \StructType\SearchMultiSelectField $internalId = null, \StructType\SearchLongField $internalIdNumber = null, \StructType\SearchMultiSelectField $item = null, \StructType\SearchEnumMultiSelectField $itemSource = null, \StructType\SearchStringField $itemSubtype = null, \StructType\SearchMultiSelectField $itemType = null, \StructType\SearchLongField $lineId = null, \StructType\SearchDoubleField $quantity = null, \StructType\SearchStringField $units = null, \StructType\SearchDoubleField $weight = null)
    {
        $this
            ->setBomQuantity($bomQuantity)
            ->setBomRevision($bomRevision)
            ->setComponentYield($componentYield)
            ->setDescription($description)
            ->setInternalId($internalId)
            ->setInternalIdNumber($internalIdNumber)
            ->setItem($item)
            ->setItemSource($itemSource)
            ->setItemSubtype($itemSubtype)
            ->setItemType($itemType)
            ->setLineId($lineId)
            ->setQuantity($quantity)
            ->setUnits($units)
            ->setWeight($weight);
    }
    /**
     * Get bomQuantity value
     * @return \StructType\SearchDoubleField|null
     */
    public function getBomQuantity()
    {
        return $this->bomQuantity;
    }
    /**
     * Set bomQuantity value
     * @param \StructType\SearchDoubleField $bomQuantity
     * @return \StructType\BomRevisionComponentSearchBasic
     */
    public function setBomQuantity(\StructType\SearchDoubleField $bomQuantity = null)
    {
        $this->bomQuantity = $bomQuantity;
        return $this;
    }
    /**
     * Get bomRevision value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getBomRevision()
    {
        return $this->bomRevision;
    }
    /**
     * Set bomRevision value
     * @param \StructType\SearchMultiSelectField $bomRevision
     * @return \StructType\BomRevisionComponentSearchBasic
     */
    public function setBomRevision(\StructType\SearchMultiSelectField $bomRevision = null)
    {
        $this->bomRevision = $bomRevision;
        return $this;
    }
    /**
     * Get componentYield value
     * @return \StructType\SearchDoubleField|null
     */
    public function getComponentYield()
    {
        return $this->componentYield;
    }
    /**
     * Set componentYield value
     * @param \StructType\SearchDoubleField $componentYield
     * @return \StructType\BomRevisionComponentSearchBasic
     */
    public function setComponentYield(\StructType\SearchDoubleField $componentYield = null)
    {
        $this->componentYield = $componentYield;
        return $this;
    }
    /**
     * Get description value
     * @return \StructType\SearchStringField|null
     */
    public function getDescription()
    {
        return $this->description;
    }
    /**
     * Set description value
     * @param \StructType\SearchStringField $description
     * @return \StructType\BomRevisionComponentSearchBasic
     */
    public function setDescription(\StructType\SearchStringField $description = null)
    {
        $this->description = $description;
        return $this;
    }
    /**
     * Get internalId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getInternalId()
    {
        return $this->internalId;
    }
    /**
     * Set internalId value
     * @param \StructType\SearchMultiSelectField $internalId
     * @return \StructType\BomRevisionComponentSearchBasic
     */
    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\BomRevisionComponentSearchBasic
     */
    public function setInternalIdNumber(\StructType\SearchLongField $internalIdNumber = null)
    {
        $this->internalIdNumber = $internalIdNumber;
        return $this;
    }
    /**
     * Get item value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getItem()
    {
        return $this->item;
    }
    /**
     * Set item value
     * @param \StructType\SearchMultiSelectField $item
     * @return \StructType\BomRevisionComponentSearchBasic
     */
    public function setItem(\StructType\SearchMultiSelectField $item = null)
    {
        $this->item = $item;
        return $this;
    }
    /**
     * Get itemSource value
     * @return \StructType\SearchEnumMultiSelectField|null
     */
    public function getItemSource()
    {
        return $this->itemSource;
    }
    /**
     * Set itemSource value
     * @param \StructType\SearchEnumMultiSelectField $itemSource
     * @return \StructType\BomRevisionComponentSearchBasic
     */
    public function setItemSource(\StructType\SearchEnumMultiSelectField $itemSource = null)
    {
        $this->itemSource = $itemSource;
        return $this;
    }
    /**
     * Get itemSubtype value
     * @return \StructType\SearchStringField|null
     */
    public function getItemSubtype()
    {
        return $this->itemSubtype;
    }
    /**
     * Set itemSubtype value
     * @param \StructType\SearchStringField $itemSubtype
     * @return \StructType\BomRevisionComponentSearchBasic
     */
    public function setItemSubtype(\StructType\SearchStringField $itemSubtype = null)
    {
        $this->itemSubtype = $itemSubtype;
        return $this;
    }
    /**
     * Get itemType value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getItemType()
    {
        return $this->itemType;
    }
    /**
     * Set itemType value
     * @param \StructType\SearchMultiSelectField $itemType
     * @return \StructType\BomRevisionComponentSearchBasic
     */
    public function setItemType(\StructType\SearchMultiSelectField $itemType = null)
    {
        $this->itemType = $itemType;
        return $this;
    }
    /**
     * Get lineId value
     * @return \StructType\SearchLongField|null
     */
    public function getLineId()
    {
        return $this->lineId;
    }
    /**
     * Set lineId value
     * @param \StructType\SearchLongField $lineId
     * @return \StructType\BomRevisionComponentSearchBasic
     */
    public function setLineId(\StructType\SearchLongField $lineId = null)
    {
        $this->lineId = $lineId;
        return $this;
    }
    /**
     * Get quantity value
     * @return \StructType\SearchDoubleField|null
     */
    public function getQuantity()
    {
        return $this->quantity;
    }
    /**
     * Set quantity value
     * @param \StructType\SearchDoubleField $quantity
     * @return \StructType\BomRevisionComponentSearchBasic
     */
    public function setQuantity(\StructType\SearchDoubleField $quantity = null)
    {
        $this->quantity = $quantity;
        return $this;
    }
    /**
     * Get units value
     * @return \StructType\SearchStringField|null
     */
    public function getUnits()
    {
        return $this->units;
    }
    /**
     * Set units value
     * @param \StructType\SearchStringField $units
     * @return \StructType\BomRevisionComponentSearchBasic
     */
    public function setUnits(\StructType\SearchStringField $units = null)
    {
        $this->units = $units;
        return $this;
    }
    /**
     * Get weight value
     * @return \StructType\SearchDoubleField|null
     */
    public function getWeight()
    {
        return $this->weight;
    }
    /**
     * Set weight value
     * @param \StructType\SearchDoubleField $weight
     * @return \StructType\BomRevisionComponentSearchBasic
     */
    public function setWeight(\StructType\SearchDoubleField $weight = null)
    {
        $this->weight = $weight;
        return $this;
    }
}
