<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for ActivityInfoFields StructType
 * @subpackage Structs
 */
class ActivityInfoFields extends AbstractStructBase
{
    /**
     * The Info1
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Info1;
    /**
     * The Info2
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Info2;
    /**
     * The Info3
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Info3;
    /**
     * The Info4
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Info4;
    /**
     * The Info5
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Info5;
    /**
     * Constructor method for ActivityInfoFields
     * @uses ActivityInfoFields::setInfo1()
     * @uses ActivityInfoFields::setInfo2()
     * @uses ActivityInfoFields::setInfo3()
     * @uses ActivityInfoFields::setInfo4()
     * @uses ActivityInfoFields::setInfo5()
     * @param string $info1
     * @param string $info2
     * @param string $info3
     * @param string $info4
     * @param string $info5
     */
    public function __construct($info1 = null, $info2 = null, $info3 = null, $info4 = null, $info5 = null)
    {
        $this
            ->setInfo1($info1)
            ->setInfo2($info2)
            ->setInfo3($info3)
            ->setInfo4($info4)
            ->setInfo5($info5);
    }
    /**
     * Get Info1 value
     * @return string|null
     */
    public function getInfo1()
    {
        return $this->Info1;
    }
    /**
     * Set Info1 value
     * @param string $info1
     * @return \StructType\ActivityInfoFields
     */
    public function setInfo1($info1 = null)
    {
        // validation for constraint: string
        if (!is_null($info1) && !is_string($info1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($info1, true), gettype($info1)), __LINE__);
        }
        $this->Info1 = $info1;
        return $this;
    }
    /**
     * Get Info2 value
     * @return string|null
     */
    public function getInfo2()
    {
        return $this->Info2;
    }
    /**
     * Set Info2 value
     * @param string $info2
     * @return \StructType\ActivityInfoFields
     */
    public function setInfo2($info2 = null)
    {
        // validation for constraint: string
        if (!is_null($info2) && !is_string($info2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($info2, true), gettype($info2)), __LINE__);
        }
        $this->Info2 = $info2;
        return $this;
    }
    /**
     * Get Info3 value
     * @return string|null
     */
    public function getInfo3()
    {
        return $this->Info3;
    }
    /**
     * Set Info3 value
     * @param string $info3
     * @return \StructType\ActivityInfoFields
     */
    public function setInfo3($info3 = null)
    {
        // validation for constraint: string
        if (!is_null($info3) && !is_string($info3)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($info3, true), gettype($info3)), __LINE__);
        }
        $this->Info3 = $info3;
        return $this;
    }
    /**
     * Get Info4 value
     * @return string|null
     */
    public function getInfo4()
    {
        return $this->Info4;
    }
    /**
     * Set Info4 value
     * @param string $info4
     * @return \StructType\ActivityInfoFields
     */
    public function setInfo4($info4 = null)
    {
        // validation for constraint: string
        if (!is_null($info4) && !is_string($info4)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($info4, true), gettype($info4)), __LINE__);
        }
        $this->Info4 = $info4;
        return $this;
    }
    /**
     * Get Info5 value
     * @return string|null
     */
    public function getInfo5()
    {
        return $this->Info5;
    }
    /**
     * Set Info5 value
     * @param string $info5
     * @return \StructType\ActivityInfoFields
     */
    public function setInfo5($info5 = null)
    {
        // validation for constraint: string
        if (!is_null($info5) && !is_string($info5)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($info5, true), gettype($info5)), __LINE__);
        }
        $this->Info5 = $info5;
        return $this;
    }
}
