<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for EcoPerformanceReport StructType
 * @subpackage Structs
 */
class EcoPerformanceReport extends AbstractStructBase
{
    /**
     * The Driver
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\IdentifierPerson
     */
    public $Driver;
    /**
     * The EcoPerformanceInfo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\EcoPerformanceInfo
     */
    public $EcoPerformanceInfo;
    /**
     * The EcoPerformanceData
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\EcoPerformanceData
     */
    public $EcoPerformanceData;
    /**
     * The EcoPerformanceScore
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\EcoPerformanceScore
     */
    public $EcoPerformanceScore;
    /**
     * Constructor method for EcoPerformanceReport
     * @uses EcoPerformanceReport::setDriver()
     * @uses EcoPerformanceReport::setEcoPerformanceInfo()
     * @uses EcoPerformanceReport::setEcoPerformanceData()
     * @uses EcoPerformanceReport::setEcoPerformanceScore()
     * @param \StructType\IdentifierPerson $driver
     * @param \StructType\EcoPerformanceInfo $ecoPerformanceInfo
     * @param \StructType\EcoPerformanceData $ecoPerformanceData
     * @param \StructType\EcoPerformanceScore $ecoPerformanceScore
     */
    public function __construct(\StructType\IdentifierPerson $driver = null, \StructType\EcoPerformanceInfo $ecoPerformanceInfo = null, \StructType\EcoPerformanceData $ecoPerformanceData = null, \StructType\EcoPerformanceScore $ecoPerformanceScore = null)
    {
        $this
            ->setDriver($driver)
            ->setEcoPerformanceInfo($ecoPerformanceInfo)
            ->setEcoPerformanceData($ecoPerformanceData)
            ->setEcoPerformanceScore($ecoPerformanceScore);
    }
    /**
     * Get Driver value
     * @return \StructType\IdentifierPerson|null
     */
    public function getDriver()
    {
        return $this->Driver;
    }
    /**
     * Set Driver value
     * @param \StructType\IdentifierPerson $driver
     * @return \StructType\EcoPerformanceReport
     */
    public function setDriver(\StructType\IdentifierPerson $driver = null)
    {
        $this->Driver = $driver;
        return $this;
    }
    /**
     * Get EcoPerformanceInfo value
     * @return \StructType\EcoPerformanceInfo|null
     */
    public function getEcoPerformanceInfo()
    {
        return $this->EcoPerformanceInfo;
    }
    /**
     * Set EcoPerformanceInfo value
     * @param \StructType\EcoPerformanceInfo $ecoPerformanceInfo
     * @return \StructType\EcoPerformanceReport
     */
    public function setEcoPerformanceInfo(\StructType\EcoPerformanceInfo $ecoPerformanceInfo = null)
    {
        $this->EcoPerformanceInfo = $ecoPerformanceInfo;
        return $this;
    }
    /**
     * Get EcoPerformanceData value
     * @return \StructType\EcoPerformanceData|null
     */
    public function getEcoPerformanceData()
    {
        return $this->EcoPerformanceData;
    }
    /**
     * Set EcoPerformanceData value
     * @param \StructType\EcoPerformanceData $ecoPerformanceData
     * @return \StructType\EcoPerformanceReport
     */
    public function setEcoPerformanceData(\StructType\EcoPerformanceData $ecoPerformanceData = null)
    {
        $this->EcoPerformanceData = $ecoPerformanceData;
        return $this;
    }
    /**
     * Get EcoPerformanceScore value
     * @return \StructType\EcoPerformanceScore|null
     */
    public function getEcoPerformanceScore()
    {
        return $this->EcoPerformanceScore;
    }
    /**
     * Set EcoPerformanceScore value
     * @param \StructType\EcoPerformanceScore $ecoPerformanceScore
     * @return \StructType\EcoPerformanceReport
     */
    public function setEcoPerformanceScore(\StructType\EcoPerformanceScore $ecoPerformanceScore = null)
    {
        $this->EcoPerformanceScore = $ecoPerformanceScore;
        return $this;
    }
}
