<?php

namespace \NineDotMedia\viapost-php;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for CreateAndSendMailPack StructType
 * @subpackage Structs
 */
class CreateAndSendMailPack extends AbstractStructBase
{
    /**
     * The dynamic
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var bool
     */
    public $dynamic;
    /**
     * The shareWithGroup
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var bool
     */
    public $shareWithGroup;
    /**
     * The letterheadID
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var int
     */
    public $letterheadID;
    /**
     * The applyLetterhead
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var bool
     */
    public $applyLetterhead;
    /**
     * The applyToFirstPageOnly
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var bool
     */
    public $applyToFirstPageOnly;
    /**
     * The colour
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var bool
     */
    public $colour;
    /**
     * The simplex
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var bool
     */
    public $simplex;
    /**
     * The mailingListID
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var int
     */
    public $mailingListID;
    /**
     * The sendNow
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var bool
     */
    public $sendNow;
    /**
     * The dateToSend
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $dateToSend;
    /**
     * The emailNotification
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var bool
     */
    public $emailNotification;
    /**
     * The costOfMailing
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var float
     */
    public $costOfMailing;
    /**
     * The numberOfPages
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var int
     */
    public $numberOfPages;
    /**
     * The numberOfSheets
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var int
     */
    public $numberOfSheets;
    /**
     * The loginToken
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $loginToken;
    /**
     * The lettername
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $lettername;
    /**
     * The fileContents
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $fileContents;
    /**
     * The mailPackName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $mailPackName;
    /**
     * The attachmentIDs
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \\NineDotMedia\viapost-php\ArrayOfLong
     */
    public $attachmentIDs;
    /**
     * The applyToOddPagesStr
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $applyToOddPagesStr;
    /**
     * The applyToEvenPagesStr
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $applyToEvenPagesStr;
    /**
     * The applyToAdditionalPagesStr
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $applyToAdditionalPagesStr;
    /**
     * The firstClassStr
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $firstClassStr;
    /**
     * The insertsStr
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $insertsStr;
    /**
     * The costCentreStr
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $costCentreStr;
    /**
     * The affiliateGUID
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $affiliateGUID;
    /**
     * The mailingNameOverride
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $mailingNameOverride;
    /**
     * The returnMessage
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $returnMessage;
    /**
     * Constructor method for CreateAndSendMailPack
     * @uses CreateAndSendMailPack::setDynamic()
     * @uses CreateAndSendMailPack::setShareWithGroup()
     * @uses CreateAndSendMailPack::setLetterheadID()
     * @uses CreateAndSendMailPack::setApplyLetterhead()
     * @uses CreateAndSendMailPack::setApplyToFirstPageOnly()
     * @uses CreateAndSendMailPack::setColour()
     * @uses CreateAndSendMailPack::setSimplex()
     * @uses CreateAndSendMailPack::setMailingListID()
     * @uses CreateAndSendMailPack::setSendNow()
     * @uses CreateAndSendMailPack::setDateToSend()
     * @uses CreateAndSendMailPack::setEmailNotification()
     * @uses CreateAndSendMailPack::setCostOfMailing()
     * @uses CreateAndSendMailPack::setNumberOfPages()
     * @uses CreateAndSendMailPack::setNumberOfSheets()
     * @uses CreateAndSendMailPack::setLoginToken()
     * @uses CreateAndSendMailPack::setLettername()
     * @uses CreateAndSendMailPack::setFileContents()
     * @uses CreateAndSendMailPack::setMailPackName()
     * @uses CreateAndSendMailPack::setAttachmentIDs()
     * @uses CreateAndSendMailPack::setApplyToOddPagesStr()
     * @uses CreateAndSendMailPack::setApplyToEvenPagesStr()
     * @uses CreateAndSendMailPack::setApplyToAdditionalPagesStr()
     * @uses CreateAndSendMailPack::setFirstClassStr()
     * @uses CreateAndSendMailPack::setInsertsStr()
     * @uses CreateAndSendMailPack::setCostCentreStr()
     * @uses CreateAndSendMailPack::setAffiliateGUID()
     * @uses CreateAndSendMailPack::setMailingNameOverride()
     * @uses CreateAndSendMailPack::setReturnMessage()
     * @param bool $dynamic
     * @param bool $shareWithGroup
     * @param int $letterheadID
     * @param bool $applyLetterhead
     * @param bool $applyToFirstPageOnly
     * @param bool $colour
     * @param bool $simplex
     * @param int $mailingListID
     * @param bool $sendNow
     * @param string $dateToSend
     * @param bool $emailNotification
     * @param float $costOfMailing
     * @param int $numberOfPages
     * @param int $numberOfSheets
     * @param string $loginToken
     * @param string $lettername
     * @param string $fileContents
     * @param string $mailPackName
     * @param \\NineDotMedia\viapost-php\ArrayOfLong $attachmentIDs
     * @param string $applyToOddPagesStr
     * @param string $applyToEvenPagesStr
     * @param string $applyToAdditionalPagesStr
     * @param string $firstClassStr
     * @param string $insertsStr
     * @param string $costCentreStr
     * @param string $affiliateGUID
     * @param string $mailingNameOverride
     * @param string $returnMessage
     */
    public function __construct($dynamic = null, $shareWithGroup = null, $letterheadID = null, $applyLetterhead = null, $applyToFirstPageOnly = null, $colour = null, $simplex = null, $mailingListID = null, $sendNow = null, $dateToSend = null, $emailNotification = null, $costOfMailing = null, $numberOfPages = null, $numberOfSheets = null, $loginToken = null, $lettername = null, $fileContents = null, $mailPackName = null, \\NineDotMedia\viapost-php\ArrayOfLong $attachmentIDs = null, $applyToOddPagesStr = null, $applyToEvenPagesStr = null, $applyToAdditionalPagesStr = null, $firstClassStr = null, $insertsStr = null, $costCentreStr = null, $affiliateGUID = null, $mailingNameOverride = null, $returnMessage = null)
    {
        $this
            ->setDynamic($dynamic)
            ->setShareWithGroup($shareWithGroup)
            ->setLetterheadID($letterheadID)
            ->setApplyLetterhead($applyLetterhead)
            ->setApplyToFirstPageOnly($applyToFirstPageOnly)
            ->setColour($colour)
            ->setSimplex($simplex)
            ->setMailingListID($mailingListID)
            ->setSendNow($sendNow)
            ->setDateToSend($dateToSend)
            ->setEmailNotification($emailNotification)
            ->setCostOfMailing($costOfMailing)
            ->setNumberOfPages($numberOfPages)
            ->setNumberOfSheets($numberOfSheets)
            ->setLoginToken($loginToken)
            ->setLettername($lettername)
            ->setFileContents($fileContents)
            ->setMailPackName($mailPackName)
            ->setAttachmentIDs($attachmentIDs)
            ->setApplyToOddPagesStr($applyToOddPagesStr)
            ->setApplyToEvenPagesStr($applyToEvenPagesStr)
            ->setApplyToAdditionalPagesStr($applyToAdditionalPagesStr)
            ->setFirstClassStr($firstClassStr)
            ->setInsertsStr($insertsStr)
            ->setCostCentreStr($costCentreStr)
            ->setAffiliateGUID($affiliateGUID)
            ->setMailingNameOverride($mailingNameOverride)
            ->setReturnMessage($returnMessage);
    }
    /**
     * Get dynamic value
     * @return bool
     */
    public function getDynamic()
    {
        return $this->dynamic;
    }
    /**
     * Set dynamic value
     * @param bool $dynamic
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setDynamic($dynamic = null)
    {
        // validation for constraint: boolean
        if (!is_null($dynamic) && !is_bool($dynamic)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($dynamic, true), gettype($dynamic)), __LINE__);
        }
        $this->dynamic = $dynamic;
        return $this;
    }
    /**
     * Get shareWithGroup value
     * @return bool
     */
    public function getShareWithGroup()
    {
        return $this->shareWithGroup;
    }
    /**
     * Set shareWithGroup value
     * @param bool $shareWithGroup
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setShareWithGroup($shareWithGroup = null)
    {
        // validation for constraint: boolean
        if (!is_null($shareWithGroup) && !is_bool($shareWithGroup)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($shareWithGroup, true), gettype($shareWithGroup)), __LINE__);
        }
        $this->shareWithGroup = $shareWithGroup;
        return $this;
    }
    /**
     * Get letterheadID value
     * @return int
     */
    public function getLetterheadID()
    {
        return $this->letterheadID;
    }
    /**
     * Set letterheadID value
     * @param int $letterheadID
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setLetterheadID($letterheadID = null)
    {
        // validation for constraint: int
        if (!is_null($letterheadID) && !(is_int($letterheadID) || ctype_digit($letterheadID))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($letterheadID, true), gettype($letterheadID)), __LINE__);
        }
        $this->letterheadID = $letterheadID;
        return $this;
    }
    /**
     * Get applyLetterhead value
     * @return bool
     */
    public function getApplyLetterhead()
    {
        return $this->applyLetterhead;
    }
    /**
     * Set applyLetterhead value
     * @param bool $applyLetterhead
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setApplyLetterhead($applyLetterhead = null)
    {
        // validation for constraint: boolean
        if (!is_null($applyLetterhead) && !is_bool($applyLetterhead)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($applyLetterhead, true), gettype($applyLetterhead)), __LINE__);
        }
        $this->applyLetterhead = $applyLetterhead;
        return $this;
    }
    /**
     * Get applyToFirstPageOnly value
     * @return bool
     */
    public function getApplyToFirstPageOnly()
    {
        return $this->applyToFirstPageOnly;
    }
    /**
     * Set applyToFirstPageOnly value
     * @param bool $applyToFirstPageOnly
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setApplyToFirstPageOnly($applyToFirstPageOnly = null)
    {
        // validation for constraint: boolean
        if (!is_null($applyToFirstPageOnly) && !is_bool($applyToFirstPageOnly)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($applyToFirstPageOnly, true), gettype($applyToFirstPageOnly)), __LINE__);
        }
        $this->applyToFirstPageOnly = $applyToFirstPageOnly;
        return $this;
    }
    /**
     * Get colour value
     * @return bool
     */
    public function getColour()
    {
        return $this->colour;
    }
    /**
     * Set colour value
     * @param bool $colour
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setColour($colour = null)
    {
        // validation for constraint: boolean
        if (!is_null($colour) && !is_bool($colour)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colour, true), gettype($colour)), __LINE__);
        }
        $this->colour = $colour;
        return $this;
    }
    /**
     * Get simplex value
     * @return bool
     */
    public function getSimplex()
    {
        return $this->simplex;
    }
    /**
     * Set simplex value
     * @param bool $simplex
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setSimplex($simplex = null)
    {
        // validation for constraint: boolean
        if (!is_null($simplex) && !is_bool($simplex)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($simplex, true), gettype($simplex)), __LINE__);
        }
        $this->simplex = $simplex;
        return $this;
    }
    /**
     * Get mailingListID value
     * @return int
     */
    public function getMailingListID()
    {
        return $this->mailingListID;
    }
    /**
     * Set mailingListID value
     * @param int $mailingListID
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setMailingListID($mailingListID = null)
    {
        // validation for constraint: int
        if (!is_null($mailingListID) && !(is_int($mailingListID) || ctype_digit($mailingListID))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($mailingListID, true), gettype($mailingListID)), __LINE__);
        }
        $this->mailingListID = $mailingListID;
        return $this;
    }
    /**
     * Get sendNow value
     * @return bool
     */
    public function getSendNow()
    {
        return $this->sendNow;
    }
    /**
     * Set sendNow value
     * @param bool $sendNow
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setSendNow($sendNow = null)
    {
        // validation for constraint: boolean
        if (!is_null($sendNow) && !is_bool($sendNow)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($sendNow, true), gettype($sendNow)), __LINE__);
        }
        $this->sendNow = $sendNow;
        return $this;
    }
    /**
     * Get dateToSend value
     * @return string
     */
    public function getDateToSend()
    {
        return $this->dateToSend;
    }
    /**
     * Set dateToSend value
     * @param string $dateToSend
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setDateToSend($dateToSend = null)
    {
        // validation for constraint: string
        if (!is_null($dateToSend) && !is_string($dateToSend)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($dateToSend, true), gettype($dateToSend)), __LINE__);
        }
        $this->dateToSend = $dateToSend;
        return $this;
    }
    /**
     * Get emailNotification value
     * @return bool
     */
    public function getEmailNotification()
    {
        return $this->emailNotification;
    }
    /**
     * Set emailNotification value
     * @param bool $emailNotification
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setEmailNotification($emailNotification = null)
    {
        // validation for constraint: boolean
        if (!is_null($emailNotification) && !is_bool($emailNotification)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($emailNotification, true), gettype($emailNotification)), __LINE__);
        }
        $this->emailNotification = $emailNotification;
        return $this;
    }
    /**
     * Get costOfMailing value
     * @return float
     */
    public function getCostOfMailing()
    {
        return $this->costOfMailing;
    }
    /**
     * Set costOfMailing value
     * @param float $costOfMailing
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setCostOfMailing($costOfMailing = null)
    {
        // validation for constraint: float
        if (!is_null($costOfMailing) && !(is_float($costOfMailing) || is_numeric($costOfMailing))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($costOfMailing, true), gettype($costOfMailing)), __LINE__);
        }
        $this->costOfMailing = $costOfMailing;
        return $this;
    }
    /**
     * Get numberOfPages value
     * @return int
     */
    public function getNumberOfPages()
    {
        return $this->numberOfPages;
    }
    /**
     * Set numberOfPages value
     * @param int $numberOfPages
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setNumberOfPages($numberOfPages = null)
    {
        // validation for constraint: int
        if (!is_null($numberOfPages) && !(is_int($numberOfPages) || ctype_digit($numberOfPages))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($numberOfPages, true), gettype($numberOfPages)), __LINE__);
        }
        $this->numberOfPages = $numberOfPages;
        return $this;
    }
    /**
     * Get numberOfSheets value
     * @return int
     */
    public function getNumberOfSheets()
    {
        return $this->numberOfSheets;
    }
    /**
     * Set numberOfSheets value
     * @param int $numberOfSheets
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setNumberOfSheets($numberOfSheets = null)
    {
        // validation for constraint: int
        if (!is_null($numberOfSheets) && !(is_int($numberOfSheets) || ctype_digit($numberOfSheets))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($numberOfSheets, true), gettype($numberOfSheets)), __LINE__);
        }
        $this->numberOfSheets = $numberOfSheets;
        return $this;
    }
    /**
     * Get loginToken value
     * @return string|null
     */
    public function getLoginToken()
    {
        return $this->loginToken;
    }
    /**
     * Set loginToken value
     * @param string $loginToken
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setLoginToken($loginToken = null)
    {
        // validation for constraint: string
        if (!is_null($loginToken) && !is_string($loginToken)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($loginToken, true), gettype($loginToken)), __LINE__);
        }
        $this->loginToken = $loginToken;
        return $this;
    }
    /**
     * Get lettername value
     * @return string|null
     */
    public function getLettername()
    {
        return $this->lettername;
    }
    /**
     * Set lettername value
     * @param string $lettername
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setLettername($lettername = null)
    {
        // validation for constraint: string
        if (!is_null($lettername) && !is_string($lettername)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($lettername, true), gettype($lettername)), __LINE__);
        }
        $this->lettername = $lettername;
        return $this;
    }
    /**
     * Get fileContents value
     * @return string|null
     */
    public function getFileContents()
    {
        return $this->fileContents;
    }
    /**
     * Set fileContents value
     * @param string $fileContents
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setFileContents($fileContents = null)
    {
        // validation for constraint: string
        if (!is_null($fileContents) && !is_string($fileContents)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($fileContents, true), gettype($fileContents)), __LINE__);
        }
        $this->fileContents = $fileContents;
        return $this;
    }
    /**
     * Get mailPackName value
     * @return string|null
     */
    public function getMailPackName()
    {
        return $this->mailPackName;
    }
    /**
     * Set mailPackName value
     * @param string $mailPackName
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setMailPackName($mailPackName = null)
    {
        // validation for constraint: string
        if (!is_null($mailPackName) && !is_string($mailPackName)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($mailPackName, true), gettype($mailPackName)), __LINE__);
        }
        $this->mailPackName = $mailPackName;
        return $this;
    }
    /**
     * Get attachmentIDs value
     * @return \\NineDotMedia\viapost-php\ArrayOfLong|null
     */
    public function getAttachmentIDs()
    {
        return $this->attachmentIDs;
    }
    /**
     * Set attachmentIDs value
     * @param \\NineDotMedia\viapost-php\ArrayOfLong $attachmentIDs
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setAttachmentIDs(\\NineDotMedia\viapost-php\ArrayOfLong $attachmentIDs = null)
    {
        $this->attachmentIDs = $attachmentIDs;
        return $this;
    }
    /**
     * Get applyToOddPagesStr value
     * @return string|null
     */
    public function getApplyToOddPagesStr()
    {
        return $this->applyToOddPagesStr;
    }
    /**
     * Set applyToOddPagesStr value
     * @param string $applyToOddPagesStr
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setApplyToOddPagesStr($applyToOddPagesStr = null)
    {
        // validation for constraint: string
        if (!is_null($applyToOddPagesStr) && !is_string($applyToOddPagesStr)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($applyToOddPagesStr, true), gettype($applyToOddPagesStr)), __LINE__);
        }
        $this->applyToOddPagesStr = $applyToOddPagesStr;
        return $this;
    }
    /**
     * Get applyToEvenPagesStr value
     * @return string|null
     */
    public function getApplyToEvenPagesStr()
    {
        return $this->applyToEvenPagesStr;
    }
    /**
     * Set applyToEvenPagesStr value
     * @param string $applyToEvenPagesStr
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setApplyToEvenPagesStr($applyToEvenPagesStr = null)
    {
        // validation for constraint: string
        if (!is_null($applyToEvenPagesStr) && !is_string($applyToEvenPagesStr)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($applyToEvenPagesStr, true), gettype($applyToEvenPagesStr)), __LINE__);
        }
        $this->applyToEvenPagesStr = $applyToEvenPagesStr;
        return $this;
    }
    /**
     * Get applyToAdditionalPagesStr value
     * @return string|null
     */
    public function getApplyToAdditionalPagesStr()
    {
        return $this->applyToAdditionalPagesStr;
    }
    /**
     * Set applyToAdditionalPagesStr value
     * @param string $applyToAdditionalPagesStr
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setApplyToAdditionalPagesStr($applyToAdditionalPagesStr = null)
    {
        // validation for constraint: string
        if (!is_null($applyToAdditionalPagesStr) && !is_string($applyToAdditionalPagesStr)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($applyToAdditionalPagesStr, true), gettype($applyToAdditionalPagesStr)), __LINE__);
        }
        $this->applyToAdditionalPagesStr = $applyToAdditionalPagesStr;
        return $this;
    }
    /**
     * Get firstClassStr value
     * @return string|null
     */
    public function getFirstClassStr()
    {
        return $this->firstClassStr;
    }
    /**
     * Set firstClassStr value
     * @param string $firstClassStr
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setFirstClassStr($firstClassStr = null)
    {
        // validation for constraint: string
        if (!is_null($firstClassStr) && !is_string($firstClassStr)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($firstClassStr, true), gettype($firstClassStr)), __LINE__);
        }
        $this->firstClassStr = $firstClassStr;
        return $this;
    }
    /**
     * Get insertsStr value
     * @return string|null
     */
    public function getInsertsStr()
    {
        return $this->insertsStr;
    }
    /**
     * Set insertsStr value
     * @param string $insertsStr
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setInsertsStr($insertsStr = null)
    {
        // validation for constraint: string
        if (!is_null($insertsStr) && !is_string($insertsStr)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($insertsStr, true), gettype($insertsStr)), __LINE__);
        }
        $this->insertsStr = $insertsStr;
        return $this;
    }
    /**
     * Get costCentreStr value
     * @return string|null
     */
    public function getCostCentreStr()
    {
        return $this->costCentreStr;
    }
    /**
     * Set costCentreStr value
     * @param string $costCentreStr
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setCostCentreStr($costCentreStr = null)
    {
        // validation for constraint: string
        if (!is_null($costCentreStr) && !is_string($costCentreStr)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($costCentreStr, true), gettype($costCentreStr)), __LINE__);
        }
        $this->costCentreStr = $costCentreStr;
        return $this;
    }
    /**
     * Get affiliateGUID value
     * @return string|null
     */
    public function getAffiliateGUID()
    {
        return $this->affiliateGUID;
    }
    /**
     * Set affiliateGUID value
     * @param string $affiliateGUID
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setAffiliateGUID($affiliateGUID = null)
    {
        // validation for constraint: string
        if (!is_null($affiliateGUID) && !is_string($affiliateGUID)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($affiliateGUID, true), gettype($affiliateGUID)), __LINE__);
        }
        $this->affiliateGUID = $affiliateGUID;
        return $this;
    }
    /**
     * Get mailingNameOverride value
     * @return string|null
     */
    public function getMailingNameOverride()
    {
        return $this->mailingNameOverride;
    }
    /**
     * Set mailingNameOverride value
     * @param string $mailingNameOverride
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setMailingNameOverride($mailingNameOverride = null)
    {
        // validation for constraint: string
        if (!is_null($mailingNameOverride) && !is_string($mailingNameOverride)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($mailingNameOverride, true), gettype($mailingNameOverride)), __LINE__);
        }
        $this->mailingNameOverride = $mailingNameOverride;
        return $this;
    }
    /**
     * Get returnMessage value
     * @return string|null
     */
    public function getReturnMessage()
    {
        return $this->returnMessage;
    }
    /**
     * Set returnMessage value
     * @param string $returnMessage
     * @return \\NineDotMedia\viapost-php\CreateAndSendMailPack
     */
    public function setReturnMessage($returnMessage = null)
    {
        // validation for constraint: string
        if (!is_null($returnMessage) && !is_string($returnMessage)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($returnMessage, true), gettype($returnMessage)), __LINE__);
        }
        $this->returnMessage = $returnMessage;
        return $this;
    }
}
