<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for ActivityReportSelection_V5 StructType
 * @subpackage Structs
 */
class ActivityReportSelection_V5 extends ActivityReportSelection_V4
{
    /**
     * The ValidatedHours
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var string
     */
    public $ValidatedHours;
    /**
     * Constructor method for ActivityReportSelection_V5
     * @uses ActivityReportSelection_V5::setValidatedHours()
     * @param string $validatedHours
     */
    public function __construct($validatedHours = null)
    {
        $this
            ->setValidatedHours($validatedHours);
    }
    /**
     * Get ValidatedHours value
     * @return string
     */
    public function getValidatedHours()
    {
        return $this->ValidatedHours;
    }
    /**
     * Set ValidatedHours value
     * @uses \EnumType\EnumValidatedHours::valueIsValid()
     * @uses \EnumType\EnumValidatedHours::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $validatedHours
     * @return \StructType\ActivityReportSelection_V5
     */
    public function setValidatedHours($validatedHours = null)
    {
        // validation for constraint: enumeration
        if (!\EnumType\EnumValidatedHours::valueIsValid($validatedHours)) {
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \EnumType\EnumValidatedHours', is_array($validatedHours) ? implode(', ', $validatedHours) : var_export($validatedHours, true), implode(', ', \EnumType\EnumValidatedHours::getValidValues())), __LINE__);
        }
        $this->ValidatedHours = $validatedHours;
        return $this;
    }
}
