<?php

namespace CustomerManagement\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for RestoreAccountResponse StructType
 * @subpackage Structs
 */
class RestoreAccountResponse extends AbstractStructBase
{
    /**
     * The RestoreAccountResult
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var bool
     */
    public $RestoreAccountResult;
    /**
     * Constructor method for RestoreAccountResponse
     * @uses RestoreAccountResponse::setRestoreAccountResult()
     * @param bool $restoreAccountResult
     */
    public function __construct($restoreAccountResult = null)
    {
        $this
            ->setRestoreAccountResult($restoreAccountResult);
    }
    /**
     * Get RestoreAccountResult value
     * @return bool
     */
    public function getRestoreAccountResult()
    {
        return $this->RestoreAccountResult;
    }
    /**
     * Set RestoreAccountResult value
     * @param bool $restoreAccountResult
     * @return \CustomerManagement\StructType\RestoreAccountResponse
     */
    public function setRestoreAccountResult($restoreAccountResult = null)
    {
        // validation for constraint: boolean
        if (!is_null($restoreAccountResult) && !is_bool($restoreAccountResult)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($restoreAccountResult, true), gettype($restoreAccountResult)), __LINE__);
        }
        $this->RestoreAccountResult = $restoreAccountResult;
        return $this;
    }
}
