<?php

namespace patest\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for BackOfficeUI.Ticketing.Event StructType
 * @subpackage Structs
 */
class BackOfficeUI_Ticketing_Event extends Ticketing_Event
{
    /**
     * The EventType1IdName
     * Meta information extracted from the WSDL
     * - documentation: Calculated.
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $EventType1IdName;
    /**
     * The EventType2IdName
     * Meta information extracted from the WSDL
     * - documentation: Calculated.
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $EventType2IdName;
    /**
     * The EventType3IdName
     * Meta information extracted from the WSDL
     * - documentation: Calculated.
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $EventType3IdName;
    /**
     * The EventType4IdName
     * Meta information extracted from the WSDL
     * - documentation: Calculated.
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $EventType4IdName;
    /**
     * The EventType5IdName
     * Meta information extracted from the WSDL
     * - documentation: Calculated.
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $EventType5IdName;
    /**
     * The EventTypeName
     * Meta information extracted from the WSDL
     * - documentation: Calculated.
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $EventTypeName;
    /**
     * Constructor method for BackOfficeUI.Ticketing.Event
     * @uses BackOfficeUI_Ticketing_Event::setEventType1IdName()
     * @uses BackOfficeUI_Ticketing_Event::setEventType2IdName()
     * @uses BackOfficeUI_Ticketing_Event::setEventType3IdName()
     * @uses BackOfficeUI_Ticketing_Event::setEventType4IdName()
     * @uses BackOfficeUI_Ticketing_Event::setEventType5IdName()
     * @uses BackOfficeUI_Ticketing_Event::setEventTypeName()
     * @param \patest\StructType\GlobalString $eventType1IdName
     * @param \patest\StructType\GlobalString $eventType2IdName
     * @param \patest\StructType\GlobalString $eventType3IdName
     * @param \patest\StructType\GlobalString $eventType4IdName
     * @param \patest\StructType\GlobalString $eventType5IdName
     * @param \patest\StructType\GlobalString $eventTypeName
     */
    public function __construct(\patest\StructType\GlobalString $eventType1IdName = null, \patest\StructType\GlobalString $eventType2IdName = null, \patest\StructType\GlobalString $eventType3IdName = null, \patest\StructType\GlobalString $eventType4IdName = null, \patest\StructType\GlobalString $eventType5IdName = null, \patest\StructType\GlobalString $eventTypeName = null)
    {
        $this
            ->setEventType1IdName($eventType1IdName)
            ->setEventType2IdName($eventType2IdName)
            ->setEventType3IdName($eventType3IdName)
            ->setEventType4IdName($eventType4IdName)
            ->setEventType5IdName($eventType5IdName)
            ->setEventTypeName($eventTypeName);
    }
    /**
     * Get EventType1IdName value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return \patest\StructType\GlobalString|null
     */
    public function getEventType1IdName()
    {
        return isset($this->EventType1IdName) ? $this->EventType1IdName : null;
    }
    /**
     * Set EventType1IdName value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param \patest\StructType\GlobalString $eventType1IdName
     * @return \patest\StructType\BackOfficeUI_Ticketing_Event
     */
    public function setEventType1IdName(\patest\StructType\GlobalString $eventType1IdName = null)
    {
        if (is_null($eventType1IdName) || (is_array($eventType1IdName) && empty($eventType1IdName))) {
            unset($this->EventType1IdName);
        } else {
            $this->EventType1IdName = $eventType1IdName;
        }
        return $this;
    }
    /**
     * Get EventType2IdName value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return \patest\StructType\GlobalString|null
     */
    public function getEventType2IdName()
    {
        return isset($this->EventType2IdName) ? $this->EventType2IdName : null;
    }
    /**
     * Set EventType2IdName value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param \patest\StructType\GlobalString $eventType2IdName
     * @return \patest\StructType\BackOfficeUI_Ticketing_Event
     */
    public function setEventType2IdName(\patest\StructType\GlobalString $eventType2IdName = null)
    {
        if (is_null($eventType2IdName) || (is_array($eventType2IdName) && empty($eventType2IdName))) {
            unset($this->EventType2IdName);
        } else {
            $this->EventType2IdName = $eventType2IdName;
        }
        return $this;
    }
    /**
     * Get EventType3IdName value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return \patest\StructType\GlobalString|null
     */
    public function getEventType3IdName()
    {
        return isset($this->EventType3IdName) ? $this->EventType3IdName : null;
    }
    /**
     * Set EventType3IdName value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param \patest\StructType\GlobalString $eventType3IdName
     * @return \patest\StructType\BackOfficeUI_Ticketing_Event
     */
    public function setEventType3IdName(\patest\StructType\GlobalString $eventType3IdName = null)
    {
        if (is_null($eventType3IdName) || (is_array($eventType3IdName) && empty($eventType3IdName))) {
            unset($this->EventType3IdName);
        } else {
            $this->EventType3IdName = $eventType3IdName;
        }
        return $this;
    }
    /**
     * Get EventType4IdName value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return \patest\StructType\GlobalString|null
     */
    public function getEventType4IdName()
    {
        return isset($this->EventType4IdName) ? $this->EventType4IdName : null;
    }
    /**
     * Set EventType4IdName value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param \patest\StructType\GlobalString $eventType4IdName
     * @return \patest\StructType\BackOfficeUI_Ticketing_Event
     */
    public function setEventType4IdName(\patest\StructType\GlobalString $eventType4IdName = null)
    {
        if (is_null($eventType4IdName) || (is_array($eventType4IdName) && empty($eventType4IdName))) {
            unset($this->EventType4IdName);
        } else {
            $this->EventType4IdName = $eventType4IdName;
        }
        return $this;
    }
    /**
     * Get EventType5IdName value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return \patest\StructType\GlobalString|null
     */
    public function getEventType5IdName()
    {
        return isset($this->EventType5IdName) ? $this->EventType5IdName : null;
    }
    /**
     * Set EventType5IdName value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param \patest\StructType\GlobalString $eventType5IdName
     * @return \patest\StructType\BackOfficeUI_Ticketing_Event
     */
    public function setEventType5IdName(\patest\StructType\GlobalString $eventType5IdName = null)
    {
        if (is_null($eventType5IdName) || (is_array($eventType5IdName) && empty($eventType5IdName))) {
            unset($this->EventType5IdName);
        } else {
            $this->EventType5IdName = $eventType5IdName;
        }
        return $this;
    }
    /**
     * Get EventTypeName value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return \patest\StructType\GlobalString|null
     */
    public function getEventTypeName()
    {
        return isset($this->EventTypeName) ? $this->EventTypeName : null;
    }
    /**
     * Set EventTypeName value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param \patest\StructType\GlobalString $eventTypeName
     * @return \patest\StructType\BackOfficeUI_Ticketing_Event
     */
    public function setEventTypeName(\patest\StructType\GlobalString $eventTypeName = null)
    {
        if (is_null($eventTypeName) || (is_array($eventTypeName) && empty($eventTypeName))) {
            unset($this->EventTypeName);
        } else {
            $this->EventTypeName = $eventTypeName;
        }
        return $this;
    }
}
