<?php

namespace App\Integration\Providers\Alliance3\DTO;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for ImportPolicyRequest DTO
 * Meta information extracted from the WSDL
 * - type: tns:ImportPolicyRequest
 * @subpackage Structs
 */
class ImportPolicyRequest extends AbstractStructBase
{
    /**
     * The accID
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $accID;
    /**
     * The extUser
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \App\Integration\Providers\Alliance3\DTO\ExternalSysUser
     */
    public $extUser;
    /**
     * The policy
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \App\Integration\Providers\Alliance3\DTO\Policy
     */
    public $policy;
    /**
     * Constructor method for ImportPolicyRequest
     * @uses ImportPolicyRequest::setAccID()
     * @uses ImportPolicyRequest::setExtUser()
     * @uses ImportPolicyRequest::setPolicy()
     * @param string $accID
     * @param \App\Integration\Providers\Alliance3\DTO\ExternalSysUser $extUser
     * @param \App\Integration\Providers\Alliance3\DTO\Policy $policy
     */
    public function __construct($accID = null, \App\Integration\Providers\Alliance3\DTO\ExternalSysUser $extUser = null, \App\Integration\Providers\Alliance3\DTO\Policy $policy = null)
    {
        $this
            ->setAccID($accID)
            ->setExtUser($extUser)
            ->setPolicy($policy);
    }
    /**
     * Get accID value
     * @return string|null
     */
    public function getAccID()
    {
        return $this->accID;
    }
    /**
     * Set accID value
     * @param string $accID
     * @return \App\Integration\Providers\Alliance3\DTO\ImportPolicyRequest
     */
    public function setAccID($accID = null)
    {
        $this->accID = $accID;
        return $this;
    }
    /**
     * Get extUser value
     * @return \App\Integration\Providers\Alliance3\DTO\ExternalSysUser|null
     */
    public function getExtUser()
    {
        return $this->extUser;
    }
    /**
     * Set extUser value
     * @param \App\Integration\Providers\Alliance3\DTO\ExternalSysUser $extUser
     * @return \App\Integration\Providers\Alliance3\DTO\ImportPolicyRequest
     */
    public function setExtUser(\App\Integration\Providers\Alliance3\DTO\ExternalSysUser $extUser = null)
    {
        $this->extUser = $extUser;
        return $this;
    }
    /**
     * Get policy value
     * @return \App\Integration\Providers\Alliance3\DTO\Policy|null
     */
    public function getPolicy()
    {
        return $this->policy;
    }
    /**
     * Set policy value
     * @param \App\Integration\Providers\Alliance3\DTO\Policy $policy
     * @return \App\Integration\Providers\Alliance3\DTO\ImportPolicyRequest
     */
    public function setPolicy(\App\Integration\Providers\Alliance3\DTO\Policy $policy = null)
    {
        $this->policy = $policy;
        return $this;
    }
}
