<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for VehicleUpdateDates StructType
 * @subpackage Structs
 */
class VehicleUpdateDates extends AbstractStructBase
{
    /**
     * The CoDriver
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var string
     */
    public $CoDriver;
    /**
     * The Driver
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var string
     */
    public $Driver;
    /**
     * The ETA
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var string
     */
    public $ETA;
    /**
     * The FuelLevel
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var string
     */
    public $FuelLevel;
    /**
     * The Maintenance
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var string
     */
    public $Maintenance;
    /**
     * The TrailerDetected
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var string
     */
    public $TrailerDetected;
    /**
     * The Position
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var string
     */
    public $Position;
    /**
     * The Activity
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var string
     */
    public $Activity;
    /**
     * The GPRS
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var string
     */
    public $GPRS;
    /**
     * The FTP
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var string
     */
    public $FTP;
    /**
     * Constructor method for VehicleUpdateDates
     * @uses VehicleUpdateDates::setCoDriver()
     * @uses VehicleUpdateDates::setDriver()
     * @uses VehicleUpdateDates::setETA()
     * @uses VehicleUpdateDates::setFuelLevel()
     * @uses VehicleUpdateDates::setMaintenance()
     * @uses VehicleUpdateDates::setTrailerDetected()
     * @uses VehicleUpdateDates::setPosition()
     * @uses VehicleUpdateDates::setActivity()
     * @uses VehicleUpdateDates::setGPRS()
     * @uses VehicleUpdateDates::setFTP()
     * @param string $coDriver
     * @param string $driver
     * @param string $eTA
     * @param string $fuelLevel
     * @param string $maintenance
     * @param string $trailerDetected
     * @param string $position
     * @param string $activity
     * @param string $gPRS
     * @param string $fTP
     */
    public function __construct($coDriver = null, $driver = null, $eTA = null, $fuelLevel = null, $maintenance = null, $trailerDetected = null, $position = null, $activity = null, $gPRS = null, $fTP = null)
    {
        $this
            ->setCoDriver($coDriver)
            ->setDriver($driver)
            ->setETA($eTA)
            ->setFuelLevel($fuelLevel)
            ->setMaintenance($maintenance)
            ->setTrailerDetected($trailerDetected)
            ->setPosition($position)
            ->setActivity($activity)
            ->setGPRS($gPRS)
            ->setFTP($fTP);
    }
    /**
     * Get CoDriver value
     * @return string
     */
    public function getCoDriver()
    {
        return $this->CoDriver;
    }
    /**
     * Set CoDriver value
     * @param string $coDriver
     * @return \StructType\VehicleUpdateDates
     */
    public function setCoDriver($coDriver = null)
    {
        // validation for constraint: string
        if (!is_null($coDriver) && !is_string($coDriver)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($coDriver, true), gettype($coDriver)), __LINE__);
        }
        $this->CoDriver = $coDriver;
        return $this;
    }
    /**
     * Get Driver value
     * @return string
     */
    public function getDriver()
    {
        return $this->Driver;
    }
    /**
     * Set Driver value
     * @param string $driver
     * @return \StructType\VehicleUpdateDates
     */
    public function setDriver($driver = null)
    {
        // validation for constraint: string
        if (!is_null($driver) && !is_string($driver)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($driver, true), gettype($driver)), __LINE__);
        }
        $this->Driver = $driver;
        return $this;
    }
    /**
     * Get ETA value
     * @return string
     */
    public function getETA()
    {
        return $this->ETA;
    }
    /**
     * Set ETA value
     * @param string $eTA
     * @return \StructType\VehicleUpdateDates
     */
    public function setETA($eTA = null)
    {
        // validation for constraint: string
        if (!is_null($eTA) && !is_string($eTA)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($eTA, true), gettype($eTA)), __LINE__);
        }
        $this->ETA = $eTA;
        return $this;
    }
    /**
     * Get FuelLevel value
     * @return string
     */
    public function getFuelLevel()
    {
        return $this->FuelLevel;
    }
    /**
     * Set FuelLevel value
     * @param string $fuelLevel
     * @return \StructType\VehicleUpdateDates
     */
    public function setFuelLevel($fuelLevel = null)
    {
        // validation for constraint: string
        if (!is_null($fuelLevel) && !is_string($fuelLevel)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($fuelLevel, true), gettype($fuelLevel)), __LINE__);
        }
        $this->FuelLevel = $fuelLevel;
        return $this;
    }
    /**
     * Get Maintenance value
     * @return string
     */
    public function getMaintenance()
    {
        return $this->Maintenance;
    }
    /**
     * Set Maintenance value
     * @param string $maintenance
     * @return \StructType\VehicleUpdateDates
     */
    public function setMaintenance($maintenance = null)
    {
        // validation for constraint: string
        if (!is_null($maintenance) && !is_string($maintenance)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($maintenance, true), gettype($maintenance)), __LINE__);
        }
        $this->Maintenance = $maintenance;
        return $this;
    }
    /**
     * Get TrailerDetected value
     * @return string
     */
    public function getTrailerDetected()
    {
        return $this->TrailerDetected;
    }
    /**
     * Set TrailerDetected value
     * @param string $trailerDetected
     * @return \StructType\VehicleUpdateDates
     */
    public function setTrailerDetected($trailerDetected = null)
    {
        // validation for constraint: string
        if (!is_null($trailerDetected) && !is_string($trailerDetected)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($trailerDetected, true), gettype($trailerDetected)), __LINE__);
        }
        $this->TrailerDetected = $trailerDetected;
        return $this;
    }
    /**
     * Get Position value
     * @return string
     */
    public function getPosition()
    {
        return $this->Position;
    }
    /**
     * Set Position value
     * @param string $position
     * @return \StructType\VehicleUpdateDates
     */
    public function setPosition($position = null)
    {
        // validation for constraint: string
        if (!is_null($position) && !is_string($position)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($position, true), gettype($position)), __LINE__);
        }
        $this->Position = $position;
        return $this;
    }
    /**
     * Get Activity value
     * @return string
     */
    public function getActivity()
    {
        return $this->Activity;
    }
    /**
     * Set Activity value
     * @param string $activity
     * @return \StructType\VehicleUpdateDates
     */
    public function setActivity($activity = null)
    {
        // validation for constraint: string
        if (!is_null($activity) && !is_string($activity)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($activity, true), gettype($activity)), __LINE__);
        }
        $this->Activity = $activity;
        return $this;
    }
    /**
     * Get GPRS value
     * @return string
     */
    public function getGPRS()
    {
        return $this->GPRS;
    }
    /**
     * Set GPRS value
     * @param string $gPRS
     * @return \StructType\VehicleUpdateDates
     */
    public function setGPRS($gPRS = null)
    {
        // validation for constraint: string
        if (!is_null($gPRS) && !is_string($gPRS)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($gPRS, true), gettype($gPRS)), __LINE__);
        }
        $this->GPRS = $gPRS;
        return $this;
    }
    /**
     * Get FTP value
     * @return string
     */
    public function getFTP()
    {
        return $this->FTP;
    }
    /**
     * Set FTP value
     * @param string $fTP
     * @return \StructType\VehicleUpdateDates
     */
    public function setFTP($fTP = null)
    {
        // validation for constraint: string
        if (!is_null($fTP) && !is_string($fTP)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($fTP, true), gettype($fTP)), __LINE__);
        }
        $this->FTP = $fTP;
        return $this;
    }
}
