<?php

namespace \NineDotMedia\Viapost\Struct;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for GetLibraryInsertsResponse Struct
 * @subpackage Structs
 */
class GetLibraryInsertsResponse extends AbstractStructBase
{
    /**
     * The GetLibraryInsertsResult
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var bool
     */
    public $GetLibraryInsertsResult;
    /**
     * The inserts
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \\NineDotMedia\Viapost\Array\ArrayOfAnyType
     */
    public $inserts;
    /**
     * The returnMessage
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $returnMessage;
    /**
     * Constructor method for GetLibraryInsertsResponse
     * @uses GetLibraryInsertsResponse::setGetLibraryInsertsResult()
     * @uses GetLibraryInsertsResponse::setInserts()
     * @uses GetLibraryInsertsResponse::setReturnMessage()
     * @param bool $getLibraryInsertsResult
     * @param \\NineDotMedia\Viapost\Array\ArrayOfAnyType $inserts
     * @param string $returnMessage
     */
    public function __construct($getLibraryInsertsResult = null, \\NineDotMedia\Viapost\Array\ArrayOfAnyType $inserts = null, $returnMessage = null)
    {
        $this
            ->setGetLibraryInsertsResult($getLibraryInsertsResult)
            ->setInserts($inserts)
            ->setReturnMessage($returnMessage);
    }
    /**
     * Get GetLibraryInsertsResult value
     * @return bool
     */
    public function getGetLibraryInsertsResult()
    {
        return $this->GetLibraryInsertsResult;
    }
    /**
     * Set GetLibraryInsertsResult value
     * @param bool $getLibraryInsertsResult
     * @return \\NineDotMedia\Viapost\Struct\GetLibraryInsertsResponse
     */
    public function setGetLibraryInsertsResult($getLibraryInsertsResult = null)
    {
        // validation for constraint: boolean
        if (!is_null($getLibraryInsertsResult) && !is_bool($getLibraryInsertsResult)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($getLibraryInsertsResult, true), gettype($getLibraryInsertsResult)), __LINE__);
        }
        $this->GetLibraryInsertsResult = $getLibraryInsertsResult;
        return $this;
    }
    /**
     * Get inserts value
     * @return \\NineDotMedia\Viapost\Array\ArrayOfAnyType|null
     */
    public function getInserts()
    {
        return $this->inserts;
    }
    /**
     * Set inserts value
     * @param \\NineDotMedia\Viapost\Array\ArrayOfAnyType $inserts
     * @return \\NineDotMedia\Viapost\Struct\GetLibraryInsertsResponse
     */
    public function setInserts(\\NineDotMedia\Viapost\Array\ArrayOfAnyType $inserts = null)
    {
        $this->inserts = $inserts;
        return $this;
    }
    /**
     * Get returnMessage value
     * @return string|null
     */
    public function getReturnMessage()
    {
        return $this->returnMessage;
    }
    /**
     * Set returnMessage value
     * @param string $returnMessage
     * @return \\NineDotMedia\Viapost\Struct\GetLibraryInsertsResponse
     */
    public function setReturnMessage($returnMessage = null)
    {
        // validation for constraint: string
        if (!is_null($returnMessage) && !is_string($returnMessage)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($returnMessage, true), gettype($returnMessage)), __LINE__);
        }
        $this->returnMessage = $returnMessage;
        return $this;
    }
}
