<?php

namespace patest\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Security.PassbookCompanyParameters StructType
 * @subpackage Structs
 */
class Security_PassbookCompanyParameters extends Security_CompanyParameterBase
{
    /**
     * The AppleRootCertificate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $AppleRootCertificate;
    /**
     * The AppleRootCertificateName
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $AppleRootCertificateName;
    /**
     * The ApplicationCertificate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ApplicationCertificate;
    /**
     * The ApplicationCertificateName
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ApplicationCertificateName;
    /**
     * The ApplicationCertificatePassword
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ApplicationCertificatePassword;
    /**
     * The BackgroundColor
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $BackgroundColor;
    /**
     * The BackgroundImage
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $BackgroundImage;
    /**
     * The DaysAfterEventStartToStopGeneratingPass
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $DaysAfterEventStartToStopGeneratingPass;
    /**
     * The ForegroundColor
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ForegroundColor;
    /**
     * The IconImage
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $IconImage;
    /**
     * The LogoImage
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $LogoImage;
    /**
     * The LogoText
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $LogoText;
    /**
     * The OrganizationName
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $OrganizationName;
    /**
     * The PassBarcodeEncoding
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $PassBarcodeEncoding;
    /**
     * The PassBarcodeType
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $PassBarcodeType;
    /**
     * The PassDescription
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $PassDescription;
    /**
     * The PassTypeIdentifier
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $PassTypeIdentifier;
    /**
     * The TeamIdentifier
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TeamIdentifier;
    /**
     * Constructor method for Security.PassbookCompanyParameters
     * @uses Security_PassbookCompanyParameters::setAppleRootCertificate()
     * @uses Security_PassbookCompanyParameters::setAppleRootCertificateName()
     * @uses Security_PassbookCompanyParameters::setApplicationCertificate()
     * @uses Security_PassbookCompanyParameters::setApplicationCertificateName()
     * @uses Security_PassbookCompanyParameters::setApplicationCertificatePassword()
     * @uses Security_PassbookCompanyParameters::setBackgroundColor()
     * @uses Security_PassbookCompanyParameters::setBackgroundImage()
     * @uses Security_PassbookCompanyParameters::setDaysAfterEventStartToStopGeneratingPass()
     * @uses Security_PassbookCompanyParameters::setForegroundColor()
     * @uses Security_PassbookCompanyParameters::setIconImage()
     * @uses Security_PassbookCompanyParameters::setLogoImage()
     * @uses Security_PassbookCompanyParameters::setLogoText()
     * @uses Security_PassbookCompanyParameters::setOrganizationName()
     * @uses Security_PassbookCompanyParameters::setPassBarcodeEncoding()
     * @uses Security_PassbookCompanyParameters::setPassBarcodeType()
     * @uses Security_PassbookCompanyParameters::setPassDescription()
     * @uses Security_PassbookCompanyParameters::setPassTypeIdentifier()
     * @uses Security_PassbookCompanyParameters::setTeamIdentifier()
     * @param string $appleRootCertificate
     * @param string $appleRootCertificateName
     * @param string $applicationCertificate
     * @param string $applicationCertificateName
     * @param string $applicationCertificatePassword
     * @param string $backgroundColor
     * @param string $backgroundImage
     * @param int $daysAfterEventStartToStopGeneratingPass
     * @param string $foregroundColor
     * @param string $iconImage
     * @param string $logoImage
     * @param string $logoText
     * @param string $organizationName
     * @param string $passBarcodeEncoding
     * @param int $passBarcodeType
     * @param string $passDescription
     * @param string $passTypeIdentifier
     * @param string $teamIdentifier
     */
    public function __construct($appleRootCertificate = null, $appleRootCertificateName = null, $applicationCertificate = null, $applicationCertificateName = null, $applicationCertificatePassword = null, $backgroundColor = null, $backgroundImage = null, $daysAfterEventStartToStopGeneratingPass = null, $foregroundColor = null, $iconImage = null, $logoImage = null, $logoText = null, $organizationName = null, $passBarcodeEncoding = null, $passBarcodeType = null, $passDescription = null, $passTypeIdentifier = null, $teamIdentifier = null)
    {
        $this
            ->setAppleRootCertificate($appleRootCertificate)
            ->setAppleRootCertificateName($appleRootCertificateName)
            ->setApplicationCertificate($applicationCertificate)
            ->setApplicationCertificateName($applicationCertificateName)
            ->setApplicationCertificatePassword($applicationCertificatePassword)
            ->setBackgroundColor($backgroundColor)
            ->setBackgroundImage($backgroundImage)
            ->setDaysAfterEventStartToStopGeneratingPass($daysAfterEventStartToStopGeneratingPass)
            ->setForegroundColor($foregroundColor)
            ->setIconImage($iconImage)
            ->setLogoImage($logoImage)
            ->setLogoText($logoText)
            ->setOrganizationName($organizationName)
            ->setPassBarcodeEncoding($passBarcodeEncoding)
            ->setPassBarcodeType($passBarcodeType)
            ->setPassDescription($passDescription)
            ->setPassTypeIdentifier($passTypeIdentifier)
            ->setTeamIdentifier($teamIdentifier);
    }
    /**
     * Get AppleRootCertificate value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getAppleRootCertificate()
    {
        return isset($this->AppleRootCertificate) ? $this->AppleRootCertificate : null;
    }
    /**
     * Set AppleRootCertificate value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $appleRootCertificate
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setAppleRootCertificate($appleRootCertificate = null)
    {
        // validation for constraint: string
        if (!is_null($appleRootCertificate) && !is_string($appleRootCertificate)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($appleRootCertificate, true), gettype($appleRootCertificate)), __LINE__);
        }
        if (is_null($appleRootCertificate) || (is_array($appleRootCertificate) && empty($appleRootCertificate))) {
            unset($this->AppleRootCertificate);
        } else {
            $this->AppleRootCertificate = $appleRootCertificate;
        }
        return $this;
    }
    /**
     * Get AppleRootCertificateName value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getAppleRootCertificateName()
    {
        return isset($this->AppleRootCertificateName) ? $this->AppleRootCertificateName : null;
    }
    /**
     * Set AppleRootCertificateName value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $appleRootCertificateName
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setAppleRootCertificateName($appleRootCertificateName = null)
    {
        // validation for constraint: string
        if (!is_null($appleRootCertificateName) && !is_string($appleRootCertificateName)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($appleRootCertificateName, true), gettype($appleRootCertificateName)), __LINE__);
        }
        if (is_null($appleRootCertificateName) || (is_array($appleRootCertificateName) && empty($appleRootCertificateName))) {
            unset($this->AppleRootCertificateName);
        } else {
            $this->AppleRootCertificateName = $appleRootCertificateName;
        }
        return $this;
    }
    /**
     * Get ApplicationCertificate value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getApplicationCertificate()
    {
        return isset($this->ApplicationCertificate) ? $this->ApplicationCertificate : null;
    }
    /**
     * Set ApplicationCertificate value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $applicationCertificate
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setApplicationCertificate($applicationCertificate = null)
    {
        // validation for constraint: string
        if (!is_null($applicationCertificate) && !is_string($applicationCertificate)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($applicationCertificate, true), gettype($applicationCertificate)), __LINE__);
        }
        if (is_null($applicationCertificate) || (is_array($applicationCertificate) && empty($applicationCertificate))) {
            unset($this->ApplicationCertificate);
        } else {
            $this->ApplicationCertificate = $applicationCertificate;
        }
        return $this;
    }
    /**
     * Get ApplicationCertificateName value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getApplicationCertificateName()
    {
        return isset($this->ApplicationCertificateName) ? $this->ApplicationCertificateName : null;
    }
    /**
     * Set ApplicationCertificateName value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $applicationCertificateName
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setApplicationCertificateName($applicationCertificateName = null)
    {
        // validation for constraint: string
        if (!is_null($applicationCertificateName) && !is_string($applicationCertificateName)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($applicationCertificateName, true), gettype($applicationCertificateName)), __LINE__);
        }
        if (is_null($applicationCertificateName) || (is_array($applicationCertificateName) && empty($applicationCertificateName))) {
            unset($this->ApplicationCertificateName);
        } else {
            $this->ApplicationCertificateName = $applicationCertificateName;
        }
        return $this;
    }
    /**
     * Get ApplicationCertificatePassword value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getApplicationCertificatePassword()
    {
        return isset($this->ApplicationCertificatePassword) ? $this->ApplicationCertificatePassword : null;
    }
    /**
     * Set ApplicationCertificatePassword value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $applicationCertificatePassword
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setApplicationCertificatePassword($applicationCertificatePassword = null)
    {
        // validation for constraint: string
        if (!is_null($applicationCertificatePassword) && !is_string($applicationCertificatePassword)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($applicationCertificatePassword, true), gettype($applicationCertificatePassword)), __LINE__);
        }
        if (is_null($applicationCertificatePassword) || (is_array($applicationCertificatePassword) && empty($applicationCertificatePassword))) {
            unset($this->ApplicationCertificatePassword);
        } else {
            $this->ApplicationCertificatePassword = $applicationCertificatePassword;
        }
        return $this;
    }
    /**
     * Get BackgroundColor value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getBackgroundColor()
    {
        return isset($this->BackgroundColor) ? $this->BackgroundColor : null;
    }
    /**
     * Set BackgroundColor value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $backgroundColor
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setBackgroundColor($backgroundColor = null)
    {
        // validation for constraint: string
        if (!is_null($backgroundColor) && !is_string($backgroundColor)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($backgroundColor, true), gettype($backgroundColor)), __LINE__);
        }
        if (is_null($backgroundColor) || (is_array($backgroundColor) && empty($backgroundColor))) {
            unset($this->BackgroundColor);
        } else {
            $this->BackgroundColor = $backgroundColor;
        }
        return $this;
    }
    /**
     * Get BackgroundImage value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getBackgroundImage()
    {
        return isset($this->BackgroundImage) ? $this->BackgroundImage : null;
    }
    /**
     * Set BackgroundImage value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $backgroundImage
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setBackgroundImage($backgroundImage = null)
    {
        // validation for constraint: string
        if (!is_null($backgroundImage) && !is_string($backgroundImage)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($backgroundImage, true), gettype($backgroundImage)), __LINE__);
        }
        if (is_null($backgroundImage) || (is_array($backgroundImage) && empty($backgroundImage))) {
            unset($this->BackgroundImage);
        } else {
            $this->BackgroundImage = $backgroundImage;
        }
        return $this;
    }
    /**
     * Get DaysAfterEventStartToStopGeneratingPass value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getDaysAfterEventStartToStopGeneratingPass()
    {
        return isset($this->DaysAfterEventStartToStopGeneratingPass) ? $this->DaysAfterEventStartToStopGeneratingPass : null;
    }
    /**
     * Set DaysAfterEventStartToStopGeneratingPass value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $daysAfterEventStartToStopGeneratingPass
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setDaysAfterEventStartToStopGeneratingPass($daysAfterEventStartToStopGeneratingPass = null)
    {
        // validation for constraint: int
        if (!is_null($daysAfterEventStartToStopGeneratingPass) && !(is_int($daysAfterEventStartToStopGeneratingPass) || ctype_digit($daysAfterEventStartToStopGeneratingPass))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($daysAfterEventStartToStopGeneratingPass, true), gettype($daysAfterEventStartToStopGeneratingPass)), __LINE__);
        }
        if (is_null($daysAfterEventStartToStopGeneratingPass) || (is_array($daysAfterEventStartToStopGeneratingPass) && empty($daysAfterEventStartToStopGeneratingPass))) {
            unset($this->DaysAfterEventStartToStopGeneratingPass);
        } else {
            $this->DaysAfterEventStartToStopGeneratingPass = $daysAfterEventStartToStopGeneratingPass;
        }
        return $this;
    }
    /**
     * Get ForegroundColor value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getForegroundColor()
    {
        return isset($this->ForegroundColor) ? $this->ForegroundColor : null;
    }
    /**
     * Set ForegroundColor value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $foregroundColor
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setForegroundColor($foregroundColor = null)
    {
        // validation for constraint: string
        if (!is_null($foregroundColor) && !is_string($foregroundColor)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($foregroundColor, true), gettype($foregroundColor)), __LINE__);
        }
        if (is_null($foregroundColor) || (is_array($foregroundColor) && empty($foregroundColor))) {
            unset($this->ForegroundColor);
        } else {
            $this->ForegroundColor = $foregroundColor;
        }
        return $this;
    }
    /**
     * Get IconImage value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getIconImage()
    {
        return isset($this->IconImage) ? $this->IconImage : null;
    }
    /**
     * Set IconImage value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $iconImage
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setIconImage($iconImage = null)
    {
        // validation for constraint: string
        if (!is_null($iconImage) && !is_string($iconImage)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($iconImage, true), gettype($iconImage)), __LINE__);
        }
        if (is_null($iconImage) || (is_array($iconImage) && empty($iconImage))) {
            unset($this->IconImage);
        } else {
            $this->IconImage = $iconImage;
        }
        return $this;
    }
    /**
     * Get LogoImage value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getLogoImage()
    {
        return isset($this->LogoImage) ? $this->LogoImage : null;
    }
    /**
     * Set LogoImage value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $logoImage
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setLogoImage($logoImage = null)
    {
        // validation for constraint: string
        if (!is_null($logoImage) && !is_string($logoImage)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($logoImage, true), gettype($logoImage)), __LINE__);
        }
        if (is_null($logoImage) || (is_array($logoImage) && empty($logoImage))) {
            unset($this->LogoImage);
        } else {
            $this->LogoImage = $logoImage;
        }
        return $this;
    }
    /**
     * Get LogoText value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getLogoText()
    {
        return isset($this->LogoText) ? $this->LogoText : null;
    }
    /**
     * Set LogoText value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $logoText
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setLogoText($logoText = null)
    {
        // validation for constraint: string
        if (!is_null($logoText) && !is_string($logoText)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($logoText, true), gettype($logoText)), __LINE__);
        }
        if (is_null($logoText) || (is_array($logoText) && empty($logoText))) {
            unset($this->LogoText);
        } else {
            $this->LogoText = $logoText;
        }
        return $this;
    }
    /**
     * Get OrganizationName value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getOrganizationName()
    {
        return isset($this->OrganizationName) ? $this->OrganizationName : null;
    }
    /**
     * Set OrganizationName value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $organizationName
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setOrganizationName($organizationName = null)
    {
        // validation for constraint: string
        if (!is_null($organizationName) && !is_string($organizationName)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($organizationName, true), gettype($organizationName)), __LINE__);
        }
        if (is_null($organizationName) || (is_array($organizationName) && empty($organizationName))) {
            unset($this->OrganizationName);
        } else {
            $this->OrganizationName = $organizationName;
        }
        return $this;
    }
    /**
     * Get PassBarcodeEncoding value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPassBarcodeEncoding()
    {
        return isset($this->PassBarcodeEncoding) ? $this->PassBarcodeEncoding : null;
    }
    /**
     * Set PassBarcodeEncoding value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $passBarcodeEncoding
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setPassBarcodeEncoding($passBarcodeEncoding = null)
    {
        // validation for constraint: string
        if (!is_null($passBarcodeEncoding) && !is_string($passBarcodeEncoding)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($passBarcodeEncoding, true), gettype($passBarcodeEncoding)), __LINE__);
        }
        if (is_null($passBarcodeEncoding) || (is_array($passBarcodeEncoding) && empty($passBarcodeEncoding))) {
            unset($this->PassBarcodeEncoding);
        } else {
            $this->PassBarcodeEncoding = $passBarcodeEncoding;
        }
        return $this;
    }
    /**
     * Get PassBarcodeType value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getPassBarcodeType()
    {
        return isset($this->PassBarcodeType) ? $this->PassBarcodeType : null;
    }
    /**
     * Set PassBarcodeType value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $passBarcodeType
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setPassBarcodeType($passBarcodeType = null)
    {
        // validation for constraint: int
        if (!is_null($passBarcodeType) && !(is_int($passBarcodeType) || ctype_digit($passBarcodeType))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($passBarcodeType, true), gettype($passBarcodeType)), __LINE__);
        }
        if (is_null($passBarcodeType) || (is_array($passBarcodeType) && empty($passBarcodeType))) {
            unset($this->PassBarcodeType);
        } else {
            $this->PassBarcodeType = $passBarcodeType;
        }
        return $this;
    }
    /**
     * Get PassDescription value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPassDescription()
    {
        return isset($this->PassDescription) ? $this->PassDescription : null;
    }
    /**
     * Set PassDescription value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $passDescription
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setPassDescription($passDescription = null)
    {
        // validation for constraint: string
        if (!is_null($passDescription) && !is_string($passDescription)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($passDescription, true), gettype($passDescription)), __LINE__);
        }
        if (is_null($passDescription) || (is_array($passDescription) && empty($passDescription))) {
            unset($this->PassDescription);
        } else {
            $this->PassDescription = $passDescription;
        }
        return $this;
    }
    /**
     * Get PassTypeIdentifier value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPassTypeIdentifier()
    {
        return isset($this->PassTypeIdentifier) ? $this->PassTypeIdentifier : null;
    }
    /**
     * Set PassTypeIdentifier value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $passTypeIdentifier
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setPassTypeIdentifier($passTypeIdentifier = null)
    {
        // validation for constraint: string
        if (!is_null($passTypeIdentifier) && !is_string($passTypeIdentifier)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($passTypeIdentifier, true), gettype($passTypeIdentifier)), __LINE__);
        }
        if (is_null($passTypeIdentifier) || (is_array($passTypeIdentifier) && empty($passTypeIdentifier))) {
            unset($this->PassTypeIdentifier);
        } else {
            $this->PassTypeIdentifier = $passTypeIdentifier;
        }
        return $this;
    }
    /**
     * Get TeamIdentifier value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTeamIdentifier()
    {
        return isset($this->TeamIdentifier) ? $this->TeamIdentifier : null;
    }
    /**
     * Set TeamIdentifier value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $teamIdentifier
     * @return \patest\StructType\Security_PassbookCompanyParameters
     */
    public function setTeamIdentifier($teamIdentifier = null)
    {
        // validation for constraint: string
        if (!is_null($teamIdentifier) && !is_string($teamIdentifier)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($teamIdentifier, true), gettype($teamIdentifier)), __LINE__);
        }
        if (is_null($teamIdentifier) || (is_array($teamIdentifier) && empty($teamIdentifier))) {
            unset($this->TeamIdentifier);
        } else {
            $this->TeamIdentifier = $teamIdentifier;
        }
        return $this;
    }
}
