<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for ActionsStructure StructType
 * Meta informations extracted from the WSDL
 * - documentation: Type for list of actions.
 * @subpackage Structs
 */
class ActionsStructure extends AbstractStructBase
{
    /**
     * The PublishToWebAction
     * @var \StructType\PublishToWebActionStructure
     */
    public $PublishToWebAction;
    /**
     * The PublishToMobileAction
     * @var \StructType\PublishToMobileActionStructure
     */
    public $PublishToMobileAction;
    /**
     * The PublishToTvAction
     * @var \StructType\PublishToTvActionStructure
     */
    public $PublishToTvAction;
    /**
     * The PublishToAlertsAction
     * @var \StructType\PublishToAlertsActionStructure
     */
    public $PublishToAlertsAction;
    /**
     * The ManualAction
     * @var \StructType\ManualAction
     */
    public $ManualAction;
    /**
     * The NotifyByEmailAction
     * @var \StructType\NotifyByEmailActionStructure
     */
    public $NotifyByEmailAction;
    /**
     * The NotifyBySmsAction
     * @var \StructType\NotifyBySmsActionStructure
     */
    public $NotifyBySmsAction;
    /**
     * The NotifyByPagerAction
     * @var \StructType\NotifyByPagerActionStructure
     */
    public $NotifyByPagerAction;
    /**
     * The NotifyUserAction
     * @var \StructType\NotifyUserActionStructure
     */
    public $NotifyUserAction;
    /**
     * The Extensions
     * Meta informations extracted from the WSDL
     * - documentation: Extension point.
     * - minOccurs: 0
     * @var mixed
     */
    public $Extensions;
    /**
     * Constructor method for ActionsStructure
     * @uses ActionsStructure::setPublishToWebAction()
     * @uses ActionsStructure::setPublishToMobileAction()
     * @uses ActionsStructure::setPublishToTvAction()
     * @uses ActionsStructure::setPublishToAlertsAction()
     * @uses ActionsStructure::setManualAction()
     * @uses ActionsStructure::setNotifyByEmailAction()
     * @uses ActionsStructure::setNotifyBySmsAction()
     * @uses ActionsStructure::setNotifyByPagerAction()
     * @uses ActionsStructure::setNotifyUserAction()
     * @uses ActionsStructure::setExtensions()
     * @param \StructType\PublishToWebActionStructure $publishToWebAction
     * @param \StructType\PublishToMobileActionStructure $publishToMobileAction
     * @param \StructType\PublishToTvActionStructure $publishToTvAction
     * @param \StructType\PublishToAlertsActionStructure $publishToAlertsAction
     * @param \StructType\ManualAction $manualAction
     * @param \StructType\NotifyByEmailActionStructure $notifyByEmailAction
     * @param \StructType\NotifyBySmsActionStructure $notifyBySmsAction
     * @param \StructType\NotifyByPagerActionStructure $notifyByPagerAction
     * @param \StructType\NotifyUserActionStructure $notifyUserAction
     * @param mixed $extensions
     */
    public function __construct(\StructType\PublishToWebActionStructure $publishToWebAction = null, \StructType\PublishToMobileActionStructure $publishToMobileAction = null, \StructType\PublishToTvActionStructure $publishToTvAction = null, \StructType\PublishToAlertsActionStructure $publishToAlertsAction = null, \StructType\ManualAction $manualAction = null, \StructType\NotifyByEmailActionStructure $notifyByEmailAction = null, \StructType\NotifyBySmsActionStructure $notifyBySmsAction = null, \StructType\NotifyByPagerActionStructure $notifyByPagerAction = null, \StructType\NotifyUserActionStructure $notifyUserAction = null, $extensions = null)
    {
        $this
            ->setPublishToWebAction($publishToWebAction)
            ->setPublishToMobileAction($publishToMobileAction)
            ->setPublishToTvAction($publishToTvAction)
            ->setPublishToAlertsAction($publishToAlertsAction)
            ->setManualAction($manualAction)
            ->setNotifyByEmailAction($notifyByEmailAction)
            ->setNotifyBySmsAction($notifyBySmsAction)
            ->setNotifyByPagerAction($notifyByPagerAction)
            ->setNotifyUserAction($notifyUserAction)
            ->setExtensions($extensions);
    }
    /**
     * Get PublishToWebAction value
     * @return \StructType\PublishToWebActionStructure|null
     */
    public function getPublishToWebAction()
    {
        return $this->PublishToWebAction;
    }
    /**
     * Set PublishToWebAction value
     * @param \StructType\PublishToWebActionStructure $publishToWebAction
     * @return \StructType\ActionsStructure
     */
    public function setPublishToWebAction(\StructType\PublishToWebActionStructure $publishToWebAction = null)
    {
        $this->PublishToWebAction = $publishToWebAction;
        return $this;
    }
    /**
     * Get PublishToMobileAction value
     * @return \StructType\PublishToMobileActionStructure|null
     */
    public function getPublishToMobileAction()
    {
        return $this->PublishToMobileAction;
    }
    /**
     * Set PublishToMobileAction value
     * @param \StructType\PublishToMobileActionStructure $publishToMobileAction
     * @return \StructType\ActionsStructure
     */
    public function setPublishToMobileAction(\StructType\PublishToMobileActionStructure $publishToMobileAction = null)
    {
        $this->PublishToMobileAction = $publishToMobileAction;
        return $this;
    }
    /**
     * Get PublishToTvAction value
     * @return \StructType\PublishToTvActionStructure|null
     */
    public function getPublishToTvAction()
    {
        return $this->PublishToTvAction;
    }
    /**
     * Set PublishToTvAction value
     * @param \StructType\PublishToTvActionStructure $publishToTvAction
     * @return \StructType\ActionsStructure
     */
    public function setPublishToTvAction(\StructType\PublishToTvActionStructure $publishToTvAction = null)
    {
        $this->PublishToTvAction = $publishToTvAction;
        return $this;
    }
    /**
     * Get PublishToAlertsAction value
     * @return \StructType\PublishToAlertsActionStructure|null
     */
    public function getPublishToAlertsAction()
    {
        return $this->PublishToAlertsAction;
    }
    /**
     * Set PublishToAlertsAction value
     * @param \StructType\PublishToAlertsActionStructure $publishToAlertsAction
     * @return \StructType\ActionsStructure
     */
    public function setPublishToAlertsAction(\StructType\PublishToAlertsActionStructure $publishToAlertsAction = null)
    {
        $this->PublishToAlertsAction = $publishToAlertsAction;
        return $this;
    }
    /**
     * Get ManualAction value
     * @return \StructType\ManualAction|null
     */
    public function getManualAction()
    {
        return $this->ManualAction;
    }
    /**
     * Set ManualAction value
     * @param \StructType\ManualAction $manualAction
     * @return \StructType\ActionsStructure
     */
    public function setManualAction(\StructType\ManualAction $manualAction = null)
    {
        $this->ManualAction = $manualAction;
        return $this;
    }
    /**
     * Get NotifyByEmailAction value
     * @return \StructType\NotifyByEmailActionStructure|null
     */
    public function getNotifyByEmailAction()
    {
        return $this->NotifyByEmailAction;
    }
    /**
     * Set NotifyByEmailAction value
     * @param \StructType\NotifyByEmailActionStructure $notifyByEmailAction
     * @return \StructType\ActionsStructure
     */
    public function setNotifyByEmailAction(\StructType\NotifyByEmailActionStructure $notifyByEmailAction = null)
    {
        $this->NotifyByEmailAction = $notifyByEmailAction;
        return $this;
    }
    /**
     * Get NotifyBySmsAction value
     * @return \StructType\NotifyBySmsActionStructure|null
     */
    public function getNotifyBySmsAction()
    {
        return $this->NotifyBySmsAction;
    }
    /**
     * Set NotifyBySmsAction value
     * @param \StructType\NotifyBySmsActionStructure $notifyBySmsAction
     * @return \StructType\ActionsStructure
     */
    public function setNotifyBySmsAction(\StructType\NotifyBySmsActionStructure $notifyBySmsAction = null)
    {
        $this->NotifyBySmsAction = $notifyBySmsAction;
        return $this;
    }
    /**
     * Get NotifyByPagerAction value
     * @return \StructType\NotifyByPagerActionStructure|null
     */
    public function getNotifyByPagerAction()
    {
        return $this->NotifyByPagerAction;
    }
    /**
     * Set NotifyByPagerAction value
     * @param \StructType\NotifyByPagerActionStructure $notifyByPagerAction
     * @return \StructType\ActionsStructure
     */
    public function setNotifyByPagerAction(\StructType\NotifyByPagerActionStructure $notifyByPagerAction = null)
    {
        $this->NotifyByPagerAction = $notifyByPagerAction;
        return $this;
    }
    /**
     * Get NotifyUserAction value
     * @return \StructType\NotifyUserActionStructure|null
     */
    public function getNotifyUserAction()
    {
        return $this->NotifyUserAction;
    }
    /**
     * Set NotifyUserAction value
     * @param \StructType\NotifyUserActionStructure $notifyUserAction
     * @return \StructType\ActionsStructure
     */
    public function setNotifyUserAction(\StructType\NotifyUserActionStructure $notifyUserAction = null)
    {
        $this->NotifyUserAction = $notifyUserAction;
        return $this;
    }
    /**
     * Get Extensions value
     * @return mixed|null
     */
    public function getExtensions()
    {
        return $this->Extensions;
    }
    /**
     * Set Extensions value
     * @param mixed $extensions
     * @return \StructType\ActionsStructure
     */
    public function setExtensions($extensions = null)
    {
        $this->Extensions = $extensions;
        return $this;
    }
    /**
     * Method called when an object has been exported with var_export() functions
     * It allows to return an object instantiated with the values
     * @see AbstractStructBase::__set_state()
     * @uses AbstractStructBase::__set_state()
     * @param array $array the exported values
     * @return \StructType\ActionsStructure
     */
    public static function __set_state(array $array)
    {
        return parent::__set_state($array);
    }
    /**
     * Method returning the class name
     * @return string __CLASS__
     */
    public function __toString()
    {
        return __CLASS__;
    }
}
