<?php

namespace Geniki\GenikiStruct;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for GetJobs GenikiStruct
 * @package Geniki
 * @subpackage Structs
 */
class GenikiGetJobs extends AbstractStructBase
{
    /**
     * The sAuthKey
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $sAuthKey;
    /**
     * The oParams
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \Geniki\GenikiStruct\GenikiQueryParameters
     */
    public $oParams;
    /**
     * Constructor method for GetJobs
     * @uses GenikiGetJobs::setSAuthKey()
     * @uses GenikiGetJobs::setOParams()
     * @param string $sAuthKey
     * @param \Geniki\GenikiStruct\GenikiQueryParameters $oParams
     */
    public function __construct($sAuthKey = null, \Geniki\GenikiStruct\GenikiQueryParameters $oParams = null)
    {
        $this
            ->setSAuthKey($sAuthKey)
            ->setOParams($oParams);
    }
    /**
     * Get sAuthKey value
     * @return string|null
     */
    public function getSAuthKey()
    {
        return $this->sAuthKey;
    }
    /**
     * Set sAuthKey value
     * @param string $sAuthKey
     * @return \Geniki\GenikiStruct\GenikiGetJobs
     */
    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;
    }
    /**
     * Get oParams value
     * @return \Geniki\GenikiStruct\GenikiQueryParameters|null
     */
    public function getOParams()
    {
        return $this->oParams;
    }
    /**
     * Set oParams value
     * @param \Geniki\GenikiStruct\GenikiQueryParameters $oParams
     * @return \Geniki\GenikiStruct\GenikiGetJobs
     */
    public function setOParams(\Geniki\GenikiStruct\GenikiQueryParameters $oParams = null)
    {
        $this->oParams = $oParams;
        return $this;
    }
}
