<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for GetRemainingDrivingRestingTimesResults_V4 StructType
 * @subpackage Structs
 */
class GetRemainingDrivingRestingTimesResults_V4 extends ExecutionResult
{
    /**
     * The Last_Refresh
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $Last_Refresh;
    /**
     * The RemainingDrivingRestingTimes
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \ArrayType\ArrayOfGetRemainingDrivingRestingTimesResult_V4
     */
    public $RemainingDrivingRestingTimes;
    /**
     * Constructor method for GetRemainingDrivingRestingTimesResults_V4
     * @uses GetRemainingDrivingRestingTimesResults_V4::setLast_Refresh()
     * @uses GetRemainingDrivingRestingTimesResults_V4::setRemainingDrivingRestingTimes()
     * @param string $last_Refresh
     * @param \ArrayType\ArrayOfGetRemainingDrivingRestingTimesResult_V4 $remainingDrivingRestingTimes
     */
    public function __construct($last_Refresh = null, \ArrayType\ArrayOfGetRemainingDrivingRestingTimesResult_V4 $remainingDrivingRestingTimes = null)
    {
        $this
            ->setLast_Refresh($last_Refresh)
            ->setRemainingDrivingRestingTimes($remainingDrivingRestingTimes);
    }
    /**
     * Get Last_Refresh value
     * @return string
     */
    public function getLast_Refresh()
    {
        return $this->Last_Refresh;
    }
    /**
     * Set Last_Refresh value
     * @param string $last_Refresh
     * @return \StructType\GetRemainingDrivingRestingTimesResults_V4
     */
    public function setLast_Refresh($last_Refresh = null)
    {
        // validation for constraint: string
        if (!is_null($last_Refresh) && !is_string($last_Refresh)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($last_Refresh, true), gettype($last_Refresh)), __LINE__);
        }
        $this->Last_Refresh = $last_Refresh;
        return $this;
    }
    /**
     * Get RemainingDrivingRestingTimes value
     * @return \ArrayType\ArrayOfGetRemainingDrivingRestingTimesResult_V4|null
     */
    public function getRemainingDrivingRestingTimes()
    {
        return $this->RemainingDrivingRestingTimes;
    }
    /**
     * Set RemainingDrivingRestingTimes value
     * @param \ArrayType\ArrayOfGetRemainingDrivingRestingTimesResult_V4 $remainingDrivingRestingTimes
     * @return \StructType\GetRemainingDrivingRestingTimesResults_V4
     */
    public function setRemainingDrivingRestingTimes(\ArrayType\ArrayOfGetRemainingDrivingRestingTimesResult_V4 $remainingDrivingRestingTimes = null)
    {
        $this->RemainingDrivingRestingTimes = $remainingDrivingRestingTimes;
        return $this;
    }
}
