<?php

namespace patest\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Security.RecoveryEmailTemplateCompanyParameters StructType
 * @subpackage Structs
 */
class Security_RecoveryEmailTemplateCompanyParameters extends Security_CompanyParameterBase
{
    /**
     * The BallotRecovery_Body
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $BallotRecovery_Body;
    /**
     * The BallotRecovery_Subject
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $BallotRecovery_Subject;
    /**
     * The InstallmentsRecovery_Body
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $InstallmentsRecovery_Body;
    /**
     * The InstallmentsRecovery_Subject
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $InstallmentsRecovery_Subject;
    /**
     * The MembershipRenewalRecovery_Body
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $MembershipRenewalRecovery_Body;
    /**
     * The MembershipRenewalRecovery_Subject
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $MembershipRenewalRecovery_Subject;
    /**
     * The PayByLink_Body
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $PayByLink_Body;
    /**
     * The PayByLink_Subject
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $PayByLink_Subject;
    /**
     * The TicketSchemeRecovery_Body
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $TicketSchemeRecovery_Body;
    /**
     * The TicketSchemeRecovery_Subject
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $TicketSchemeRecovery_Subject;
    /**
     * Constructor method for Security.RecoveryEmailTemplateCompanyParameters
     * @uses Security_RecoveryEmailTemplateCompanyParameters::setBallotRecovery_Body()
     * @uses Security_RecoveryEmailTemplateCompanyParameters::setBallotRecovery_Subject()
     * @uses Security_RecoveryEmailTemplateCompanyParameters::setInstallmentsRecovery_Body()
     * @uses Security_RecoveryEmailTemplateCompanyParameters::setInstallmentsRecovery_Subject()
     * @uses Security_RecoveryEmailTemplateCompanyParameters::setMembershipRenewalRecovery_Body()
     * @uses Security_RecoveryEmailTemplateCompanyParameters::setMembershipRenewalRecovery_Subject()
     * @uses Security_RecoveryEmailTemplateCompanyParameters::setPayByLink_Body()
     * @uses Security_RecoveryEmailTemplateCompanyParameters::setPayByLink_Subject()
     * @uses Security_RecoveryEmailTemplateCompanyParameters::setTicketSchemeRecovery_Body()
     * @uses Security_RecoveryEmailTemplateCompanyParameters::setTicketSchemeRecovery_Subject()
     * @param \patest\StructType\GlobalString $ballotRecovery_Body
     * @param \patest\StructType\GlobalString $ballotRecovery_Subject
     * @param \patest\StructType\GlobalString $installmentsRecovery_Body
     * @param \patest\StructType\GlobalString $installmentsRecovery_Subject
     * @param \patest\StructType\GlobalString $membershipRenewalRecovery_Body
     * @param \patest\StructType\GlobalString $membershipRenewalRecovery_Subject
     * @param \patest\StructType\GlobalString $payByLink_Body
     * @param \patest\StructType\GlobalString $payByLink_Subject
     * @param \patest\StructType\GlobalString $ticketSchemeRecovery_Body
     * @param \patest\StructType\GlobalString $ticketSchemeRecovery_Subject
     */
    public function __construct(\patest\StructType\GlobalString $ballotRecovery_Body = null, \patest\StructType\GlobalString $ballotRecovery_Subject = null, \patest\StructType\GlobalString $installmentsRecovery_Body = null, \patest\StructType\GlobalString $installmentsRecovery_Subject = null, \patest\StructType\GlobalString $membershipRenewalRecovery_Body = null, \patest\StructType\GlobalString $membershipRenewalRecovery_Subject = null, \patest\StructType\GlobalString $payByLink_Body = null, \patest\StructType\GlobalString $payByLink_Subject = null, \patest\StructType\GlobalString $ticketSchemeRecovery_Body = null, \patest\StructType\GlobalString $ticketSchemeRecovery_Subject = null)
    {
        $this
            ->setBallotRecovery_Body($ballotRecovery_Body)
            ->setBallotRecovery_Subject($ballotRecovery_Subject)
            ->setInstallmentsRecovery_Body($installmentsRecovery_Body)
            ->setInstallmentsRecovery_Subject($installmentsRecovery_Subject)
            ->setMembershipRenewalRecovery_Body($membershipRenewalRecovery_Body)
            ->setMembershipRenewalRecovery_Subject($membershipRenewalRecovery_Subject)
            ->setPayByLink_Body($payByLink_Body)
            ->setPayByLink_Subject($payByLink_Subject)
            ->setTicketSchemeRecovery_Body($ticketSchemeRecovery_Body)
            ->setTicketSchemeRecovery_Subject($ticketSchemeRecovery_Subject);
    }
    /**
     * Get BallotRecovery_Body 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 \patest\StructType\GlobalString|null
     */
    public function getBallotRecovery_Body()
    {
        return isset($this->BallotRecovery_Body) ? $this->BallotRecovery_Body : null;
    }
    /**
     * Set BallotRecovery_Body 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 \patest\StructType\GlobalString $ballotRecovery_Body
     * @return \patest\StructType\Security_RecoveryEmailTemplateCompanyParameters
     */
    public function setBallotRecovery_Body(\patest\StructType\GlobalString $ballotRecovery_Body = null)
    {
        if (is_null($ballotRecovery_Body) || (is_array($ballotRecovery_Body) && empty($ballotRecovery_Body))) {
            unset($this->BallotRecovery_Body);
        } else {
            $this->BallotRecovery_Body = $ballotRecovery_Body;
        }
        return $this;
    }
    /**
     * Get BallotRecovery_Subject 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 \patest\StructType\GlobalString|null
     */
    public function getBallotRecovery_Subject()
    {
        return isset($this->BallotRecovery_Subject) ? $this->BallotRecovery_Subject : null;
    }
    /**
     * Set BallotRecovery_Subject 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 \patest\StructType\GlobalString $ballotRecovery_Subject
     * @return \patest\StructType\Security_RecoveryEmailTemplateCompanyParameters
     */
    public function setBallotRecovery_Subject(\patest\StructType\GlobalString $ballotRecovery_Subject = null)
    {
        if (is_null($ballotRecovery_Subject) || (is_array($ballotRecovery_Subject) && empty($ballotRecovery_Subject))) {
            unset($this->BallotRecovery_Subject);
        } else {
            $this->BallotRecovery_Subject = $ballotRecovery_Subject;
        }
        return $this;
    }
    /**
     * Get InstallmentsRecovery_Body 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 \patest\StructType\GlobalString|null
     */
    public function getInstallmentsRecovery_Body()
    {
        return isset($this->InstallmentsRecovery_Body) ? $this->InstallmentsRecovery_Body : null;
    }
    /**
     * Set InstallmentsRecovery_Body 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 \patest\StructType\GlobalString $installmentsRecovery_Body
     * @return \patest\StructType\Security_RecoveryEmailTemplateCompanyParameters
     */
    public function setInstallmentsRecovery_Body(\patest\StructType\GlobalString $installmentsRecovery_Body = null)
    {
        if (is_null($installmentsRecovery_Body) || (is_array($installmentsRecovery_Body) && empty($installmentsRecovery_Body))) {
            unset($this->InstallmentsRecovery_Body);
        } else {
            $this->InstallmentsRecovery_Body = $installmentsRecovery_Body;
        }
        return $this;
    }
    /**
     * Get InstallmentsRecovery_Subject 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 \patest\StructType\GlobalString|null
     */
    public function getInstallmentsRecovery_Subject()
    {
        return isset($this->InstallmentsRecovery_Subject) ? $this->InstallmentsRecovery_Subject : null;
    }
    /**
     * Set InstallmentsRecovery_Subject 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 \patest\StructType\GlobalString $installmentsRecovery_Subject
     * @return \patest\StructType\Security_RecoveryEmailTemplateCompanyParameters
     */
    public function setInstallmentsRecovery_Subject(\patest\StructType\GlobalString $installmentsRecovery_Subject = null)
    {
        if (is_null($installmentsRecovery_Subject) || (is_array($installmentsRecovery_Subject) && empty($installmentsRecovery_Subject))) {
            unset($this->InstallmentsRecovery_Subject);
        } else {
            $this->InstallmentsRecovery_Subject = $installmentsRecovery_Subject;
        }
        return $this;
    }
    /**
     * Get MembershipRenewalRecovery_Body 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 \patest\StructType\GlobalString|null
     */
    public function getMembershipRenewalRecovery_Body()
    {
        return isset($this->MembershipRenewalRecovery_Body) ? $this->MembershipRenewalRecovery_Body : null;
    }
    /**
     * Set MembershipRenewalRecovery_Body 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 \patest\StructType\GlobalString $membershipRenewalRecovery_Body
     * @return \patest\StructType\Security_RecoveryEmailTemplateCompanyParameters
     */
    public function setMembershipRenewalRecovery_Body(\patest\StructType\GlobalString $membershipRenewalRecovery_Body = null)
    {
        if (is_null($membershipRenewalRecovery_Body) || (is_array($membershipRenewalRecovery_Body) && empty($membershipRenewalRecovery_Body))) {
            unset($this->MembershipRenewalRecovery_Body);
        } else {
            $this->MembershipRenewalRecovery_Body = $membershipRenewalRecovery_Body;
        }
        return $this;
    }
    /**
     * Get MembershipRenewalRecovery_Subject 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 \patest\StructType\GlobalString|null
     */
    public function getMembershipRenewalRecovery_Subject()
    {
        return isset($this->MembershipRenewalRecovery_Subject) ? $this->MembershipRenewalRecovery_Subject : null;
    }
    /**
     * Set MembershipRenewalRecovery_Subject 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 \patest\StructType\GlobalString $membershipRenewalRecovery_Subject
     * @return \patest\StructType\Security_RecoveryEmailTemplateCompanyParameters
     */
    public function setMembershipRenewalRecovery_Subject(\patest\StructType\GlobalString $membershipRenewalRecovery_Subject = null)
    {
        if (is_null($membershipRenewalRecovery_Subject) || (is_array($membershipRenewalRecovery_Subject) && empty($membershipRenewalRecovery_Subject))) {
            unset($this->MembershipRenewalRecovery_Subject);
        } else {
            $this->MembershipRenewalRecovery_Subject = $membershipRenewalRecovery_Subject;
        }
        return $this;
    }
    /**
     * Get PayByLink_Body 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 \patest\StructType\GlobalString|null
     */
    public function getPayByLink_Body()
    {
        return isset($this->PayByLink_Body) ? $this->PayByLink_Body : null;
    }
    /**
     * Set PayByLink_Body 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 \patest\StructType\GlobalString $payByLink_Body
     * @return \patest\StructType\Security_RecoveryEmailTemplateCompanyParameters
     */
    public function setPayByLink_Body(\patest\StructType\GlobalString $payByLink_Body = null)
    {
        if (is_null($payByLink_Body) || (is_array($payByLink_Body) && empty($payByLink_Body))) {
            unset($this->PayByLink_Body);
        } else {
            $this->PayByLink_Body = $payByLink_Body;
        }
        return $this;
    }
    /**
     * Get PayByLink_Subject 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 \patest\StructType\GlobalString|null
     */
    public function getPayByLink_Subject()
    {
        return isset($this->PayByLink_Subject) ? $this->PayByLink_Subject : null;
    }
    /**
     * Set PayByLink_Subject 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 \patest\StructType\GlobalString $payByLink_Subject
     * @return \patest\StructType\Security_RecoveryEmailTemplateCompanyParameters
     */
    public function setPayByLink_Subject(\patest\StructType\GlobalString $payByLink_Subject = null)
    {
        if (is_null($payByLink_Subject) || (is_array($payByLink_Subject) && empty($payByLink_Subject))) {
            unset($this->PayByLink_Subject);
        } else {
            $this->PayByLink_Subject = $payByLink_Subject;
        }
        return $this;
    }
    /**
     * Get TicketSchemeRecovery_Body 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 \patest\StructType\GlobalString|null
     */
    public function getTicketSchemeRecovery_Body()
    {
        return isset($this->TicketSchemeRecovery_Body) ? $this->TicketSchemeRecovery_Body : null;
    }
    /**
     * Set TicketSchemeRecovery_Body 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 \patest\StructType\GlobalString $ticketSchemeRecovery_Body
     * @return \patest\StructType\Security_RecoveryEmailTemplateCompanyParameters
     */
    public function setTicketSchemeRecovery_Body(\patest\StructType\GlobalString $ticketSchemeRecovery_Body = null)
    {
        if (is_null($ticketSchemeRecovery_Body) || (is_array($ticketSchemeRecovery_Body) && empty($ticketSchemeRecovery_Body))) {
            unset($this->TicketSchemeRecovery_Body);
        } else {
            $this->TicketSchemeRecovery_Body = $ticketSchemeRecovery_Body;
        }
        return $this;
    }
    /**
     * Get TicketSchemeRecovery_Subject 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 \patest\StructType\GlobalString|null
     */
    public function getTicketSchemeRecovery_Subject()
    {
        return isset($this->TicketSchemeRecovery_Subject) ? $this->TicketSchemeRecovery_Subject : null;
    }
    /**
     * Set TicketSchemeRecovery_Subject 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 \patest\StructType\GlobalString $ticketSchemeRecovery_Subject
     * @return \patest\StructType\Security_RecoveryEmailTemplateCompanyParameters
     */
    public function setTicketSchemeRecovery_Subject(\patest\StructType\GlobalString $ticketSchemeRecovery_Subject = null)
    {
        if (is_null($ticketSchemeRecovery_Subject) || (is_array($ticketSchemeRecovery_Subject) && empty($ticketSchemeRecovery_Subject))) {
            unset($this->TicketSchemeRecovery_Subject);
        } else {
            $this->TicketSchemeRecovery_Subject = $ticketSchemeRecovery_Subject;
        }
        return $this;
    }
}
