<?php
use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for createChecklistTemplate StructType
 * @subpackage Structs
 */
class CreateChecklistTemplate extends AbstractStructBase
{
    /**
     * The checklistTemplate
     * Meta information extracted from the WSDL
     * - maxOccurs: unbounded
     * - minOccurs: 1
     * @var ChecklistTemplateType[]
     */
    public $checklistTemplate;
    /**
     * Constructor method for createChecklistTemplate
     * @uses CreateChecklistTemplate::setChecklistTemplate()
     * @param ChecklistTemplateType[] $checklistTemplate
     */
    public function __construct(array $checklistTemplate = array())
    {
        $this
            ->setChecklistTemplate($checklistTemplate);
    }
    /**
     * Get checklistTemplate value
     * @return ChecklistTemplateType[]
     */
    public function getChecklistTemplate()
    {
        return $this->checklistTemplate;
    }
    /**
     * Set checklistTemplate value
     * @param ChecklistTemplateType[] $checklistTemplate
     * @return CreateChecklistTemplate
     */
    public function setChecklistTemplate(array $checklistTemplate = array())
    {
        $this->checklistTemplate = $checklistTemplate;
        return $this;
    }
    /**
     * Add item to checklistTemplate value
     * @throws \InvalidArgumentException
     * @param ChecklistTemplateType $item
     * @return CreateChecklistTemplate
     */
    public function addToChecklistTemplate(ChecklistTemplateType $item)
    {
        $this->checklistTemplate[] = $item;
        return $this;
    }
}
