<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for VehicleHardwareDiagnostics StructType
 * @subpackage Structs
 */
class VehicleHardwareDiagnostics extends AbstractStructBase
{
    /**
     * The Pulses50Rpm
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Pulses50Rpm;
    /**
     * The IOUnitType
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $IOUnitType;
    /**
     * The IOUnitModel
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $IOUnitModel;
    /**
     * The CommunicationUnitModel
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $CommunicationUnitModel;
    /**
     * The HardwareVersionQuattro
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $HardwareVersionQuattro;
    /**
     * The MicrophoneSensibility
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $MicrophoneSensibility;
    /**
     * The AVLActive
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $AVLActive;
    /**
     * The AVLSucceeded
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $AVLSucceeded;
    /**
     * The AVLConfiguration
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $AVLConfiguration;
    /**
     * The EVLFirmwareVersion
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $EVLFirmwareVersion;
    /**
     * The ActiveRasDialATError
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $ActiveRasDialATError;
    /**
     * The ActiveRasDialHardwareReset
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $ActiveRasDialHardwareReset;
    /**
     * The PCMCIANumber
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $PCMCIANumber;
    /**
     * The PCMCIAVolumeName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $PCMCIAVolumeName;
    /**
     * The PCMCIAVolumeNameNav
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $PCMCIAVolumeNameNav;
    /**
     * The MainboardId
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $MainboardId;
    /**
     * The IOUnitId
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $IOUnitId;
    /**
     * The QuattroCaseSerialNr
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $QuattroCaseSerialNr;
    /**
     * The QuattroVersion
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $QuattroVersion;
    /**
     * The SecurityIdentifier
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $SecurityIdentifier;
    /**
     * The UniqueSerialID
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $UniqueSerialID;
    /**
     * The CurrentUsedRom
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $CurrentUsedRom;
    /**
     * Constructor method for VehicleHardwareDiagnostics
     * @uses VehicleHardwareDiagnostics::setPulses50Rpm()
     * @uses VehicleHardwareDiagnostics::setIOUnitType()
     * @uses VehicleHardwareDiagnostics::setIOUnitModel()
     * @uses VehicleHardwareDiagnostics::setCommunicationUnitModel()
     * @uses VehicleHardwareDiagnostics::setHardwareVersionQuattro()
     * @uses VehicleHardwareDiagnostics::setMicrophoneSensibility()
     * @uses VehicleHardwareDiagnostics::setAVLActive()
     * @uses VehicleHardwareDiagnostics::setAVLSucceeded()
     * @uses VehicleHardwareDiagnostics::setAVLConfiguration()
     * @uses VehicleHardwareDiagnostics::setEVLFirmwareVersion()
     * @uses VehicleHardwareDiagnostics::setActiveRasDialATError()
     * @uses VehicleHardwareDiagnostics::setActiveRasDialHardwareReset()
     * @uses VehicleHardwareDiagnostics::setPCMCIANumber()
     * @uses VehicleHardwareDiagnostics::setPCMCIAVolumeName()
     * @uses VehicleHardwareDiagnostics::setPCMCIAVolumeNameNav()
     * @uses VehicleHardwareDiagnostics::setMainboardId()
     * @uses VehicleHardwareDiagnostics::setIOUnitId()
     * @uses VehicleHardwareDiagnostics::setQuattroCaseSerialNr()
     * @uses VehicleHardwareDiagnostics::setQuattroVersion()
     * @uses VehicleHardwareDiagnostics::setSecurityIdentifier()
     * @uses VehicleHardwareDiagnostics::setUniqueSerialID()
     * @uses VehicleHardwareDiagnostics::setCurrentUsedRom()
     * @param string $pulses50Rpm
     * @param string $iOUnitType
     * @param string $iOUnitModel
     * @param string $communicationUnitModel
     * @param string $hardwareVersionQuattro
     * @param string $microphoneSensibility
     * @param string $aVLActive
     * @param string $aVLSucceeded
     * @param string $aVLConfiguration
     * @param string $eVLFirmwareVersion
     * @param string $activeRasDialATError
     * @param string $activeRasDialHardwareReset
     * @param string $pCMCIANumber
     * @param string $pCMCIAVolumeName
     * @param string $pCMCIAVolumeNameNav
     * @param string $mainboardId
     * @param string $iOUnitId
     * @param string $quattroCaseSerialNr
     * @param string $quattroVersion
     * @param string $securityIdentifier
     * @param string $uniqueSerialID
     * @param string $currentUsedRom
     */
    public function __construct($pulses50Rpm = null, $iOUnitType = null, $iOUnitModel = null, $communicationUnitModel = null, $hardwareVersionQuattro = null, $microphoneSensibility = null, $aVLActive = null, $aVLSucceeded = null, $aVLConfiguration = null, $eVLFirmwareVersion = null, $activeRasDialATError = null, $activeRasDialHardwareReset = null, $pCMCIANumber = null, $pCMCIAVolumeName = null, $pCMCIAVolumeNameNav = null, $mainboardId = null, $iOUnitId = null, $quattroCaseSerialNr = null, $quattroVersion = null, $securityIdentifier = null, $uniqueSerialID = null, $currentUsedRom = null)
    {
        $this
            ->setPulses50Rpm($pulses50Rpm)
            ->setIOUnitType($iOUnitType)
            ->setIOUnitModel($iOUnitModel)
            ->setCommunicationUnitModel($communicationUnitModel)
            ->setHardwareVersionQuattro($hardwareVersionQuattro)
            ->setMicrophoneSensibility($microphoneSensibility)
            ->setAVLActive($aVLActive)
            ->setAVLSucceeded($aVLSucceeded)
            ->setAVLConfiguration($aVLConfiguration)
            ->setEVLFirmwareVersion($eVLFirmwareVersion)
            ->setActiveRasDialATError($activeRasDialATError)
            ->setActiveRasDialHardwareReset($activeRasDialHardwareReset)
            ->setPCMCIANumber($pCMCIANumber)
            ->setPCMCIAVolumeName($pCMCIAVolumeName)
            ->setPCMCIAVolumeNameNav($pCMCIAVolumeNameNav)
            ->setMainboardId($mainboardId)
            ->setIOUnitId($iOUnitId)
            ->setQuattroCaseSerialNr($quattroCaseSerialNr)
            ->setQuattroVersion($quattroVersion)
            ->setSecurityIdentifier($securityIdentifier)
            ->setUniqueSerialID($uniqueSerialID)
            ->setCurrentUsedRom($currentUsedRom);
    }
    /**
     * Get Pulses50Rpm value
     * @return string|null
     */
    public function getPulses50Rpm()
    {
        return $this->Pulses50Rpm;
    }
    /**
     * Set Pulses50Rpm value
     * @param string $pulses50Rpm
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setPulses50Rpm($pulses50Rpm = null)
    {
        // validation for constraint: string
        if (!is_null($pulses50Rpm) && !is_string($pulses50Rpm)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($pulses50Rpm, true), gettype($pulses50Rpm)), __LINE__);
        }
        $this->Pulses50Rpm = $pulses50Rpm;
        return $this;
    }
    /**
     * Get IOUnitType value
     * @return string|null
     */
    public function getIOUnitType()
    {
        return $this->IOUnitType;
    }
    /**
     * Set IOUnitType value
     * @param string $iOUnitType
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setIOUnitType($iOUnitType = null)
    {
        // validation for constraint: string
        if (!is_null($iOUnitType) && !is_string($iOUnitType)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($iOUnitType, true), gettype($iOUnitType)), __LINE__);
        }
        $this->IOUnitType = $iOUnitType;
        return $this;
    }
    /**
     * Get IOUnitModel value
     * @return string|null
     */
    public function getIOUnitModel()
    {
        return $this->IOUnitModel;
    }
    /**
     * Set IOUnitModel value
     * @param string $iOUnitModel
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setIOUnitModel($iOUnitModel = null)
    {
        // validation for constraint: string
        if (!is_null($iOUnitModel) && !is_string($iOUnitModel)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($iOUnitModel, true), gettype($iOUnitModel)), __LINE__);
        }
        $this->IOUnitModel = $iOUnitModel;
        return $this;
    }
    /**
     * Get CommunicationUnitModel value
     * @return string|null
     */
    public function getCommunicationUnitModel()
    {
        return $this->CommunicationUnitModel;
    }
    /**
     * Set CommunicationUnitModel value
     * @param string $communicationUnitModel
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setCommunicationUnitModel($communicationUnitModel = null)
    {
        // validation for constraint: string
        if (!is_null($communicationUnitModel) && !is_string($communicationUnitModel)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($communicationUnitModel, true), gettype($communicationUnitModel)), __LINE__);
        }
        $this->CommunicationUnitModel = $communicationUnitModel;
        return $this;
    }
    /**
     * Get HardwareVersionQuattro value
     * @return string|null
     */
    public function getHardwareVersionQuattro()
    {
        return $this->HardwareVersionQuattro;
    }
    /**
     * Set HardwareVersionQuattro value
     * @param string $hardwareVersionQuattro
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setHardwareVersionQuattro($hardwareVersionQuattro = null)
    {
        // validation for constraint: string
        if (!is_null($hardwareVersionQuattro) && !is_string($hardwareVersionQuattro)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($hardwareVersionQuattro, true), gettype($hardwareVersionQuattro)), __LINE__);
        }
        $this->HardwareVersionQuattro = $hardwareVersionQuattro;
        return $this;
    }
    /**
     * Get MicrophoneSensibility value
     * @return string|null
     */
    public function getMicrophoneSensibility()
    {
        return $this->MicrophoneSensibility;
    }
    /**
     * Set MicrophoneSensibility value
     * @param string $microphoneSensibility
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setMicrophoneSensibility($microphoneSensibility = null)
    {
        // validation for constraint: string
        if (!is_null($microphoneSensibility) && !is_string($microphoneSensibility)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($microphoneSensibility, true), gettype($microphoneSensibility)), __LINE__);
        }
        $this->MicrophoneSensibility = $microphoneSensibility;
        return $this;
    }
    /**
     * Get AVLActive value
     * @return string|null
     */
    public function getAVLActive()
    {
        return $this->AVLActive;
    }
    /**
     * Set AVLActive value
     * @param string $aVLActive
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setAVLActive($aVLActive = null)
    {
        // validation for constraint: string
        if (!is_null($aVLActive) && !is_string($aVLActive)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($aVLActive, true), gettype($aVLActive)), __LINE__);
        }
        $this->AVLActive = $aVLActive;
        return $this;
    }
    /**
     * Get AVLSucceeded value
     * @return string|null
     */
    public function getAVLSucceeded()
    {
        return $this->AVLSucceeded;
    }
    /**
     * Set AVLSucceeded value
     * @param string $aVLSucceeded
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setAVLSucceeded($aVLSucceeded = null)
    {
        // validation for constraint: string
        if (!is_null($aVLSucceeded) && !is_string($aVLSucceeded)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($aVLSucceeded, true), gettype($aVLSucceeded)), __LINE__);
        }
        $this->AVLSucceeded = $aVLSucceeded;
        return $this;
    }
    /**
     * Get AVLConfiguration value
     * @return string|null
     */
    public function getAVLConfiguration()
    {
        return $this->AVLConfiguration;
    }
    /**
     * Set AVLConfiguration value
     * @param string $aVLConfiguration
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setAVLConfiguration($aVLConfiguration = null)
    {
        // validation for constraint: string
        if (!is_null($aVLConfiguration) && !is_string($aVLConfiguration)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($aVLConfiguration, true), gettype($aVLConfiguration)), __LINE__);
        }
        $this->AVLConfiguration = $aVLConfiguration;
        return $this;
    }
    /**
     * Get EVLFirmwareVersion value
     * @return string|null
     */
    public function getEVLFirmwareVersion()
    {
        return $this->EVLFirmwareVersion;
    }
    /**
     * Set EVLFirmwareVersion value
     * @param string $eVLFirmwareVersion
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setEVLFirmwareVersion($eVLFirmwareVersion = null)
    {
        // validation for constraint: string
        if (!is_null($eVLFirmwareVersion) && !is_string($eVLFirmwareVersion)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($eVLFirmwareVersion, true), gettype($eVLFirmwareVersion)), __LINE__);
        }
        $this->EVLFirmwareVersion = $eVLFirmwareVersion;
        return $this;
    }
    /**
     * Get ActiveRasDialATError value
     * @return string|null
     */
    public function getActiveRasDialATError()
    {
        return $this->ActiveRasDialATError;
    }
    /**
     * Set ActiveRasDialATError value
     * @param string $activeRasDialATError
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setActiveRasDialATError($activeRasDialATError = null)
    {
        // validation for constraint: string
        if (!is_null($activeRasDialATError) && !is_string($activeRasDialATError)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($activeRasDialATError, true), gettype($activeRasDialATError)), __LINE__);
        }
        $this->ActiveRasDialATError = $activeRasDialATError;
        return $this;
    }
    /**
     * Get ActiveRasDialHardwareReset value
     * @return string|null
     */
    public function getActiveRasDialHardwareReset()
    {
        return $this->ActiveRasDialHardwareReset;
    }
    /**
     * Set ActiveRasDialHardwareReset value
     * @param string $activeRasDialHardwareReset
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setActiveRasDialHardwareReset($activeRasDialHardwareReset = null)
    {
        // validation for constraint: string
        if (!is_null($activeRasDialHardwareReset) && !is_string($activeRasDialHardwareReset)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($activeRasDialHardwareReset, true), gettype($activeRasDialHardwareReset)), __LINE__);
        }
        $this->ActiveRasDialHardwareReset = $activeRasDialHardwareReset;
        return $this;
    }
    /**
     * Get PCMCIANumber value
     * @return string|null
     */
    public function getPCMCIANumber()
    {
        return $this->PCMCIANumber;
    }
    /**
     * Set PCMCIANumber value
     * @param string $pCMCIANumber
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setPCMCIANumber($pCMCIANumber = null)
    {
        // validation for constraint: string
        if (!is_null($pCMCIANumber) && !is_string($pCMCIANumber)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($pCMCIANumber, true), gettype($pCMCIANumber)), __LINE__);
        }
        $this->PCMCIANumber = $pCMCIANumber;
        return $this;
    }
    /**
     * Get PCMCIAVolumeName value
     * @return string|null
     */
    public function getPCMCIAVolumeName()
    {
        return $this->PCMCIAVolumeName;
    }
    /**
     * Set PCMCIAVolumeName value
     * @param string $pCMCIAVolumeName
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setPCMCIAVolumeName($pCMCIAVolumeName = null)
    {
        // validation for constraint: string
        if (!is_null($pCMCIAVolumeName) && !is_string($pCMCIAVolumeName)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($pCMCIAVolumeName, true), gettype($pCMCIAVolumeName)), __LINE__);
        }
        $this->PCMCIAVolumeName = $pCMCIAVolumeName;
        return $this;
    }
    /**
     * Get PCMCIAVolumeNameNav value
     * @return string|null
     */
    public function getPCMCIAVolumeNameNav()
    {
        return $this->PCMCIAVolumeNameNav;
    }
    /**
     * Set PCMCIAVolumeNameNav value
     * @param string $pCMCIAVolumeNameNav
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setPCMCIAVolumeNameNav($pCMCIAVolumeNameNav = null)
    {
        // validation for constraint: string
        if (!is_null($pCMCIAVolumeNameNav) && !is_string($pCMCIAVolumeNameNav)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($pCMCIAVolumeNameNav, true), gettype($pCMCIAVolumeNameNav)), __LINE__);
        }
        $this->PCMCIAVolumeNameNav = $pCMCIAVolumeNameNav;
        return $this;
    }
    /**
     * Get MainboardId value
     * @return string|null
     */
    public function getMainboardId()
    {
        return $this->MainboardId;
    }
    /**
     * Set MainboardId value
     * @param string $mainboardId
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setMainboardId($mainboardId = null)
    {
        // validation for constraint: string
        if (!is_null($mainboardId) && !is_string($mainboardId)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($mainboardId, true), gettype($mainboardId)), __LINE__);
        }
        $this->MainboardId = $mainboardId;
        return $this;
    }
    /**
     * Get IOUnitId value
     * @return string|null
     */
    public function getIOUnitId()
    {
        return $this->IOUnitId;
    }
    /**
     * Set IOUnitId value
     * @param string $iOUnitId
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setIOUnitId($iOUnitId = null)
    {
        // validation for constraint: string
        if (!is_null($iOUnitId) && !is_string($iOUnitId)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($iOUnitId, true), gettype($iOUnitId)), __LINE__);
        }
        $this->IOUnitId = $iOUnitId;
        return $this;
    }
    /**
     * Get QuattroCaseSerialNr value
     * @return string|null
     */
    public function getQuattroCaseSerialNr()
    {
        return $this->QuattroCaseSerialNr;
    }
    /**
     * Set QuattroCaseSerialNr value
     * @param string $quattroCaseSerialNr
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setQuattroCaseSerialNr($quattroCaseSerialNr = null)
    {
        // validation for constraint: string
        if (!is_null($quattroCaseSerialNr) && !is_string($quattroCaseSerialNr)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($quattroCaseSerialNr, true), gettype($quattroCaseSerialNr)), __LINE__);
        }
        $this->QuattroCaseSerialNr = $quattroCaseSerialNr;
        return $this;
    }
    /**
     * Get QuattroVersion value
     * @return string|null
     */
    public function getQuattroVersion()
    {
        return $this->QuattroVersion;
    }
    /**
     * Set QuattroVersion value
     * @param string $quattroVersion
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setQuattroVersion($quattroVersion = null)
    {
        // validation for constraint: string
        if (!is_null($quattroVersion) && !is_string($quattroVersion)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($quattroVersion, true), gettype($quattroVersion)), __LINE__);
        }
        $this->QuattroVersion = $quattroVersion;
        return $this;
    }
    /**
     * Get SecurityIdentifier value
     * @return string|null
     */
    public function getSecurityIdentifier()
    {
        return $this->SecurityIdentifier;
    }
    /**
     * Set SecurityIdentifier value
     * @param string $securityIdentifier
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setSecurityIdentifier($securityIdentifier = null)
    {
        // validation for constraint: string
        if (!is_null($securityIdentifier) && !is_string($securityIdentifier)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($securityIdentifier, true), gettype($securityIdentifier)), __LINE__);
        }
        $this->SecurityIdentifier = $securityIdentifier;
        return $this;
    }
    /**
     * Get UniqueSerialID value
     * @return string|null
     */
    public function getUniqueSerialID()
    {
        return $this->UniqueSerialID;
    }
    /**
     * Set UniqueSerialID value
     * @param string $uniqueSerialID
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setUniqueSerialID($uniqueSerialID = null)
    {
        // validation for constraint: string
        if (!is_null($uniqueSerialID) && !is_string($uniqueSerialID)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($uniqueSerialID, true), gettype($uniqueSerialID)), __LINE__);
        }
        $this->UniqueSerialID = $uniqueSerialID;
        return $this;
    }
    /**
     * Get CurrentUsedRom value
     * @return string|null
     */
    public function getCurrentUsedRom()
    {
        return $this->CurrentUsedRom;
    }
    /**
     * Set CurrentUsedRom value
     * @param string $currentUsedRom
     * @return \StructType\VehicleHardwareDiagnostics
     */
    public function setCurrentUsedRom($currentUsedRom = null)
    {
        // validation for constraint: string
        if (!is_null($currentUsedRom) && !is_string($currentUsedRom)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($currentUsedRom, true), gettype($currentUsedRom)), __LINE__);
        }
        $this->CurrentUsedRom = $currentUsedRom;
        return $this;
    }
}
