<?php

namespace Geniki\GenikiStruct;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for ClosePendingJobsByDate GenikiStruct
 * @package Geniki
 * @subpackage Structs
 */
class GenikiClosePendingJobsByDate extends AbstractStructBase
{
    /**
     * The dFr
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $dFr;
    /**
     * The dTo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $dTo;
    /**
     * The sAuthKey
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $sAuthKey;
    /**
     * Constructor method for ClosePendingJobsByDate
     * @uses GenikiClosePendingJobsByDate::setDFr()
     * @uses GenikiClosePendingJobsByDate::setDTo()
     * @uses GenikiClosePendingJobsByDate::setSAuthKey()
     * @param string $dFr
     * @param string $dTo
     * @param string $sAuthKey
     */
    public function __construct($dFr = null, $dTo = null, $sAuthKey = null)
    {
        $this
            ->setDFr($dFr)
            ->setDTo($dTo)
            ->setSAuthKey($sAuthKey);
    }
    /**
     * Get dFr value
     * @return string
     */
    public function getDFr()
    {
        return $this->dFr;
    }
    /**
     * Set dFr value
     * @param string $dFr
     * @return \Geniki\GenikiStruct\GenikiClosePendingJobsByDate
     */
    public function setDFr($dFr = null)
    {
        // validation for constraint: string
        if (!is_null($dFr) && !is_string($dFr)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($dFr, true), gettype($dFr)), __LINE__);
        }
        $this->dFr = $dFr;
        return $this;
    }
    /**
     * Get dTo value
     * @return string
     */
    public function getDTo()
    {
        return $this->dTo;
    }
    /**
     * Set dTo value
     * @param string $dTo
     * @return \Geniki\GenikiStruct\GenikiClosePendingJobsByDate
     */
    public function setDTo($dTo = null)
    {
        // validation for constraint: string
        if (!is_null($dTo) && !is_string($dTo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($dTo, true), gettype($dTo)), __LINE__);
        }
        $this->dTo = $dTo;
        return $this;
    }
    /**
     * Get sAuthKey value
     * @return string|null
     */
    public function getSAuthKey()
    {
        return $this->sAuthKey;
    }
    /**
     * Set sAuthKey value
     * @param string $sAuthKey
     * @return \Geniki\GenikiStruct\GenikiClosePendingJobsByDate
     */
    public function setSAuthKey($sAuthKey = null)
    {
        // validation for constraint: string
        if (!is_null($sAuthKey) && !is_string($sAuthKey)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($sAuthKey, true), gettype($sAuthKey)), __LINE__);
        }
        $this->sAuthKey = $sAuthKey;
        return $this;
    }
}
