<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for TransactionBodyCustomField StructType
 * Meta information extracted from the WSDL
 * - type: setupCustom:TransactionBodyCustomField
 * @subpackage Structs
 */
class TransactionBodyCustomField extends CustomFieldType
{
    /**
     * The label
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $label;
    /**
     * The owner
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\RecordRef
     */
    public $owner;
    /**
     * The description
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $description;
    /**
     * The selectRecordType
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\RecordRef
     */
    public $selectRecordType;
    /**
     * The storeValue
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $storeValue;
    /**
     * The showInList
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $showInList;
    /**
     * The globalSearch
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $globalSearch;
    /**
     * The isParent
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $isParent;
    /**
     * The insertBefore
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\RecordRef
     */
    public $insertBefore;
    /**
     * The subtab
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\RecordRef
     */
    public $subtab;
    /**
     * The availableToSso
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $availableToSso;
    /**
     * The displayType
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $displayType;
    /**
     * The displayWidth
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $displayWidth;
    /**
     * The displayHeight
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $displayHeight;
    /**
     * The help
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $help;
    /**
     * The parentSubtab
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\RecordRef
     */
    public $parentSubtab;
    /**
     * The linkText
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $linkText;
    /**
     * The isMandatory
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $isMandatory;
    /**
     * The checkSpelling
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $checkSpelling;
    /**
     * The maxLength
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $maxLength;
    /**
     * The minValue
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $minValue;
    /**
     * The maxValue
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $maxValue;
    /**
     * The defaultChecked
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $defaultChecked;
    /**
     * The defaultValue
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $defaultValue;
    /**
     * The isFormula
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $isFormula;
    /**
     * The defaultSelection
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\RecordRef
     */
    public $defaultSelection;
    /**
     * The dynamicDefault
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $dynamicDefault;
    /**
     * The searchDefault
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\RecordRef
     */
    public $searchDefault;
    /**
     * The searchCompareField
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\RecordRef
     */
    public $searchCompareField;
    /**
     * The sourceList
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\RecordRef
     */
    public $sourceList;
    /**
     * The sourceFrom
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\RecordRef
     */
    public $sourceFrom;
    /**
     * The sourceFilterBy
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\RecordRef
     */
    public $sourceFilterBy;
    /**
     * The customSegment
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\RecordRef
     */
    public $customSegment;
    /**
     * The bodyPurchase
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyPurchase;
    /**
     * The bodySale
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodySale;
    /**
     * The bodyOpportunity
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyOpportunity;
    /**
     * The bodyJournal
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyJournal;
    /**
     * The bodyExpenseReport
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyExpenseReport;
    /**
     * The bodyStore
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyStore;
    /**
     * The bodyTransferOrder
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyTransferOrder;
    /**
     * The bodyItemReceipt
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyItemReceipt;
    /**
     * The bodyItemReceiptOrder
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyItemReceiptOrder;
    /**
     * The bodyItemFulfillment
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyItemFulfillment;
    /**
     * The bodyItemFulfillmentOrder
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyItemFulfillmentOrder;
    /**
     * The bodyInventoryAdjustment
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyInventoryAdjustment;
    /**
     * The bodyBTegata
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyBTegata;
    /**
     * The bodyAssemblyBuild
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyAssemblyBuild;
    /**
     * The bodyPrintFlag
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyPrintFlag;
    /**
     * The bodyPickingTicket
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyPickingTicket;
    /**
     * The bodyOtherTransaction
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyOtherTransaction;
    /**
     * The bodyPrintPackingSlip
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyPrintPackingSlip;
    /**
     * The bodyCustomerPayment
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyCustomerPayment;
    /**
     * The bodyVendorPayment
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyVendorPayment;
    /**
     * The bodyDeposit
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyDeposit;
    /**
     * The bodyBom
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyBom;
    /**
     * The bodyPrintStatement
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $bodyPrintStatement;
    /**
     * The filterList
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\TransactionBodyCustomFieldFilterList
     */
    public $filterList;
    /**
     * The accessLevel
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $accessLevel;
    /**
     * The searchLevel
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $searchLevel;
    /**
     * The roleAccessList
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\CustomFieldRoleAccessList
     */
    public $roleAccessList;
    /**
     * The deptAccessList
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\CustomFieldDepartmentAccessList
     */
    public $deptAccessList;
    /**
     * The subAccessList
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\CustomFieldSubAccessList
     */
    public $subAccessList;
    /**
     * The translationsList
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\CustomFieldTranslationsList
     */
    public $translationsList;
    /**
     * The internalId
     * @var string
     */
    public $internalId;
    /**
     * Constructor method for TransactionBodyCustomField
     * @uses TransactionBodyCustomField::setLabel()
     * @uses TransactionBodyCustomField::setOwner()
     * @uses TransactionBodyCustomField::setDescription()
     * @uses TransactionBodyCustomField::setSelectRecordType()
     * @uses TransactionBodyCustomField::setStoreValue()
     * @uses TransactionBodyCustomField::setShowInList()
     * @uses TransactionBodyCustomField::setGlobalSearch()
     * @uses TransactionBodyCustomField::setIsParent()
     * @uses TransactionBodyCustomField::setInsertBefore()
     * @uses TransactionBodyCustomField::setSubtab()
     * @uses TransactionBodyCustomField::setAvailableToSso()
     * @uses TransactionBodyCustomField::setDisplayType()
     * @uses TransactionBodyCustomField::setDisplayWidth()
     * @uses TransactionBodyCustomField::setDisplayHeight()
     * @uses TransactionBodyCustomField::setHelp()
     * @uses TransactionBodyCustomField::setParentSubtab()
     * @uses TransactionBodyCustomField::setLinkText()
     * @uses TransactionBodyCustomField::setIsMandatory()
     * @uses TransactionBodyCustomField::setCheckSpelling()
     * @uses TransactionBodyCustomField::setMaxLength()
     * @uses TransactionBodyCustomField::setMinValue()
     * @uses TransactionBodyCustomField::setMaxValue()
     * @uses TransactionBodyCustomField::setDefaultChecked()
     * @uses TransactionBodyCustomField::setDefaultValue()
     * @uses TransactionBodyCustomField::setIsFormula()
     * @uses TransactionBodyCustomField::setDefaultSelection()
     * @uses TransactionBodyCustomField::setDynamicDefault()
     * @uses TransactionBodyCustomField::setSearchDefault()
     * @uses TransactionBodyCustomField::setSearchCompareField()
     * @uses TransactionBodyCustomField::setSourceList()
     * @uses TransactionBodyCustomField::setSourceFrom()
     * @uses TransactionBodyCustomField::setSourceFilterBy()
     * @uses TransactionBodyCustomField::setCustomSegment()
     * @uses TransactionBodyCustomField::setBodyPurchase()
     * @uses TransactionBodyCustomField::setBodySale()
     * @uses TransactionBodyCustomField::setBodyOpportunity()
     * @uses TransactionBodyCustomField::setBodyJournal()
     * @uses TransactionBodyCustomField::setBodyExpenseReport()
     * @uses TransactionBodyCustomField::setBodyStore()
     * @uses TransactionBodyCustomField::setBodyTransferOrder()
     * @uses TransactionBodyCustomField::setBodyItemReceipt()
     * @uses TransactionBodyCustomField::setBodyItemReceiptOrder()
     * @uses TransactionBodyCustomField::setBodyItemFulfillment()
     * @uses TransactionBodyCustomField::setBodyItemFulfillmentOrder()
     * @uses TransactionBodyCustomField::setBodyInventoryAdjustment()
     * @uses TransactionBodyCustomField::setBodyBTegata()
     * @uses TransactionBodyCustomField::setBodyAssemblyBuild()
     * @uses TransactionBodyCustomField::setBodyPrintFlag()
     * @uses TransactionBodyCustomField::setBodyPickingTicket()
     * @uses TransactionBodyCustomField::setBodyOtherTransaction()
     * @uses TransactionBodyCustomField::setBodyPrintPackingSlip()
     * @uses TransactionBodyCustomField::setBodyCustomerPayment()
     * @uses TransactionBodyCustomField::setBodyVendorPayment()
     * @uses TransactionBodyCustomField::setBodyDeposit()
     * @uses TransactionBodyCustomField::setBodyBom()
     * @uses TransactionBodyCustomField::setBodyPrintStatement()
     * @uses TransactionBodyCustomField::setFilterList()
     * @uses TransactionBodyCustomField::setAccessLevel()
     * @uses TransactionBodyCustomField::setSearchLevel()
     * @uses TransactionBodyCustomField::setRoleAccessList()
     * @uses TransactionBodyCustomField::setDeptAccessList()
     * @uses TransactionBodyCustomField::setSubAccessList()
     * @uses TransactionBodyCustomField::setTranslationsList()
     * @uses TransactionBodyCustomField::setInternalId()
     * @param string $label
     * @param \StructType\RecordRef $owner
     * @param string $description
     * @param \StructType\RecordRef $selectRecordType
     * @param bool $storeValue
     * @param bool $showInList
     * @param bool $globalSearch
     * @param bool $isParent
     * @param \StructType\RecordRef $insertBefore
     * @param \StructType\RecordRef $subtab
     * @param bool $availableToSso
     * @param string $displayType
     * @param int $displayWidth
     * @param int $displayHeight
     * @param string $help
     * @param \StructType\RecordRef $parentSubtab
     * @param string $linkText
     * @param bool $isMandatory
     * @param bool $checkSpelling
     * @param int $maxLength
     * @param float $minValue
     * @param float $maxValue
     * @param bool $defaultChecked
     * @param string $defaultValue
     * @param bool $isFormula
     * @param \StructType\RecordRef $defaultSelection
     * @param string $dynamicDefault
     * @param \StructType\RecordRef $searchDefault
     * @param \StructType\RecordRef $searchCompareField
     * @param \StructType\RecordRef $sourceList
     * @param \StructType\RecordRef $sourceFrom
     * @param \StructType\RecordRef $sourceFilterBy
     * @param \StructType\RecordRef $customSegment
     * @param bool $bodyPurchase
     * @param bool $bodySale
     * @param bool $bodyOpportunity
     * @param bool $bodyJournal
     * @param bool $bodyExpenseReport
     * @param bool $bodyStore
     * @param bool $bodyTransferOrder
     * @param bool $bodyItemReceipt
     * @param bool $bodyItemReceiptOrder
     * @param bool $bodyItemFulfillment
     * @param bool $bodyItemFulfillmentOrder
     * @param bool $bodyInventoryAdjustment
     * @param bool $bodyBTegata
     * @param bool $bodyAssemblyBuild
     * @param bool $bodyPrintFlag
     * @param bool $bodyPickingTicket
     * @param bool $bodyOtherTransaction
     * @param bool $bodyPrintPackingSlip
     * @param bool $bodyCustomerPayment
     * @param bool $bodyVendorPayment
     * @param bool $bodyDeposit
     * @param bool $bodyBom
     * @param bool $bodyPrintStatement
     * @param \StructType\TransactionBodyCustomFieldFilterList $filterList
     * @param string $accessLevel
     * @param string $searchLevel
     * @param \StructType\CustomFieldRoleAccessList $roleAccessList
     * @param \StructType\CustomFieldDepartmentAccessList $deptAccessList
     * @param \StructType\CustomFieldSubAccessList $subAccessList
     * @param \StructType\CustomFieldTranslationsList $translationsList
     * @param string $internalId
     */
    public function __construct($label = null, \StructType\RecordRef $owner = null, $description = null, \StructType\RecordRef $selectRecordType = null, $storeValue = null, $showInList = null, $globalSearch = null, $isParent = null, \StructType\RecordRef $insertBefore = null, \StructType\RecordRef $subtab = null, $availableToSso = null, $displayType = null, $displayWidth = null, $displayHeight = null, $help = null, \StructType\RecordRef $parentSubtab = null, $linkText = null, $isMandatory = null, $checkSpelling = null, $maxLength = null, $minValue = null, $maxValue = null, $defaultChecked = null, $defaultValue = null, $isFormula = null, \StructType\RecordRef $defaultSelection = null, $dynamicDefault = null, \StructType\RecordRef $searchDefault = null, \StructType\RecordRef $searchCompareField = null, \StructType\RecordRef $sourceList = null, \StructType\RecordRef $sourceFrom = null, \StructType\RecordRef $sourceFilterBy = null, \StructType\RecordRef $customSegment = null, $bodyPurchase = null, $bodySale = null, $bodyOpportunity = null, $bodyJournal = null, $bodyExpenseReport = null, $bodyStore = null, $bodyTransferOrder = null, $bodyItemReceipt = null, $bodyItemReceiptOrder = null, $bodyItemFulfillment = null, $bodyItemFulfillmentOrder = null, $bodyInventoryAdjustment = null, $bodyBTegata = null, $bodyAssemblyBuild = null, $bodyPrintFlag = null, $bodyPickingTicket = null, $bodyOtherTransaction = null, $bodyPrintPackingSlip = null, $bodyCustomerPayment = null, $bodyVendorPayment = null, $bodyDeposit = null, $bodyBom = null, $bodyPrintStatement = null, \StructType\TransactionBodyCustomFieldFilterList $filterList = null, $accessLevel = null, $searchLevel = null, \StructType\CustomFieldRoleAccessList $roleAccessList = null, \StructType\CustomFieldDepartmentAccessList $deptAccessList = null, \StructType\CustomFieldSubAccessList $subAccessList = null, \StructType\CustomFieldTranslationsList $translationsList = null, $internalId = null)
    {
        $this
            ->setLabel($label)
            ->setOwner($owner)
            ->setDescription($description)
            ->setSelectRecordType($selectRecordType)
            ->setStoreValue($storeValue)
            ->setShowInList($showInList)
            ->setGlobalSearch($globalSearch)
            ->setIsParent($isParent)
            ->setInsertBefore($insertBefore)
            ->setSubtab($subtab)
            ->setAvailableToSso($availableToSso)
            ->setDisplayType($displayType)
            ->setDisplayWidth($displayWidth)
            ->setDisplayHeight($displayHeight)
            ->setHelp($help)
            ->setParentSubtab($parentSubtab)
            ->setLinkText($linkText)
            ->setIsMandatory($isMandatory)
            ->setCheckSpelling($checkSpelling)
            ->setMaxLength($maxLength)
            ->setMinValue($minValue)
            ->setMaxValue($maxValue)
            ->setDefaultChecked($defaultChecked)
            ->setDefaultValue($defaultValue)
            ->setIsFormula($isFormula)
            ->setDefaultSelection($defaultSelection)
            ->setDynamicDefault($dynamicDefault)
            ->setSearchDefault($searchDefault)
            ->setSearchCompareField($searchCompareField)
            ->setSourceList($sourceList)
            ->setSourceFrom($sourceFrom)
            ->setSourceFilterBy($sourceFilterBy)
            ->setCustomSegment($customSegment)
            ->setBodyPurchase($bodyPurchase)
            ->setBodySale($bodySale)
            ->setBodyOpportunity($bodyOpportunity)
            ->setBodyJournal($bodyJournal)
            ->setBodyExpenseReport($bodyExpenseReport)
            ->setBodyStore($bodyStore)
            ->setBodyTransferOrder($bodyTransferOrder)
            ->setBodyItemReceipt($bodyItemReceipt)
            ->setBodyItemReceiptOrder($bodyItemReceiptOrder)
            ->setBodyItemFulfillment($bodyItemFulfillment)
            ->setBodyItemFulfillmentOrder($bodyItemFulfillmentOrder)
            ->setBodyInventoryAdjustment($bodyInventoryAdjustment)
            ->setBodyBTegata($bodyBTegata)
            ->setBodyAssemblyBuild($bodyAssemblyBuild)
            ->setBodyPrintFlag($bodyPrintFlag)
            ->setBodyPickingTicket($bodyPickingTicket)
            ->setBodyOtherTransaction($bodyOtherTransaction)
            ->setBodyPrintPackingSlip($bodyPrintPackingSlip)
            ->setBodyCustomerPayment($bodyCustomerPayment)
            ->setBodyVendorPayment($bodyVendorPayment)
            ->setBodyDeposit($bodyDeposit)
            ->setBodyBom($bodyBom)
            ->setBodyPrintStatement($bodyPrintStatement)
            ->setFilterList($filterList)
            ->setAccessLevel($accessLevel)
            ->setSearchLevel($searchLevel)
            ->setRoleAccessList($roleAccessList)
            ->setDeptAccessList($deptAccessList)
            ->setSubAccessList($subAccessList)
            ->setTranslationsList($translationsList)
            ->setInternalId($internalId);
    }
    /**
     * Get label value
     * @return string|null
     */
    public function getLabel()
    {
        return $this->label;
    }
    /**
     * Set label value
     * @param string $label
     * @return \StructType\TransactionBodyCustomField
     */
    public function setLabel($label = null)
    {
        // validation for constraint: string
        if (!is_null($label) && !is_string($label)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($label, true), gettype($label)), __LINE__);
        }
        $this->label = $label;
        return $this;
    }
    /**
     * Get owner value
     * @return \StructType\RecordRef|null
     */
    public function getOwner()
    {
        return $this->owner;
    }
    /**
     * Set owner value
     * @param \StructType\RecordRef $owner
     * @return \StructType\TransactionBodyCustomField
     */
    public function setOwner(\StructType\RecordRef $owner = null)
    {
        $this->owner = $owner;
        return $this;
    }
    /**
     * Get description value
     * @return string|null
     */
    public function getDescription()
    {
        return $this->description;
    }
    /**
     * Set description value
     * @param string $description
     * @return \StructType\TransactionBodyCustomField
     */
    public function setDescription($description = null)
    {
        // validation for constraint: string
        if (!is_null($description) && !is_string($description)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($description, true), gettype($description)), __LINE__);
        }
        $this->description = $description;
        return $this;
    }
    /**
     * Get selectRecordType value
     * @return \StructType\RecordRef|null
     */
    public function getSelectRecordType()
    {
        return $this->selectRecordType;
    }
    /**
     * Set selectRecordType value
     * @param \StructType\RecordRef $selectRecordType
     * @return \StructType\TransactionBodyCustomField
     */
    public function setSelectRecordType(\StructType\RecordRef $selectRecordType = null)
    {
        $this->selectRecordType = $selectRecordType;
        return $this;
    }
    /**
     * Get storeValue value
     * @return bool|null
     */
    public function getStoreValue()
    {
        return $this->storeValue;
    }
    /**
     * Set storeValue value
     * @param bool $storeValue
     * @return \StructType\TransactionBodyCustomField
     */
    public function setStoreValue($storeValue = null)
    {
        // validation for constraint: boolean
        if (!is_null($storeValue) && !is_bool($storeValue)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($storeValue, true), gettype($storeValue)), __LINE__);
        }
        $this->storeValue = $storeValue;
        return $this;
    }
    /**
     * Get showInList value
     * @return bool|null
     */
    public function getShowInList()
    {
        return $this->showInList;
    }
    /**
     * Set showInList value
     * @param bool $showInList
     * @return \StructType\TransactionBodyCustomField
     */
    public function setShowInList($showInList = null)
    {
        // validation for constraint: boolean
        if (!is_null($showInList) && !is_bool($showInList)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($showInList, true), gettype($showInList)), __LINE__);
        }
        $this->showInList = $showInList;
        return $this;
    }
    /**
     * Get globalSearch value
     * @return bool|null
     */
    public function getGlobalSearch()
    {
        return $this->globalSearch;
    }
    /**
     * Set globalSearch value
     * @param bool $globalSearch
     * @return \StructType\TransactionBodyCustomField
     */
    public function setGlobalSearch($globalSearch = null)
    {
        // validation for constraint: boolean
        if (!is_null($globalSearch) && !is_bool($globalSearch)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($globalSearch, true), gettype($globalSearch)), __LINE__);
        }
        $this->globalSearch = $globalSearch;
        return $this;
    }
    /**
     * Get isParent value
     * @return bool|null
     */
    public function getIsParent()
    {
        return $this->isParent;
    }
    /**
     * Set isParent value
     * @param bool $isParent
     * @return \StructType\TransactionBodyCustomField
     */
    public function setIsParent($isParent = null)
    {
        // validation for constraint: boolean
        if (!is_null($isParent) && !is_bool($isParent)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($isParent, true), gettype($isParent)), __LINE__);
        }
        $this->isParent = $isParent;
        return $this;
    }
    /**
     * Get insertBefore value
     * @return \StructType\RecordRef|null
     */
    public function getInsertBefore()
    {
        return $this->insertBefore;
    }
    /**
     * Set insertBefore value
     * @param \StructType\RecordRef $insertBefore
     * @return \StructType\TransactionBodyCustomField
     */
    public function setInsertBefore(\StructType\RecordRef $insertBefore = null)
    {
        $this->insertBefore = $insertBefore;
        return $this;
    }
    /**
     * Get subtab value
     * @return \StructType\RecordRef|null
     */
    public function getSubtab()
    {
        return $this->subtab;
    }
    /**
     * Set subtab value
     * @param \StructType\RecordRef $subtab
     * @return \StructType\TransactionBodyCustomField
     */
    public function setSubtab(\StructType\RecordRef $subtab = null)
    {
        $this->subtab = $subtab;
        return $this;
    }
    /**
     * Get availableToSso value
     * @return bool|null
     */
    public function getAvailableToSso()
    {
        return $this->availableToSso;
    }
    /**
     * Set availableToSso value
     * @param bool $availableToSso
     * @return \StructType\TransactionBodyCustomField
     */
    public function setAvailableToSso($availableToSso = null)
    {
        // validation for constraint: boolean
        if (!is_null($availableToSso) && !is_bool($availableToSso)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($availableToSso, true), gettype($availableToSso)), __LINE__);
        }
        $this->availableToSso = $availableToSso;
        return $this;
    }
    /**
     * Get displayType value
     * @return string|null
     */
    public function getDisplayType()
    {
        return $this->displayType;
    }
    /**
     * Set displayType value
     * @uses \EnumType\CustomizationDisplayType::valueIsValid()
     * @uses \EnumType\CustomizationDisplayType::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $displayType
     * @return \StructType\TransactionBodyCustomField
     */
    public function setDisplayType($displayType = null)
    {
        // validation for constraint: enumeration
        if (!\EnumType\CustomizationDisplayType::valueIsValid($displayType)) {
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \EnumType\CustomizationDisplayType', is_array($displayType) ? implode(', ', $displayType) : var_export($displayType, true), implode(', ', \EnumType\CustomizationDisplayType::getValidValues())), __LINE__);
        }
        $this->displayType = $displayType;
        return $this;
    }
    /**
     * Get displayWidth value
     * @return int|null
     */
    public function getDisplayWidth()
    {
        return $this->displayWidth;
    }
    /**
     * Set displayWidth value
     * @param int $displayWidth
     * @return \StructType\TransactionBodyCustomField
     */
    public function setDisplayWidth($displayWidth = null)
    {
        // validation for constraint: int
        if (!is_null($displayWidth) && !(is_int($displayWidth) || ctype_digit($displayWidth))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($displayWidth, true), gettype($displayWidth)), __LINE__);
        }
        $this->displayWidth = $displayWidth;
        return $this;
    }
    /**
     * Get displayHeight value
     * @return int|null
     */
    public function getDisplayHeight()
    {
        return $this->displayHeight;
    }
    /**
     * Set displayHeight value
     * @param int $displayHeight
     * @return \StructType\TransactionBodyCustomField
     */
    public function setDisplayHeight($displayHeight = null)
    {
        // validation for constraint: int
        if (!is_null($displayHeight) && !(is_int($displayHeight) || ctype_digit($displayHeight))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($displayHeight, true), gettype($displayHeight)), __LINE__);
        }
        $this->displayHeight = $displayHeight;
        return $this;
    }
    /**
     * Get help value
     * @return string|null
     */
    public function getHelp()
    {
        return $this->help;
    }
    /**
     * Set help value
     * @param string $help
     * @return \StructType\TransactionBodyCustomField
     */
    public function setHelp($help = null)
    {
        // validation for constraint: string
        if (!is_null($help) && !is_string($help)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($help, true), gettype($help)), __LINE__);
        }
        $this->help = $help;
        return $this;
    }
    /**
     * Get parentSubtab value
     * @return \StructType\RecordRef|null
     */
    public function getParentSubtab()
    {
        return $this->parentSubtab;
    }
    /**
     * Set parentSubtab value
     * @param \StructType\RecordRef $parentSubtab
     * @return \StructType\TransactionBodyCustomField
     */
    public function setParentSubtab(\StructType\RecordRef $parentSubtab = null)
    {
        $this->parentSubtab = $parentSubtab;
        return $this;
    }
    /**
     * Get linkText value
     * @return string|null
     */
    public function getLinkText()
    {
        return $this->linkText;
    }
    /**
     * Set linkText value
     * @param string $linkText
     * @return \StructType\TransactionBodyCustomField
     */
    public function setLinkText($linkText = null)
    {
        // validation for constraint: string
        if (!is_null($linkText) && !is_string($linkText)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($linkText, true), gettype($linkText)), __LINE__);
        }
        $this->linkText = $linkText;
        return $this;
    }
    /**
     * Get isMandatory value
     * @return bool|null
     */
    public function getIsMandatory()
    {
        return $this->isMandatory;
    }
    /**
     * Set isMandatory value
     * @param bool $isMandatory
     * @return \StructType\TransactionBodyCustomField
     */
    public function setIsMandatory($isMandatory = null)
    {
        // validation for constraint: boolean
        if (!is_null($isMandatory) && !is_bool($isMandatory)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($isMandatory, true), gettype($isMandatory)), __LINE__);
        }
        $this->isMandatory = $isMandatory;
        return $this;
    }
    /**
     * Get checkSpelling value
     * @return bool|null
     */
    public function getCheckSpelling()
    {
        return $this->checkSpelling;
    }
    /**
     * Set checkSpelling value
     * @param bool $checkSpelling
     * @return \StructType\TransactionBodyCustomField
     */
    public function setCheckSpelling($checkSpelling = null)
    {
        // validation for constraint: boolean
        if (!is_null($checkSpelling) && !is_bool($checkSpelling)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($checkSpelling, true), gettype($checkSpelling)), __LINE__);
        }
        $this->checkSpelling = $checkSpelling;
        return $this;
    }
    /**
     * Get maxLength value
     * @return int|null
     */
    public function getMaxLength()
    {
        return $this->maxLength;
    }
    /**
     * Set maxLength value
     * @param int $maxLength
     * @return \StructType\TransactionBodyCustomField
     */
    public function setMaxLength($maxLength = null)
    {
        // validation for constraint: int
        if (!is_null($maxLength) && !(is_int($maxLength) || ctype_digit($maxLength))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($maxLength, true), gettype($maxLength)), __LINE__);
        }
        $this->maxLength = $maxLength;
        return $this;
    }
    /**
     * Get minValue value
     * @return float|null
     */
    public function getMinValue()
    {
        return $this->minValue;
    }
    /**
     * Set minValue value
     * @param float $minValue
     * @return \StructType\TransactionBodyCustomField
     */
    public function setMinValue($minValue = null)
    {
        // validation for constraint: float
        if (!is_null($minValue) && !(is_float($minValue) || is_numeric($minValue))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($minValue, true), gettype($minValue)), __LINE__);
        }
        $this->minValue = $minValue;
        return $this;
    }
    /**
     * Get maxValue value
     * @return float|null
     */
    public function getMaxValue()
    {
        return $this->maxValue;
    }
    /**
     * Set maxValue value
     * @param float $maxValue
     * @return \StructType\TransactionBodyCustomField
     */
    public function setMaxValue($maxValue = null)
    {
        // validation for constraint: float
        if (!is_null($maxValue) && !(is_float($maxValue) || is_numeric($maxValue))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($maxValue, true), gettype($maxValue)), __LINE__);
        }
        $this->maxValue = $maxValue;
        return $this;
    }
    /**
     * Get defaultChecked value
     * @return bool|null
     */
    public function getDefaultChecked()
    {
        return $this->defaultChecked;
    }
    /**
     * Set defaultChecked value
     * @param bool $defaultChecked
     * @return \StructType\TransactionBodyCustomField
     */
    public function setDefaultChecked($defaultChecked = null)
    {
        // validation for constraint: boolean
        if (!is_null($defaultChecked) && !is_bool($defaultChecked)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($defaultChecked, true), gettype($defaultChecked)), __LINE__);
        }
        $this->defaultChecked = $defaultChecked;
        return $this;
    }
    /**
     * Get defaultValue value
     * @return string|null
     */
    public function getDefaultValue()
    {
        return $this->defaultValue;
    }
    /**
     * Set defaultValue value
     * @param string $defaultValue
     * @return \StructType\TransactionBodyCustomField
     */
    public function setDefaultValue($defaultValue = null)
    {
        // validation for constraint: string
        if (!is_null($defaultValue) && !is_string($defaultValue)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($defaultValue, true), gettype($defaultValue)), __LINE__);
        }
        $this->defaultValue = $defaultValue;
        return $this;
    }
    /**
     * Get isFormula value
     * @return bool|null
     */
    public function getIsFormula()
    {
        return $this->isFormula;
    }
    /**
     * Set isFormula value
     * @param bool $isFormula
     * @return \StructType\TransactionBodyCustomField
     */
    public function setIsFormula($isFormula = null)
    {
        // validation for constraint: boolean
        if (!is_null($isFormula) && !is_bool($isFormula)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($isFormula, true), gettype($isFormula)), __LINE__);
        }
        $this->isFormula = $isFormula;
        return $this;
    }
    /**
     * Get defaultSelection value
     * @return \StructType\RecordRef|null
     */
    public function getDefaultSelection()
    {
        return $this->defaultSelection;
    }
    /**
     * Set defaultSelection value
     * @param \StructType\RecordRef $defaultSelection
     * @return \StructType\TransactionBodyCustomField
     */
    public function setDefaultSelection(\StructType\RecordRef $defaultSelection = null)
    {
        $this->defaultSelection = $defaultSelection;
        return $this;
    }
    /**
     * Get dynamicDefault value
     * @return string|null
     */
    public function getDynamicDefault()
    {
        return $this->dynamicDefault;
    }
    /**
     * Set dynamicDefault value
     * @uses \EnumType\CustomizationDynamicDefault::valueIsValid()
     * @uses \EnumType\CustomizationDynamicDefault::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $dynamicDefault
     * @return \StructType\TransactionBodyCustomField
     */
    public function setDynamicDefault($dynamicDefault = null)
    {
        // validation for constraint: enumeration
        if (!\EnumType\CustomizationDynamicDefault::valueIsValid($dynamicDefault)) {
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \EnumType\CustomizationDynamicDefault', is_array($dynamicDefault) ? implode(', ', $dynamicDefault) : var_export($dynamicDefault, true), implode(', ', \EnumType\CustomizationDynamicDefault::getValidValues())), __LINE__);
        }
        $this->dynamicDefault = $dynamicDefault;
        return $this;
    }
    /**
     * Get searchDefault value
     * @return \StructType\RecordRef|null
     */
    public function getSearchDefault()
    {
        return $this->searchDefault;
    }
    /**
     * Set searchDefault value
     * @param \StructType\RecordRef $searchDefault
     * @return \StructType\TransactionBodyCustomField
     */
    public function setSearchDefault(\StructType\RecordRef $searchDefault = null)
    {
        $this->searchDefault = $searchDefault;
        return $this;
    }
    /**
     * Get searchCompareField value
     * @return \StructType\RecordRef|null
     */
    public function getSearchCompareField()
    {
        return $this->searchCompareField;
    }
    /**
     * Set searchCompareField value
     * @param \StructType\RecordRef $searchCompareField
     * @return \StructType\TransactionBodyCustomField
     */
    public function setSearchCompareField(\StructType\RecordRef $searchCompareField = null)
    {
        $this->searchCompareField = $searchCompareField;
        return $this;
    }
    /**
     * Get sourceList value
     * @return \StructType\RecordRef|null
     */
    public function getSourceList()
    {
        return $this->sourceList;
    }
    /**
     * Set sourceList value
     * @param \StructType\RecordRef $sourceList
     * @return \StructType\TransactionBodyCustomField
     */
    public function setSourceList(\StructType\RecordRef $sourceList = null)
    {
        $this->sourceList = $sourceList;
        return $this;
    }
    /**
     * Get sourceFrom value
     * @return \StructType\RecordRef|null
     */
    public function getSourceFrom()
    {
        return $this->sourceFrom;
    }
    /**
     * Set sourceFrom value
     * @param \StructType\RecordRef $sourceFrom
     * @return \StructType\TransactionBodyCustomField
     */
    public function setSourceFrom(\StructType\RecordRef $sourceFrom = null)
    {
        $this->sourceFrom = $sourceFrom;
        return $this;
    }
    /**
     * Get sourceFilterBy value
     * @return \StructType\RecordRef|null
     */
    public function getSourceFilterBy()
    {
        return $this->sourceFilterBy;
    }
    /**
     * Set sourceFilterBy value
     * @param \StructType\RecordRef $sourceFilterBy
     * @return \StructType\TransactionBodyCustomField
     */
    public function setSourceFilterBy(\StructType\RecordRef $sourceFilterBy = null)
    {
        $this->sourceFilterBy = $sourceFilterBy;
        return $this;
    }
    /**
     * Get customSegment value
     * @return \StructType\RecordRef|null
     */
    public function getCustomSegment()
    {
        return $this->customSegment;
    }
    /**
     * Set customSegment value
     * @param \StructType\RecordRef $customSegment
     * @return \StructType\TransactionBodyCustomField
     */
    public function setCustomSegment(\StructType\RecordRef $customSegment = null)
    {
        $this->customSegment = $customSegment;
        return $this;
    }
    /**
     * Get bodyPurchase value
     * @return bool|null
     */
    public function getBodyPurchase()
    {
        return $this->bodyPurchase;
    }
    /**
     * Set bodyPurchase value
     * @param bool $bodyPurchase
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyPurchase($bodyPurchase = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyPurchase) && !is_bool($bodyPurchase)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyPurchase, true), gettype($bodyPurchase)), __LINE__);
        }
        $this->bodyPurchase = $bodyPurchase;
        return $this;
    }
    /**
     * Get bodySale value
     * @return bool|null
     */
    public function getBodySale()
    {
        return $this->bodySale;
    }
    /**
     * Set bodySale value
     * @param bool $bodySale
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodySale($bodySale = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodySale) && !is_bool($bodySale)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodySale, true), gettype($bodySale)), __LINE__);
        }
        $this->bodySale = $bodySale;
        return $this;
    }
    /**
     * Get bodyOpportunity value
     * @return bool|null
     */
    public function getBodyOpportunity()
    {
        return $this->bodyOpportunity;
    }
    /**
     * Set bodyOpportunity value
     * @param bool $bodyOpportunity
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyOpportunity($bodyOpportunity = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyOpportunity) && !is_bool($bodyOpportunity)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyOpportunity, true), gettype($bodyOpportunity)), __LINE__);
        }
        $this->bodyOpportunity = $bodyOpportunity;
        return $this;
    }
    /**
     * Get bodyJournal value
     * @return bool|null
     */
    public function getBodyJournal()
    {
        return $this->bodyJournal;
    }
    /**
     * Set bodyJournal value
     * @param bool $bodyJournal
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyJournal($bodyJournal = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyJournal) && !is_bool($bodyJournal)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyJournal, true), gettype($bodyJournal)), __LINE__);
        }
        $this->bodyJournal = $bodyJournal;
        return $this;
    }
    /**
     * Get bodyExpenseReport value
     * @return bool|null
     */
    public function getBodyExpenseReport()
    {
        return $this->bodyExpenseReport;
    }
    /**
     * Set bodyExpenseReport value
     * @param bool $bodyExpenseReport
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyExpenseReport($bodyExpenseReport = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyExpenseReport) && !is_bool($bodyExpenseReport)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyExpenseReport, true), gettype($bodyExpenseReport)), __LINE__);
        }
        $this->bodyExpenseReport = $bodyExpenseReport;
        return $this;
    }
    /**
     * Get bodyStore value
     * @return bool|null
     */
    public function getBodyStore()
    {
        return $this->bodyStore;
    }
    /**
     * Set bodyStore value
     * @param bool $bodyStore
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyStore($bodyStore = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyStore) && !is_bool($bodyStore)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyStore, true), gettype($bodyStore)), __LINE__);
        }
        $this->bodyStore = $bodyStore;
        return $this;
    }
    /**
     * Get bodyTransferOrder value
     * @return bool|null
     */
    public function getBodyTransferOrder()
    {
        return $this->bodyTransferOrder;
    }
    /**
     * Set bodyTransferOrder value
     * @param bool $bodyTransferOrder
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyTransferOrder($bodyTransferOrder = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyTransferOrder) && !is_bool($bodyTransferOrder)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyTransferOrder, true), gettype($bodyTransferOrder)), __LINE__);
        }
        $this->bodyTransferOrder = $bodyTransferOrder;
        return $this;
    }
    /**
     * Get bodyItemReceipt value
     * @return bool|null
     */
    public function getBodyItemReceipt()
    {
        return $this->bodyItemReceipt;
    }
    /**
     * Set bodyItemReceipt value
     * @param bool $bodyItemReceipt
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyItemReceipt($bodyItemReceipt = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyItemReceipt) && !is_bool($bodyItemReceipt)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyItemReceipt, true), gettype($bodyItemReceipt)), __LINE__);
        }
        $this->bodyItemReceipt = $bodyItemReceipt;
        return $this;
    }
    /**
     * Get bodyItemReceiptOrder value
     * @return bool|null
     */
    public function getBodyItemReceiptOrder()
    {
        return $this->bodyItemReceiptOrder;
    }
    /**
     * Set bodyItemReceiptOrder value
     * @param bool $bodyItemReceiptOrder
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyItemReceiptOrder($bodyItemReceiptOrder = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyItemReceiptOrder) && !is_bool($bodyItemReceiptOrder)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyItemReceiptOrder, true), gettype($bodyItemReceiptOrder)), __LINE__);
        }
        $this->bodyItemReceiptOrder = $bodyItemReceiptOrder;
        return $this;
    }
    /**
     * Get bodyItemFulfillment value
     * @return bool|null
     */
    public function getBodyItemFulfillment()
    {
        return $this->bodyItemFulfillment;
    }
    /**
     * Set bodyItemFulfillment value
     * @param bool $bodyItemFulfillment
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyItemFulfillment($bodyItemFulfillment = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyItemFulfillment) && !is_bool($bodyItemFulfillment)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyItemFulfillment, true), gettype($bodyItemFulfillment)), __LINE__);
        }
        $this->bodyItemFulfillment = $bodyItemFulfillment;
        return $this;
    }
    /**
     * Get bodyItemFulfillmentOrder value
     * @return bool|null
     */
    public function getBodyItemFulfillmentOrder()
    {
        return $this->bodyItemFulfillmentOrder;
    }
    /**
     * Set bodyItemFulfillmentOrder value
     * @param bool $bodyItemFulfillmentOrder
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyItemFulfillmentOrder($bodyItemFulfillmentOrder = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyItemFulfillmentOrder) && !is_bool($bodyItemFulfillmentOrder)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyItemFulfillmentOrder, true), gettype($bodyItemFulfillmentOrder)), __LINE__);
        }
        $this->bodyItemFulfillmentOrder = $bodyItemFulfillmentOrder;
        return $this;
    }
    /**
     * Get bodyInventoryAdjustment value
     * @return bool|null
     */
    public function getBodyInventoryAdjustment()
    {
        return $this->bodyInventoryAdjustment;
    }
    /**
     * Set bodyInventoryAdjustment value
     * @param bool $bodyInventoryAdjustment
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyInventoryAdjustment($bodyInventoryAdjustment = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyInventoryAdjustment) && !is_bool($bodyInventoryAdjustment)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyInventoryAdjustment, true), gettype($bodyInventoryAdjustment)), __LINE__);
        }
        $this->bodyInventoryAdjustment = $bodyInventoryAdjustment;
        return $this;
    }
    /**
     * Get bodyBTegata value
     * @return bool|null
     */
    public function getBodyBTegata()
    {
        return $this->bodyBTegata;
    }
    /**
     * Set bodyBTegata value
     * @param bool $bodyBTegata
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyBTegata($bodyBTegata = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyBTegata) && !is_bool($bodyBTegata)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyBTegata, true), gettype($bodyBTegata)), __LINE__);
        }
        $this->bodyBTegata = $bodyBTegata;
        return $this;
    }
    /**
     * Get bodyAssemblyBuild value
     * @return bool|null
     */
    public function getBodyAssemblyBuild()
    {
        return $this->bodyAssemblyBuild;
    }
    /**
     * Set bodyAssemblyBuild value
     * @param bool $bodyAssemblyBuild
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyAssemblyBuild($bodyAssemblyBuild = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyAssemblyBuild) && !is_bool($bodyAssemblyBuild)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyAssemblyBuild, true), gettype($bodyAssemblyBuild)), __LINE__);
        }
        $this->bodyAssemblyBuild = $bodyAssemblyBuild;
        return $this;
    }
    /**
     * Get bodyPrintFlag value
     * @return bool|null
     */
    public function getBodyPrintFlag()
    {
        return $this->bodyPrintFlag;
    }
    /**
     * Set bodyPrintFlag value
     * @param bool $bodyPrintFlag
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyPrintFlag($bodyPrintFlag = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyPrintFlag) && !is_bool($bodyPrintFlag)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyPrintFlag, true), gettype($bodyPrintFlag)), __LINE__);
        }
        $this->bodyPrintFlag = $bodyPrintFlag;
        return $this;
    }
    /**
     * Get bodyPickingTicket value
     * @return bool|null
     */
    public function getBodyPickingTicket()
    {
        return $this->bodyPickingTicket;
    }
    /**
     * Set bodyPickingTicket value
     * @param bool $bodyPickingTicket
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyPickingTicket($bodyPickingTicket = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyPickingTicket) && !is_bool($bodyPickingTicket)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyPickingTicket, true), gettype($bodyPickingTicket)), __LINE__);
        }
        $this->bodyPickingTicket = $bodyPickingTicket;
        return $this;
    }
    /**
     * Get bodyOtherTransaction value
     * @return bool|null
     */
    public function getBodyOtherTransaction()
    {
        return $this->bodyOtherTransaction;
    }
    /**
     * Set bodyOtherTransaction value
     * @param bool $bodyOtherTransaction
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyOtherTransaction($bodyOtherTransaction = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyOtherTransaction) && !is_bool($bodyOtherTransaction)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyOtherTransaction, true), gettype($bodyOtherTransaction)), __LINE__);
        }
        $this->bodyOtherTransaction = $bodyOtherTransaction;
        return $this;
    }
    /**
     * Get bodyPrintPackingSlip value
     * @return bool|null
     */
    public function getBodyPrintPackingSlip()
    {
        return $this->bodyPrintPackingSlip;
    }
    /**
     * Set bodyPrintPackingSlip value
     * @param bool $bodyPrintPackingSlip
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyPrintPackingSlip($bodyPrintPackingSlip = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyPrintPackingSlip) && !is_bool($bodyPrintPackingSlip)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyPrintPackingSlip, true), gettype($bodyPrintPackingSlip)), __LINE__);
        }
        $this->bodyPrintPackingSlip = $bodyPrintPackingSlip;
        return $this;
    }
    /**
     * Get bodyCustomerPayment value
     * @return bool|null
     */
    public function getBodyCustomerPayment()
    {
        return $this->bodyCustomerPayment;
    }
    /**
     * Set bodyCustomerPayment value
     * @param bool $bodyCustomerPayment
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyCustomerPayment($bodyCustomerPayment = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyCustomerPayment) && !is_bool($bodyCustomerPayment)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyCustomerPayment, true), gettype($bodyCustomerPayment)), __LINE__);
        }
        $this->bodyCustomerPayment = $bodyCustomerPayment;
        return $this;
    }
    /**
     * Get bodyVendorPayment value
     * @return bool|null
     */
    public function getBodyVendorPayment()
    {
        return $this->bodyVendorPayment;
    }
    /**
     * Set bodyVendorPayment value
     * @param bool $bodyVendorPayment
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyVendorPayment($bodyVendorPayment = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyVendorPayment) && !is_bool($bodyVendorPayment)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyVendorPayment, true), gettype($bodyVendorPayment)), __LINE__);
        }
        $this->bodyVendorPayment = $bodyVendorPayment;
        return $this;
    }
    /**
     * Get bodyDeposit value
     * @return bool|null
     */
    public function getBodyDeposit()
    {
        return $this->bodyDeposit;
    }
    /**
     * Set bodyDeposit value
     * @param bool $bodyDeposit
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyDeposit($bodyDeposit = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyDeposit) && !is_bool($bodyDeposit)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyDeposit, true), gettype($bodyDeposit)), __LINE__);
        }
        $this->bodyDeposit = $bodyDeposit;
        return $this;
    }
    /**
     * Get bodyBom value
     * @return bool|null
     */
    public function getBodyBom()
    {
        return $this->bodyBom;
    }
    /**
     * Set bodyBom value
     * @param bool $bodyBom
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyBom($bodyBom = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyBom) && !is_bool($bodyBom)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyBom, true), gettype($bodyBom)), __LINE__);
        }
        $this->bodyBom = $bodyBom;
        return $this;
    }
    /**
     * Get bodyPrintStatement value
     * @return bool|null
     */
    public function getBodyPrintStatement()
    {
        return $this->bodyPrintStatement;
    }
    /**
     * Set bodyPrintStatement value
     * @param bool $bodyPrintStatement
     * @return \StructType\TransactionBodyCustomField
     */
    public function setBodyPrintStatement($bodyPrintStatement = null)
    {
        // validation for constraint: boolean
        if (!is_null($bodyPrintStatement) && !is_bool($bodyPrintStatement)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bodyPrintStatement, true), gettype($bodyPrintStatement)), __LINE__);
        }
        $this->bodyPrintStatement = $bodyPrintStatement;
        return $this;
    }
    /**
     * Get filterList value
     * @return \StructType\TransactionBodyCustomFieldFilterList|null
     */
    public function getFilterList()
    {
        return $this->filterList;
    }
    /**
     * Set filterList value
     * @param \StructType\TransactionBodyCustomFieldFilterList $filterList
     * @return \StructType\TransactionBodyCustomField
     */
    public function setFilterList(\StructType\TransactionBodyCustomFieldFilterList $filterList = null)
    {
        $this->filterList = $filterList;
        return $this;
    }
    /**
     * Get accessLevel value
     * @return string|null
     */
    public function getAccessLevel()
    {
        return $this->accessLevel;
    }
    /**
     * Set accessLevel value
     * @uses \EnumType\CustomizationAccessLevel::valueIsValid()
     * @uses \EnumType\CustomizationAccessLevel::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $accessLevel
     * @return \StructType\TransactionBodyCustomField
     */
    public function setAccessLevel($accessLevel = null)
    {
        // validation for constraint: enumeration
        if (!\EnumType\CustomizationAccessLevel::valueIsValid($accessLevel)) {
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \EnumType\CustomizationAccessLevel', is_array($accessLevel) ? implode(', ', $accessLevel) : var_export($accessLevel, true), implode(', ', \EnumType\CustomizationAccessLevel::getValidValues())), __LINE__);
        }
        $this->accessLevel = $accessLevel;
        return $this;
    }
    /**
     * Get searchLevel value
     * @return string|null
     */
    public function getSearchLevel()
    {
        return $this->searchLevel;
    }
    /**
     * Set searchLevel value
     * @uses \EnumType\CustomizationSearchLevel::valueIsValid()
     * @uses \EnumType\CustomizationSearchLevel::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $searchLevel
     * @return \StructType\TransactionBodyCustomField
     */
    public function setSearchLevel($searchLevel = null)
    {
        // validation for constraint: enumeration
        if (!\EnumType\CustomizationSearchLevel::valueIsValid($searchLevel)) {
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \EnumType\CustomizationSearchLevel', is_array($searchLevel) ? implode(', ', $searchLevel) : var_export($searchLevel, true), implode(', ', \EnumType\CustomizationSearchLevel::getValidValues())), __LINE__);
        }
        $this->searchLevel = $searchLevel;
        return $this;
    }
    /**
     * Get roleAccessList value
     * @return \StructType\CustomFieldRoleAccessList|null
     */
    public function getRoleAccessList()
    {
        return $this->roleAccessList;
    }
    /**
     * Set roleAccessList value
     * @param \StructType\CustomFieldRoleAccessList $roleAccessList
     * @return \StructType\TransactionBodyCustomField
     */
    public function setRoleAccessList(\StructType\CustomFieldRoleAccessList $roleAccessList = null)
    {
        $this->roleAccessList = $roleAccessList;
        return $this;
    }
    /**
     * Get deptAccessList value
     * @return \StructType\CustomFieldDepartmentAccessList|null
     */
    public function getDeptAccessList()
    {
        return $this->deptAccessList;
    }
    /**
     * Set deptAccessList value
     * @param \StructType\CustomFieldDepartmentAccessList $deptAccessList
     * @return \StructType\TransactionBodyCustomField
     */
    public function setDeptAccessList(\StructType\CustomFieldDepartmentAccessList $deptAccessList = null)
    {
        $this->deptAccessList = $deptAccessList;
        return $this;
    }
    /**
     * Get subAccessList value
     * @return \StructType\CustomFieldSubAccessList|null
     */
    public function getSubAccessList()
    {
        return $this->subAccessList;
    }
    /**
     * Set subAccessList value
     * @param \StructType\CustomFieldSubAccessList $subAccessList
     * @return \StructType\TransactionBodyCustomField
     */
    public function setSubAccessList(\StructType\CustomFieldSubAccessList $subAccessList = null)
    {
        $this->subAccessList = $subAccessList;
        return $this;
    }
    /**
     * Get translationsList value
     * @return \StructType\CustomFieldTranslationsList|null
     */
    public function getTranslationsList()
    {
        return $this->translationsList;
    }
    /**
     * Set translationsList value
     * @param \StructType\CustomFieldTranslationsList $translationsList
     * @return \StructType\TransactionBodyCustomField
     */
    public function setTranslationsList(\StructType\CustomFieldTranslationsList $translationsList = null)
    {
        $this->translationsList = $translationsList;
        return $this;
    }
    /**
     * Get internalId value
     * @return string|null
     */
    public function getInternalId()
    {
        return $this->internalId;
    }
    /**
     * Set internalId value
     * @param string $internalId
     * @return \StructType\TransactionBodyCustomField
     */
    public function setInternalId($internalId = null)
    {
        // validation for constraint: string
        if (!is_null($internalId) && !is_string($internalId)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($internalId, true), gettype($internalId)), __LINE__);
        }
        $this->internalId = $internalId;
        return $this;
    }
}
