<?php

namespace App\Integration\Providers\Alliance3\DTO;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for getDictionaries DTO
 * Meta information extracted from the WSDL
 * - type: tns:getDictionaries
 * @subpackage Structs
 */
class GetDictionaries extends AbstractStructBase
{
    /**
     * The accID
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $accID;
    /**
     * The product
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $product;
    /**
     * The dictionaryCode
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $dictionaryCode;
    /**
     * The dictionaryConstraint
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \App\Integration\Providers\Alliance3\DTO\DictionaryConstraint
     */
    public $dictionaryConstraint;
    /**
     * Constructor method for getDictionaries
     * @uses GetDictionaries::setAccID()
     * @uses GetDictionaries::setProduct()
     * @uses GetDictionaries::setDictionaryCode()
     * @uses GetDictionaries::setDictionaryConstraint()
     * @param string $accID
     * @param string $product
     * @param string $dictionaryCode
     * @param \App\Integration\Providers\Alliance3\DTO\DictionaryConstraint $dictionaryConstraint
     */
    public function __construct($accID = null, $product = null, $dictionaryCode = null, \App\Integration\Providers\Alliance3\DTO\DictionaryConstraint $dictionaryConstraint = null)
    {
        $this
            ->setAccID($accID)
            ->setProduct($product)
            ->setDictionaryCode($dictionaryCode)
            ->setDictionaryConstraint($dictionaryConstraint);
    }
    /**
     * Get accID value
     * @return string|null
     */
    public function getAccID()
    {
        return $this->accID;
    }
    /**
     * Set accID value
     * @param string $accID
     * @return \App\Integration\Providers\Alliance3\DTO\GetDictionaries
     */
    public function setAccID($accID = null)
    {
        $this->accID = $accID;
        return $this;
    }
    /**
     * Get product value
     * @return string|null
     */
    public function getProduct()
    {
        return $this->product;
    }
    /**
     * Set product value
     * @param string $product
     * @return \App\Integration\Providers\Alliance3\DTO\GetDictionaries
     */
    public function setProduct($product = null)
    {
        $this->product = $product;
        return $this;
    }
    /**
     * Get dictionaryCode value
     * @return string|null
     */
    public function getDictionaryCode()
    {
        return $this->dictionaryCode;
    }
    /**
     * Set dictionaryCode value
     * @param string $dictionaryCode
     * @return \App\Integration\Providers\Alliance3\DTO\GetDictionaries
     */
    public function setDictionaryCode($dictionaryCode = null)
    {
        $this->dictionaryCode = $dictionaryCode;
        return $this;
    }
    /**
     * Get dictionaryConstraint value
     * @return \App\Integration\Providers\Alliance3\DTO\DictionaryConstraint|null
     */
    public function getDictionaryConstraint()
    {
        return $this->dictionaryConstraint;
    }
    /**
     * Set dictionaryConstraint value
     * @param \App\Integration\Providers\Alliance3\DTO\DictionaryConstraint $dictionaryConstraint
     * @return \App\Integration\Providers\Alliance3\DTO\GetDictionaries
     */
    public function setDictionaryConstraint(\App\Integration\Providers\Alliance3\DTO\DictionaryConstraint $dictionaryConstraint = null)
    {
        $this->dictionaryConstraint = $dictionaryConstraint;
        return $this;
    }
}
