<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for AssemblyItemBomSearchBasic StructType
 * @subpackage Structs
 */
class AssemblyItemBomSearchBasic extends SearchRecordBasic
{
    /**
     * The assembly
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $assembly;
    /**
     * The billOfMaterials
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $billOfMaterials;
    /**
     * The default
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchBooleanField
     */
    public $default;
    /**
     * The locations
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $locations;
    /**
     * Constructor method for AssemblyItemBomSearchBasic
     * @uses AssemblyItemBomSearchBasic::setAssembly()
     * @uses AssemblyItemBomSearchBasic::setBillOfMaterials()
     * @uses AssemblyItemBomSearchBasic::setDefault()
     * @uses AssemblyItemBomSearchBasic::setLocations()
     * @param \StructType\SearchMultiSelectField $assembly
     * @param \StructType\SearchMultiSelectField $billOfMaterials
     * @param \StructType\SearchBooleanField $default
     * @param \StructType\SearchMultiSelectField $locations
     */
    public function __construct(\StructType\SearchMultiSelectField $assembly = null, \StructType\SearchMultiSelectField $billOfMaterials = null, \StructType\SearchBooleanField $default = null, \StructType\SearchMultiSelectField $locations = null)
    {
        $this
            ->setAssembly($assembly)
            ->setBillOfMaterials($billOfMaterials)
            ->setDefault($default)
            ->setLocations($locations);
    }
    /**
     * Get assembly value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getAssembly()
    {
        return $this->assembly;
    }
    /**
     * Set assembly value
     * @param \StructType\SearchMultiSelectField $assembly
     * @return \StructType\AssemblyItemBomSearchBasic
     */
    public function setAssembly(\StructType\SearchMultiSelectField $assembly = null)
    {
        $this->assembly = $assembly;
        return $this;
    }
    /**
     * Get billOfMaterials value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getBillOfMaterials()
    {
        return $this->billOfMaterials;
    }
    /**
     * Set billOfMaterials value
     * @param \StructType\SearchMultiSelectField $billOfMaterials
     * @return \StructType\AssemblyItemBomSearchBasic
     */
    public function setBillOfMaterials(\StructType\SearchMultiSelectField $billOfMaterials = null)
    {
        $this->billOfMaterials = $billOfMaterials;
        return $this;
    }
    /**
     * Get default value
     * @return \StructType\SearchBooleanField|null
     */
    public function getDefault()
    {
        return $this->default;
    }
    /**
     * Set default value
     * @param \StructType\SearchBooleanField $default
     * @return \StructType\AssemblyItemBomSearchBasic
     */
    public function setDefault(\StructType\SearchBooleanField $default = null)
    {
        $this->default = $default;
        return $this;
    }
    /**
     * Get locations value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getLocations()
    {
        return $this->locations;
    }
    /**
     * Set locations value
     * @param \StructType\SearchMultiSelectField $locations
     * @return \StructType\AssemblyItemBomSearchBasic
     */
    public function setLocations(\StructType\SearchMultiSelectField $locations = null)
    {
        $this->locations = $locations;
        return $this;
    }
}
