<?php

namespace App\Integration\Providers\Alliance3\DTO;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for CalcInsPremRequest DTO
 * Meta information extracted from the WSDL
 * - type: tns:CalcInsPremRequest
 * @subpackage Structs
 */
class CalcInsPremRequest extends AbstractStructBase
{
    /**
     * The accID
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $accID;
    /**
     * The productType
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $productType;
    /**
     * The policyCalc
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \App\Integration\Providers\Alliance3\DTO\Policy
     */
    public $policyCalc;
    /**
     * The paramDefaultList
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \App\Integration\Providers\Alliance3\DTO\ParamDefaultList
     */
    public $paramDefaultList;
    /**
     * Constructor method for CalcInsPremRequest
     * @uses CalcInsPremRequest::setAccID()
     * @uses CalcInsPremRequest::setProductType()
     * @uses CalcInsPremRequest::setPolicyCalc()
     * @uses CalcInsPremRequest::setParamDefaultList()
     * @param string $accID
     * @param string $productType
     * @param \App\Integration\Providers\Alliance3\DTO\Policy $policyCalc
     * @param \App\Integration\Providers\Alliance3\DTO\ParamDefaultList $paramDefaultList
     */
    public function __construct($accID = null, $productType = null, \App\Integration\Providers\Alliance3\DTO\Policy $policyCalc = null, \App\Integration\Providers\Alliance3\DTO\ParamDefaultList $paramDefaultList = null)
    {
        $this
            ->setAccID($accID)
            ->setProductType($productType)
            ->setPolicyCalc($policyCalc)
            ->setParamDefaultList($paramDefaultList);
    }
    /**
     * Get accID value
     * @return string|null
     */
    public function getAccID()
    {
        return $this->accID;
    }
    /**
     * Set accID value
     * @param string $accID
     * @return \App\Integration\Providers\Alliance3\DTO\CalcInsPremRequest
     */
    public function setAccID($accID = null)
    {
        $this->accID = $accID;
        return $this;
    }
    /**
     * Get productType value
     * @return string|null
     */
    public function getProductType()
    {
        return $this->productType;
    }
    /**
     * Set productType value
     * @param string $productType
     * @return \App\Integration\Providers\Alliance3\DTO\CalcInsPremRequest
     */
    public function setProductType($productType = null)
    {
        $this->productType = $productType;
        return $this;
    }
    /**
     * Get policyCalc value
     * @return \App\Integration\Providers\Alliance3\DTO\Policy|null
     */
    public function getPolicyCalc()
    {
        return $this->policyCalc;
    }
    /**
     * Set policyCalc value
     * @param \App\Integration\Providers\Alliance3\DTO\Policy $policyCalc
     * @return \App\Integration\Providers\Alliance3\DTO\CalcInsPremRequest
     */
    public function setPolicyCalc(\App\Integration\Providers\Alliance3\DTO\Policy $policyCalc = null)
    {
        $this->policyCalc = $policyCalc;
        return $this;
    }
    /**
     * Get paramDefaultList value
     * @return \App\Integration\Providers\Alliance3\DTO\ParamDefaultList|null
     */
    public function getParamDefaultList()
    {
        return $this->paramDefaultList;
    }
    /**
     * Set paramDefaultList value
     * @param \App\Integration\Providers\Alliance3\DTO\ParamDefaultList $paramDefaultList
     * @return \App\Integration\Providers\Alliance3\DTO\CalcInsPremRequest
     */
    public function setParamDefaultList(\App\Integration\Providers\Alliance3\DTO\ParamDefaultList $paramDefaultList = null)
    {
        $this->paramDefaultList = $paramDefaultList;
        return $this;
    }
}
