<?php

namespace \Losc\CucmBundle\Model\Webservice\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for XAddOnModule StructType
 * @subpackage Structs
 */
class XAddOnModule extends AbstractStructBase
{
    /**
     * The loadInformation
     * Meta information extracted from the WSDL
     * - documentation: Load Information is either the module's specific load information or the default load information.If any special load information is specified, the special attribute is set to TRUE. Otherwise, the load information is the default for
     * the product.
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var \\Losc\CucmBundle\Model\Webservice\StructType\XLoadInformation
     */
    public $loadInformation;
    /**
     * The model
     * Meta information extracted from the WSDL
     * - documentation: Model ID string.
     * - default: 7914 14-Button Line Expansion Module
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $model;
    /**
     * The index
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $index;
    /**
     * Constructor method for XAddOnModule
     * @uses XAddOnModule::setLoadInformation()
     * @uses XAddOnModule::setModel()
     * @uses XAddOnModule::setIndex()
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XLoadInformation $loadInformation
     * @param string $model
     * @param string $index
     */
    public function __construct(\\Losc\CucmBundle\Model\Webservice\StructType\XLoadInformation $loadInformation = null, $model = '7914 14-Button Line Expansion Module', $index = null)
    {
        $this
            ->setLoadInformation($loadInformation)
            ->setModel($model)
            ->setIndex($index);
    }
    /**
     * Get loadInformation value
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XLoadInformation
     */
    public function getLoadInformation()
    {
        return $this->loadInformation;
    }
    /**
     * Set loadInformation value
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XLoadInformation $loadInformation
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XAddOnModule
     */
    public function setLoadInformation(\\Losc\CucmBundle\Model\Webservice\StructType\XLoadInformation $loadInformation = null)
    {
        $this->loadInformation = $loadInformation;
        return $this;
    }
    /**
     * Get model value
     * @return string
     */
    public function getModel()
    {
        return $this->model;
    }
    /**
     * Set model value
     * @param string $model
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XAddOnModule
     */
    public function setModel($model = '7914 14-Button Line Expansion Module')
    {
        $this->model = $model;
        return $this;
    }
    /**
     * Get index value
     * @return string
     */
    public function getIndex()
    {
        return $this->index;
    }
    /**
     * Set index value
     * @param string $index
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XAddOnModule
     */
    public function setIndex($index = null)
    {
        $this->index = $index;
        return $this;
    }
}
