<?php
use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for getHesapDetaylari StructType
 * @subpackage Structs
 */
class GetHesapDetaylari extends AbstractStructBase
{
    /**
     * The pId
     * Meta information extracted from the WSDL
     * - form: unqualified
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $pId;
    /**
     * The pIdPass
     * Meta information extracted from the WSDL
     * - form: unqualified
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $pIdPass;
    /**
     * The pParams
     * Meta information extracted from the WSDL
     * - form: unqualified
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var HesapDetaylariInput
     */
    public $pParams;
    /**
     * Constructor method for getHesapDetaylari
     * @uses GetHesapDetaylari::setPId()
     * @uses GetHesapDetaylari::setPIdPass()
     * @uses GetHesapDetaylari::setPParams()
     * @param string $pId
     * @param string $pIdPass
     * @param HesapDetaylariInput $pParams
     */
    public function __construct($pId = null, $pIdPass = null, HesapDetaylariInput $pParams = null)
    {
        $this
            ->setPId($pId)
            ->setPIdPass($pIdPass)
            ->setPParams($pParams);
    }
    /**
     * Get pId value
     * @return string|null
     */
    public function getPId()
    {
        return $this->pId;
    }
    /**
     * Set pId value
     * @param string $pId
     * @return GetHesapDetaylari
     */
    public function setPId($pId = null)
    {
        // validation for constraint: string
        if (!is_null($pId) && !is_string($pId)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($pId, true), gettype($pId)), __LINE__);
        }
        $this->pId = $pId;
        return $this;
    }
    /**
     * Get pIdPass value
     * @return string|null
     */
    public function getPIdPass()
    {
        return $this->pIdPass;
    }
    /**
     * Set pIdPass value
     * @param string $pIdPass
     * @return GetHesapDetaylari
     */
    public function setPIdPass($pIdPass = null)
    {
        // validation for constraint: string
        if (!is_null($pIdPass) && !is_string($pIdPass)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($pIdPass, true), gettype($pIdPass)), __LINE__);
        }
        $this->pIdPass = $pIdPass;
        return $this;
    }
    /**
     * Get pParams value
     * @return HesapDetaylariInput|null
     */
    public function getPParams()
    {
        return $this->pParams;
    }
    /**
     * Set pParams value
     * @param HesapDetaylariInput $pParams
     * @return GetHesapDetaylari
     */
    public function setPParams(HesapDetaylariInput $pParams = null)
    {
        $this->pParams = $pParams;
        return $this;
    }
}
