<?php

namespace GlsApi\Struct;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for cServicesBool Struct
 * @subpackage Structs
 */
class CServicesBool extends AbstractStructBase
{
    /**
     * The cod
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $cod;
    /**
     * The cod_amount
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var float
     */
    public $cod_amount;
    /**
     * The exw
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $exw;
    /**
     * The rod
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $rod;
    /**
     * The pod
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $pod;
    /**
     * The exc
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $exc;
    /**
     * The ident
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $ident;
    /**
     * The daw
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $daw;
    /**
     * The ps
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $ps;
    /**
     * The pr
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $pr;
    /**
     * The s10
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $s10;
    /**
     * The s12
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $s12;
    /**
     * The sat
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $sat;
    /**
     * The ow
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $ow;
    /**
     * The srs
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $srs;
    /**
     * The sds
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $sds;
    /**
     * The cdx
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $cdx;
    /**
     * The cdx_amount
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var float
     */
    public $cdx_amount;
    /**
     * The cdx_currency
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $cdx_currency;
    /**
     * The ado
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var bool
     */
    public $ado;
    /**
     * Constructor method for cServicesBool
     * @uses CServicesBool::setCod()
     * @uses CServicesBool::setCod_amount()
     * @uses CServicesBool::setExw()
     * @uses CServicesBool::setRod()
     * @uses CServicesBool::setPod()
     * @uses CServicesBool::setExc()
     * @uses CServicesBool::setIdent()
     * @uses CServicesBool::setDaw()
     * @uses CServicesBool::setPs()
     * @uses CServicesBool::setPr()
     * @uses CServicesBool::setS10()
     * @uses CServicesBool::setS12()
     * @uses CServicesBool::setSat()
     * @uses CServicesBool::setOw()
     * @uses CServicesBool::setSrs()
     * @uses CServicesBool::setSds()
     * @uses CServicesBool::setCdx()
     * @uses CServicesBool::setCdx_amount()
     * @uses CServicesBool::setCdx_currency()
     * @uses CServicesBool::setAdo()
     * @param bool $cod
     * @param float $cod_amount
     * @param bool $exw
     * @param bool $rod
     * @param bool $pod
     * @param bool $exc
     * @param bool $ident
     * @param bool $daw
     * @param bool $ps
     * @param bool $pr
     * @param bool $s10
     * @param bool $s12
     * @param bool $sat
     * @param bool $ow
     * @param bool $srs
     * @param bool $sds
     * @param bool $cdx
     * @param float $cdx_amount
     * @param string $cdx_currency
     * @param bool $ado
     */
    public function __construct($cod = null, $cod_amount = null, $exw = null, $rod = null, $pod = null, $exc = null, $ident = null, $daw = null, $ps = null, $pr = null, $s10 = null, $s12 = null, $sat = null, $ow = null, $srs = null, $sds = null, $cdx = null, $cdx_amount = null, $cdx_currency = null, $ado = null)
    {
        $this
            ->setCod($cod)
            ->setCod_amount($cod_amount)
            ->setExw($exw)
            ->setRod($rod)
            ->setPod($pod)
            ->setExc($exc)
            ->setIdent($ident)
            ->setDaw($daw)
            ->setPs($ps)
            ->setPr($pr)
            ->setS10($s10)
            ->setS12($s12)
            ->setSat($sat)
            ->setOw($ow)
            ->setSrs($srs)
            ->setSds($sds)
            ->setCdx($cdx)
            ->setCdx_amount($cdx_amount)
            ->setCdx_currency($cdx_currency)
            ->setAdo($ado);
    }
    /**
     * Get cod value
     * @return bool|null
     */
    public function getCod()
    {
        return $this->cod;
    }
    /**
     * Set cod value
     * @param bool $cod
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setCod($cod = null)
    {
        // validation for constraint: boolean
        if (!is_null($cod) && !is_bool($cod)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($cod, true), gettype($cod)), __LINE__);
        }
        $this->cod = $cod;
        return $this;
    }
    /**
     * Get cod_amount value
     * @return float|null
     */
    public function getCod_amount()
    {
        return $this->cod_amount;
    }
    /**
     * Set cod_amount value
     * @param float $cod_amount
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setCod_amount($cod_amount = null)
    {
        // validation for constraint: float
        if (!is_null($cod_amount) && !(is_float($cod_amount) || is_numeric($cod_amount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($cod_amount, true), gettype($cod_amount)), __LINE__);
        }
        $this->cod_amount = $cod_amount;
        return $this;
    }
    /**
     * Get exw value
     * @return bool|null
     */
    public function getExw()
    {
        return $this->exw;
    }
    /**
     * Set exw value
     * @param bool $exw
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setExw($exw = null)
    {
        // validation for constraint: boolean
        if (!is_null($exw) && !is_bool($exw)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($exw, true), gettype($exw)), __LINE__);
        }
        $this->exw = $exw;
        return $this;
    }
    /**
     * Get rod value
     * @return bool|null
     */
    public function getRod()
    {
        return $this->rod;
    }
    /**
     * Set rod value
     * @param bool $rod
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setRod($rod = null)
    {
        // validation for constraint: boolean
        if (!is_null($rod) && !is_bool($rod)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($rod, true), gettype($rod)), __LINE__);
        }
        $this->rod = $rod;
        return $this;
    }
    /**
     * Get pod value
     * @return bool|null
     */
    public function getPod()
    {
        return $this->pod;
    }
    /**
     * Set pod value
     * @param bool $pod
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setPod($pod = null)
    {
        // validation for constraint: boolean
        if (!is_null($pod) && !is_bool($pod)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($pod, true), gettype($pod)), __LINE__);
        }
        $this->pod = $pod;
        return $this;
    }
    /**
     * Get exc value
     * @return bool|null
     */
    public function getExc()
    {
        return $this->exc;
    }
    /**
     * Set exc value
     * @param bool $exc
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setExc($exc = null)
    {
        // validation for constraint: boolean
        if (!is_null($exc) && !is_bool($exc)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($exc, true), gettype($exc)), __LINE__);
        }
        $this->exc = $exc;
        return $this;
    }
    /**
     * Get ident value
     * @return bool|null
     */
    public function getIdent()
    {
        return $this->ident;
    }
    /**
     * Set ident value
     * @param bool $ident
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setIdent($ident = null)
    {
        // validation for constraint: boolean
        if (!is_null($ident) && !is_bool($ident)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($ident, true), gettype($ident)), __LINE__);
        }
        $this->ident = $ident;
        return $this;
    }
    /**
     * Get daw value
     * @return bool|null
     */
    public function getDaw()
    {
        return $this->daw;
    }
    /**
     * Set daw value
     * @param bool $daw
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setDaw($daw = null)
    {
        // validation for constraint: boolean
        if (!is_null($daw) && !is_bool($daw)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($daw, true), gettype($daw)), __LINE__);
        }
        $this->daw = $daw;
        return $this;
    }
    /**
     * Get ps value
     * @return bool|null
     */
    public function getPs()
    {
        return $this->ps;
    }
    /**
     * Set ps value
     * @param bool $ps
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setPs($ps = null)
    {
        // validation for constraint: boolean
        if (!is_null($ps) && !is_bool($ps)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($ps, true), gettype($ps)), __LINE__);
        }
        $this->ps = $ps;
        return $this;
    }
    /**
     * Get pr value
     * @return bool|null
     */
    public function getPr()
    {
        return $this->pr;
    }
    /**
     * Set pr value
     * @param bool $pr
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setPr($pr = null)
    {
        // validation for constraint: boolean
        if (!is_null($pr) && !is_bool($pr)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($pr, true), gettype($pr)), __LINE__);
        }
        $this->pr = $pr;
        return $this;
    }
    /**
     * Get s10 value
     * @return bool|null
     */
    public function getS10()
    {
        return $this->s10;
    }
    /**
     * Set s10 value
     * @param bool $s10
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setS10($s10 = null)
    {
        // validation for constraint: boolean
        if (!is_null($s10) && !is_bool($s10)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($s10, true), gettype($s10)), __LINE__);
        }
        $this->s10 = $s10;
        return $this;
    }
    /**
     * Get s12 value
     * @return bool|null
     */
    public function getS12()
    {
        return $this->s12;
    }
    /**
     * Set s12 value
     * @param bool $s12
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setS12($s12 = null)
    {
        // validation for constraint: boolean
        if (!is_null($s12) && !is_bool($s12)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($s12, true), gettype($s12)), __LINE__);
        }
        $this->s12 = $s12;
        return $this;
    }
    /**
     * Get sat value
     * @return bool|null
     */
    public function getSat()
    {
        return $this->sat;
    }
    /**
     * Set sat value
     * @param bool $sat
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setSat($sat = null)
    {
        // validation for constraint: boolean
        if (!is_null($sat) && !is_bool($sat)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($sat, true), gettype($sat)), __LINE__);
        }
        $this->sat = $sat;
        return $this;
    }
    /**
     * Get ow value
     * @return bool|null
     */
    public function getOw()
    {
        return $this->ow;
    }
    /**
     * Set ow value
     * @param bool $ow
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setOw($ow = null)
    {
        // validation for constraint: boolean
        if (!is_null($ow) && !is_bool($ow)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($ow, true), gettype($ow)), __LINE__);
        }
        $this->ow = $ow;
        return $this;
    }
    /**
     * Get srs value
     * @return bool|null
     */
    public function getSrs()
    {
        return $this->srs;
    }
    /**
     * Set srs value
     * @param bool $srs
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setSrs($srs = null)
    {
        // validation for constraint: boolean
        if (!is_null($srs) && !is_bool($srs)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($srs, true), gettype($srs)), __LINE__);
        }
        $this->srs = $srs;
        return $this;
    }
    /**
     * Get sds value
     * @return bool|null
     */
    public function getSds()
    {
        return $this->sds;
    }
    /**
     * Set sds value
     * @param bool $sds
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setSds($sds = null)
    {
        // validation for constraint: boolean
        if (!is_null($sds) && !is_bool($sds)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($sds, true), gettype($sds)), __LINE__);
        }
        $this->sds = $sds;
        return $this;
    }
    /**
     * Get cdx value
     * @return bool|null
     */
    public function getCdx()
    {
        return $this->cdx;
    }
    /**
     * Set cdx value
     * @param bool $cdx
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setCdx($cdx = null)
    {
        // validation for constraint: boolean
        if (!is_null($cdx) && !is_bool($cdx)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($cdx, true), gettype($cdx)), __LINE__);
        }
        $this->cdx = $cdx;
        return $this;
    }
    /**
     * Get cdx_amount value
     * @return float|null
     */
    public function getCdx_amount()
    {
        return $this->cdx_amount;
    }
    /**
     * Set cdx_amount value
     * @param float $cdx_amount
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setCdx_amount($cdx_amount = null)
    {
        // validation for constraint: float
        if (!is_null($cdx_amount) && !(is_float($cdx_amount) || is_numeric($cdx_amount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($cdx_amount, true), gettype($cdx_amount)), __LINE__);
        }
        $this->cdx_amount = $cdx_amount;
        return $this;
    }
    /**
     * Get cdx_currency value
     * @return string|null
     */
    public function getCdx_currency()
    {
        return $this->cdx_currency;
    }
    /**
     * Set cdx_currency value
     * @param string $cdx_currency
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setCdx_currency($cdx_currency = null)
    {
        // validation for constraint: string
        if (!is_null($cdx_currency) && !is_string($cdx_currency)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($cdx_currency, true), gettype($cdx_currency)), __LINE__);
        }
        $this->cdx_currency = $cdx_currency;
        return $this;
    }
    /**
     * Get ado value
     * @return bool|null
     */
    public function getAdo()
    {
        return $this->ado;
    }
    /**
     * Set ado value
     * @param bool $ado
     * @return \GlsApi\Struct\CServicesBool
     */
    public function setAdo($ado = null)
    {
        // validation for constraint: boolean
        if (!is_null($ado) && !is_bool($ado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($ado, true), gettype($ado)), __LINE__);
        }
        $this->ado = $ado;
        return $this;
    }
}
