<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Company_Asset_Book_Restriction_Data_ResponseType
 * StructType
 * Meta information extracted from the WSDL
 * - documentation: Responds with the IDs of the created or updated Company Asset Book Restrictions.
 * @subpackage Structs
 */
class Company_Asset_Book_Restriction_Data_ResponseType extends AbstractStructBase
{
    /**
     * The ID_Reference
     * Meta information extracted from the WSDL
     * - documentation: ID of the created or updated Company Asset Book Restriction.
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $ID_Reference;
    /**
     * Constructor method for Company_Asset_Book_Restriction_Data_ResponseType
     * @uses Company_Asset_Book_Restriction_Data_ResponseType::setID_Reference()
     * @param string $iD_Reference
     */
    public function __construct($iD_Reference = null)
    {
        $this
            ->setID_Reference($iD_Reference);
    }
    /**
     * Get ID_Reference value
     * @return string|null
     */
    public function getID_Reference()
    {
        return $this->ID_Reference;
    }
    /**
     * Set ID_Reference value
     * @param string $iD_Reference
     * @return \StructType\Company_Asset_Book_Restriction_Data_ResponseType
     */
    public function setID_Reference($iD_Reference = null)
    {
        // validation for constraint: string
        if (!is_null($iD_Reference) && !is_string($iD_Reference)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($iD_Reference, true), gettype($iD_Reference)), __LINE__);
        }
        $this->ID_Reference = $iD_Reference;
        return $this;
    }
}
