<?php

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

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for buttons StructType
 * Meta information extracted from the WSDL
 * - documentation: The list of buttons on this model of Phone.The feature and label of first button cannot be modified.
 * @subpackage Structs
 */
class Buttons extends AbstractStructBase
{
    /**
     * The button
     * Meta information extracted from the WSDL
     * - maxOccurs: unbounded
     * - minOccurs: 0
     * @var \\Losc\CucmBundle\Model\Webservice\StructType\XButton[]
     */
    public $button;
    /**
     * Constructor method for buttons
     * @uses Buttons::setButton()
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XButton[] $button
     */
    public function __construct(array $button = array())
    {
        $this
            ->setButton($button);
    }
    /**
     * Get button value
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XButton[]|null
     */
    public function getButton()
    {
        return $this->button;
    }
    /**
     * Set button value
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XButton[] $button
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\Buttons
     */
    public function setButton(array $button = array())
    {
        $this->button = $button;
        return $this;
    }
    /**
     * Add item to button value
     * @throws \InvalidArgumentException
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XButton $item
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\Buttons
     */
    public function addToButton(\\Losc\CucmBundle\Model\Webservice\StructType\XButton $item)
    {
        $this->button[] = $item;
        return $this;
    }
}
