<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for TransactionColumnCustomField StructType
 * Meta information extracted from the WSDL
 * - type: setupCustom:TransactionColumnCustomField
 * @subpackage Structs
 */
class TransactionColumnCustomField 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 insertBefore
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\RecordRef
     */
    public $insertBefore;
    /**
     * 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 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 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 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 colExpense
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colExpense;
    /**
     * The colPurchase
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colPurchase;
    /**
     * The colSale
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colSale;
    /**
     * The colOpportunity
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colOpportunity;
    /**
     * The colStore
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colStore;
    /**
     * The colStoreHidden
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colStoreHidden;
    /**
     * The colJournal
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colJournal;
    /**
     * The colBuild
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colBuild;
    /**
     * The colExpenseReport
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colExpenseReport;
    /**
     * The colTime
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colTime;
    /**
     * The colTransferOrder
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colTransferOrder;
    /**
     * The colTimeGroup
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colTimeGroup;
    /**
     * The colItemReceipt
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colItemReceipt;
    /**
     * The colItemReceiptOrder
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colItemReceiptOrder;
    /**
     * The colItemFulfillment
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colItemFulfillment;
    /**
     * The colItemFulfillmentOrder
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colItemFulfillmentOrder;
    /**
     * The colPrintFlag
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colPrintFlag;
    /**
     * The colPickingTicket
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colPickingTicket;
    /**
     * The colPackingSlip
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colPackingSlip;
    /**
     * The colReturnForm
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colReturnForm;
    /**
     * The colStoreWithGroups
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colStoreWithGroups;
    /**
     * The colGroupOnInvoices
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colGroupOnInvoices;
    /**
     * The colKitItem
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $colKitItem;
    /**
     * The filterList
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\TransactionColumnCustomFieldFilterList
     */
    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 TransactionColumnCustomField
     * @uses TransactionColumnCustomField::setLabel()
     * @uses TransactionColumnCustomField::setOwner()
     * @uses TransactionColumnCustomField::setDescription()
     * @uses TransactionColumnCustomField::setSelectRecordType()
     * @uses TransactionColumnCustomField::setStoreValue()
     * @uses TransactionColumnCustomField::setInsertBefore()
     * @uses TransactionColumnCustomField::setAvailableToSso()
     * @uses TransactionColumnCustomField::setDisplayType()
     * @uses TransactionColumnCustomField::setDisplayWidth()
     * @uses TransactionColumnCustomField::setDisplayHeight()
     * @uses TransactionColumnCustomField::setHelp()
     * @uses TransactionColumnCustomField::setLinkText()
     * @uses TransactionColumnCustomField::setIsMandatory()
     * @uses TransactionColumnCustomField::setMaxLength()
     * @uses TransactionColumnCustomField::setMinValue()
     * @uses TransactionColumnCustomField::setMaxValue()
     * @uses TransactionColumnCustomField::setDefaultChecked()
     * @uses TransactionColumnCustomField::setDefaultValue()
     * @uses TransactionColumnCustomField::setIsFormula()
     * @uses TransactionColumnCustomField::setDefaultSelection()
     * @uses TransactionColumnCustomField::setDynamicDefault()
     * @uses TransactionColumnCustomField::setSourceList()
     * @uses TransactionColumnCustomField::setSourceFrom()
     * @uses TransactionColumnCustomField::setSourceFilterBy()
     * @uses TransactionColumnCustomField::setCustomSegment()
     * @uses TransactionColumnCustomField::setColExpense()
     * @uses TransactionColumnCustomField::setColPurchase()
     * @uses TransactionColumnCustomField::setColSale()
     * @uses TransactionColumnCustomField::setColOpportunity()
     * @uses TransactionColumnCustomField::setColStore()
     * @uses TransactionColumnCustomField::setColStoreHidden()
     * @uses TransactionColumnCustomField::setColJournal()
     * @uses TransactionColumnCustomField::setColBuild()
     * @uses TransactionColumnCustomField::setColExpenseReport()
     * @uses TransactionColumnCustomField::setColTime()
     * @uses TransactionColumnCustomField::setColTransferOrder()
     * @uses TransactionColumnCustomField::setColTimeGroup()
     * @uses TransactionColumnCustomField::setColItemReceipt()
     * @uses TransactionColumnCustomField::setColItemReceiptOrder()
     * @uses TransactionColumnCustomField::setColItemFulfillment()
     * @uses TransactionColumnCustomField::setColItemFulfillmentOrder()
     * @uses TransactionColumnCustomField::setColPrintFlag()
     * @uses TransactionColumnCustomField::setColPickingTicket()
     * @uses TransactionColumnCustomField::setColPackingSlip()
     * @uses TransactionColumnCustomField::setColReturnForm()
     * @uses TransactionColumnCustomField::setColStoreWithGroups()
     * @uses TransactionColumnCustomField::setColGroupOnInvoices()
     * @uses TransactionColumnCustomField::setColKitItem()
     * @uses TransactionColumnCustomField::setFilterList()
     * @uses TransactionColumnCustomField::setAccessLevel()
     * @uses TransactionColumnCustomField::setSearchLevel()
     * @uses TransactionColumnCustomField::setRoleAccessList()
     * @uses TransactionColumnCustomField::setDeptAccessList()
     * @uses TransactionColumnCustomField::setSubAccessList()
     * @uses TransactionColumnCustomField::setTranslationsList()
     * @uses TransactionColumnCustomField::setInternalId()
     * @param string $label
     * @param \StructType\RecordRef $owner
     * @param string $description
     * @param \StructType\RecordRef $selectRecordType
     * @param bool $storeValue
     * @param \StructType\RecordRef $insertBefore
     * @param bool $availableToSso
     * @param string $displayType
     * @param int $displayWidth
     * @param int $displayHeight
     * @param string $help
     * @param string $linkText
     * @param bool $isMandatory
     * @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 $sourceList
     * @param \StructType\RecordRef $sourceFrom
     * @param \StructType\RecordRef $sourceFilterBy
     * @param \StructType\RecordRef $customSegment
     * @param bool $colExpense
     * @param bool $colPurchase
     * @param bool $colSale
     * @param bool $colOpportunity
     * @param bool $colStore
     * @param bool $colStoreHidden
     * @param bool $colJournal
     * @param bool $colBuild
     * @param bool $colExpenseReport
     * @param bool $colTime
     * @param bool $colTransferOrder
     * @param bool $colTimeGroup
     * @param bool $colItemReceipt
     * @param bool $colItemReceiptOrder
     * @param bool $colItemFulfillment
     * @param bool $colItemFulfillmentOrder
     * @param bool $colPrintFlag
     * @param bool $colPickingTicket
     * @param bool $colPackingSlip
     * @param bool $colReturnForm
     * @param bool $colStoreWithGroups
     * @param bool $colGroupOnInvoices
     * @param bool $colKitItem
     * @param \StructType\TransactionColumnCustomFieldFilterList $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, \StructType\RecordRef $insertBefore = null, $availableToSso = null, $displayType = null, $displayWidth = null, $displayHeight = null, $help = null, $linkText = null, $isMandatory = null, $maxLength = null, $minValue = null, $maxValue = null, $defaultChecked = null, $defaultValue = null, $isFormula = null, \StructType\RecordRef $defaultSelection = null, $dynamicDefault = null, \StructType\RecordRef $sourceList = null, \StructType\RecordRef $sourceFrom = null, \StructType\RecordRef $sourceFilterBy = null, \StructType\RecordRef $customSegment = null, $colExpense = null, $colPurchase = null, $colSale = null, $colOpportunity = null, $colStore = null, $colStoreHidden = null, $colJournal = null, $colBuild = null, $colExpenseReport = null, $colTime = null, $colTransferOrder = null, $colTimeGroup = null, $colItemReceipt = null, $colItemReceiptOrder = null, $colItemFulfillment = null, $colItemFulfillmentOrder = null, $colPrintFlag = null, $colPickingTicket = null, $colPackingSlip = null, $colReturnForm = null, $colStoreWithGroups = null, $colGroupOnInvoices = null, $colKitItem = null, \StructType\TransactionColumnCustomFieldFilterList $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)
            ->setInsertBefore($insertBefore)
            ->setAvailableToSso($availableToSso)
            ->setDisplayType($displayType)
            ->setDisplayWidth($displayWidth)
            ->setDisplayHeight($displayHeight)
            ->setHelp($help)
            ->setLinkText($linkText)
            ->setIsMandatory($isMandatory)
            ->setMaxLength($maxLength)
            ->setMinValue($minValue)
            ->setMaxValue($maxValue)
            ->setDefaultChecked($defaultChecked)
            ->setDefaultValue($defaultValue)
            ->setIsFormula($isFormula)
            ->setDefaultSelection($defaultSelection)
            ->setDynamicDefault($dynamicDefault)
            ->setSourceList($sourceList)
            ->setSourceFrom($sourceFrom)
            ->setSourceFilterBy($sourceFilterBy)
            ->setCustomSegment($customSegment)
            ->setColExpense($colExpense)
            ->setColPurchase($colPurchase)
            ->setColSale($colSale)
            ->setColOpportunity($colOpportunity)
            ->setColStore($colStore)
            ->setColStoreHidden($colStoreHidden)
            ->setColJournal($colJournal)
            ->setColBuild($colBuild)
            ->setColExpenseReport($colExpenseReport)
            ->setColTime($colTime)
            ->setColTransferOrder($colTransferOrder)
            ->setColTimeGroup($colTimeGroup)
            ->setColItemReceipt($colItemReceipt)
            ->setColItemReceiptOrder($colItemReceiptOrder)
            ->setColItemFulfillment($colItemFulfillment)
            ->setColItemFulfillmentOrder($colItemFulfillmentOrder)
            ->setColPrintFlag($colPrintFlag)
            ->setColPickingTicket($colPickingTicket)
            ->setColPackingSlip($colPackingSlip)
            ->setColReturnForm($colReturnForm)
            ->setColStoreWithGroups($colStoreWithGroups)
            ->setColGroupOnInvoices($colGroupOnInvoices)
            ->setColKitItem($colKitItem)
            ->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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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 insertBefore value
     * @return \StructType\RecordRef|null
     */
    public function getInsertBefore()
    {
        return $this->insertBefore;
    }
    /**
     * Set insertBefore value
     * @param \StructType\RecordRef $insertBefore
     * @return \StructType\TransactionColumnCustomField
     */
    public function setInsertBefore(\StructType\RecordRef $insertBefore = null)
    {
        $this->insertBefore = $insertBefore;
        return $this;
    }
    /**
     * Get availableToSso value
     * @return bool|null
     */
    public function getAvailableToSso()
    {
        return $this->availableToSso;
    }
    /**
     * Set availableToSso value
     * @param bool $availableToSso
     * @return \StructType\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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 linkText value
     * @return string|null
     */
    public function getLinkText()
    {
        return $this->linkText;
    }
    /**
     * Set linkText value
     * @param string $linkText
     * @return \StructType\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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 maxLength value
     * @return int|null
     */
    public function getMaxLength()
    {
        return $this->maxLength;
    }
    /**
     * Set maxLength value
     * @param int $maxLength
     * @return \StructType\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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 sourceList value
     * @return \StructType\RecordRef|null
     */
    public function getSourceList()
    {
        return $this->sourceList;
    }
    /**
     * Set sourceList value
     * @param \StructType\RecordRef $sourceList
     * @return \StructType\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    public function setCustomSegment(\StructType\RecordRef $customSegment = null)
    {
        $this->customSegment = $customSegment;
        return $this;
    }
    /**
     * Get colExpense value
     * @return bool|null
     */
    public function getColExpense()
    {
        return $this->colExpense;
    }
    /**
     * Set colExpense value
     * @param bool $colExpense
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColExpense($colExpense = null)
    {
        // validation for constraint: boolean
        if (!is_null($colExpense) && !is_bool($colExpense)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colExpense, true), gettype($colExpense)), __LINE__);
        }
        $this->colExpense = $colExpense;
        return $this;
    }
    /**
     * Get colPurchase value
     * @return bool|null
     */
    public function getColPurchase()
    {
        return $this->colPurchase;
    }
    /**
     * Set colPurchase value
     * @param bool $colPurchase
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColPurchase($colPurchase = null)
    {
        // validation for constraint: boolean
        if (!is_null($colPurchase) && !is_bool($colPurchase)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colPurchase, true), gettype($colPurchase)), __LINE__);
        }
        $this->colPurchase = $colPurchase;
        return $this;
    }
    /**
     * Get colSale value
     * @return bool|null
     */
    public function getColSale()
    {
        return $this->colSale;
    }
    /**
     * Set colSale value
     * @param bool $colSale
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColSale($colSale = null)
    {
        // validation for constraint: boolean
        if (!is_null($colSale) && !is_bool($colSale)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colSale, true), gettype($colSale)), __LINE__);
        }
        $this->colSale = $colSale;
        return $this;
    }
    /**
     * Get colOpportunity value
     * @return bool|null
     */
    public function getColOpportunity()
    {
        return $this->colOpportunity;
    }
    /**
     * Set colOpportunity value
     * @param bool $colOpportunity
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColOpportunity($colOpportunity = null)
    {
        // validation for constraint: boolean
        if (!is_null($colOpportunity) && !is_bool($colOpportunity)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colOpportunity, true), gettype($colOpportunity)), __LINE__);
        }
        $this->colOpportunity = $colOpportunity;
        return $this;
    }
    /**
     * Get colStore value
     * @return bool|null
     */
    public function getColStore()
    {
        return $this->colStore;
    }
    /**
     * Set colStore value
     * @param bool $colStore
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColStore($colStore = null)
    {
        // validation for constraint: boolean
        if (!is_null($colStore) && !is_bool($colStore)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colStore, true), gettype($colStore)), __LINE__);
        }
        $this->colStore = $colStore;
        return $this;
    }
    /**
     * Get colStoreHidden value
     * @return bool|null
     */
    public function getColStoreHidden()
    {
        return $this->colStoreHidden;
    }
    /**
     * Set colStoreHidden value
     * @param bool $colStoreHidden
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColStoreHidden($colStoreHidden = null)
    {
        // validation for constraint: boolean
        if (!is_null($colStoreHidden) && !is_bool($colStoreHidden)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colStoreHidden, true), gettype($colStoreHidden)), __LINE__);
        }
        $this->colStoreHidden = $colStoreHidden;
        return $this;
    }
    /**
     * Get colJournal value
     * @return bool|null
     */
    public function getColJournal()
    {
        return $this->colJournal;
    }
    /**
     * Set colJournal value
     * @param bool $colJournal
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColJournal($colJournal = null)
    {
        // validation for constraint: boolean
        if (!is_null($colJournal) && !is_bool($colJournal)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colJournal, true), gettype($colJournal)), __LINE__);
        }
        $this->colJournal = $colJournal;
        return $this;
    }
    /**
     * Get colBuild value
     * @return bool|null
     */
    public function getColBuild()
    {
        return $this->colBuild;
    }
    /**
     * Set colBuild value
     * @param bool $colBuild
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColBuild($colBuild = null)
    {
        // validation for constraint: boolean
        if (!is_null($colBuild) && !is_bool($colBuild)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colBuild, true), gettype($colBuild)), __LINE__);
        }
        $this->colBuild = $colBuild;
        return $this;
    }
    /**
     * Get colExpenseReport value
     * @return bool|null
     */
    public function getColExpenseReport()
    {
        return $this->colExpenseReport;
    }
    /**
     * Set colExpenseReport value
     * @param bool $colExpenseReport
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColExpenseReport($colExpenseReport = null)
    {
        // validation for constraint: boolean
        if (!is_null($colExpenseReport) && !is_bool($colExpenseReport)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colExpenseReport, true), gettype($colExpenseReport)), __LINE__);
        }
        $this->colExpenseReport = $colExpenseReport;
        return $this;
    }
    /**
     * Get colTime value
     * @return bool|null
     */
    public function getColTime()
    {
        return $this->colTime;
    }
    /**
     * Set colTime value
     * @param bool $colTime
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColTime($colTime = null)
    {
        // validation for constraint: boolean
        if (!is_null($colTime) && !is_bool($colTime)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colTime, true), gettype($colTime)), __LINE__);
        }
        $this->colTime = $colTime;
        return $this;
    }
    /**
     * Get colTransferOrder value
     * @return bool|null
     */
    public function getColTransferOrder()
    {
        return $this->colTransferOrder;
    }
    /**
     * Set colTransferOrder value
     * @param bool $colTransferOrder
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColTransferOrder($colTransferOrder = null)
    {
        // validation for constraint: boolean
        if (!is_null($colTransferOrder) && !is_bool($colTransferOrder)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colTransferOrder, true), gettype($colTransferOrder)), __LINE__);
        }
        $this->colTransferOrder = $colTransferOrder;
        return $this;
    }
    /**
     * Get colTimeGroup value
     * @return bool|null
     */
    public function getColTimeGroup()
    {
        return $this->colTimeGroup;
    }
    /**
     * Set colTimeGroup value
     * @param bool $colTimeGroup
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColTimeGroup($colTimeGroup = null)
    {
        // validation for constraint: boolean
        if (!is_null($colTimeGroup) && !is_bool($colTimeGroup)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colTimeGroup, true), gettype($colTimeGroup)), __LINE__);
        }
        $this->colTimeGroup = $colTimeGroup;
        return $this;
    }
    /**
     * Get colItemReceipt value
     * @return bool|null
     */
    public function getColItemReceipt()
    {
        return $this->colItemReceipt;
    }
    /**
     * Set colItemReceipt value
     * @param bool $colItemReceipt
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColItemReceipt($colItemReceipt = null)
    {
        // validation for constraint: boolean
        if (!is_null($colItemReceipt) && !is_bool($colItemReceipt)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colItemReceipt, true), gettype($colItemReceipt)), __LINE__);
        }
        $this->colItemReceipt = $colItemReceipt;
        return $this;
    }
    /**
     * Get colItemReceiptOrder value
     * @return bool|null
     */
    public function getColItemReceiptOrder()
    {
        return $this->colItemReceiptOrder;
    }
    /**
     * Set colItemReceiptOrder value
     * @param bool $colItemReceiptOrder
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColItemReceiptOrder($colItemReceiptOrder = null)
    {
        // validation for constraint: boolean
        if (!is_null($colItemReceiptOrder) && !is_bool($colItemReceiptOrder)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colItemReceiptOrder, true), gettype($colItemReceiptOrder)), __LINE__);
        }
        $this->colItemReceiptOrder = $colItemReceiptOrder;
        return $this;
    }
    /**
     * Get colItemFulfillment value
     * @return bool|null
     */
    public function getColItemFulfillment()
    {
        return $this->colItemFulfillment;
    }
    /**
     * Set colItemFulfillment value
     * @param bool $colItemFulfillment
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColItemFulfillment($colItemFulfillment = null)
    {
        // validation for constraint: boolean
        if (!is_null($colItemFulfillment) && !is_bool($colItemFulfillment)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colItemFulfillment, true), gettype($colItemFulfillment)), __LINE__);
        }
        $this->colItemFulfillment = $colItemFulfillment;
        return $this;
    }
    /**
     * Get colItemFulfillmentOrder value
     * @return bool|null
     */
    public function getColItemFulfillmentOrder()
    {
        return $this->colItemFulfillmentOrder;
    }
    /**
     * Set colItemFulfillmentOrder value
     * @param bool $colItemFulfillmentOrder
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColItemFulfillmentOrder($colItemFulfillmentOrder = null)
    {
        // validation for constraint: boolean
        if (!is_null($colItemFulfillmentOrder) && !is_bool($colItemFulfillmentOrder)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colItemFulfillmentOrder, true), gettype($colItemFulfillmentOrder)), __LINE__);
        }
        $this->colItemFulfillmentOrder = $colItemFulfillmentOrder;
        return $this;
    }
    /**
     * Get colPrintFlag value
     * @return bool|null
     */
    public function getColPrintFlag()
    {
        return $this->colPrintFlag;
    }
    /**
     * Set colPrintFlag value
     * @param bool $colPrintFlag
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColPrintFlag($colPrintFlag = null)
    {
        // validation for constraint: boolean
        if (!is_null($colPrintFlag) && !is_bool($colPrintFlag)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colPrintFlag, true), gettype($colPrintFlag)), __LINE__);
        }
        $this->colPrintFlag = $colPrintFlag;
        return $this;
    }
    /**
     * Get colPickingTicket value
     * @return bool|null
     */
    public function getColPickingTicket()
    {
        return $this->colPickingTicket;
    }
    /**
     * Set colPickingTicket value
     * @param bool $colPickingTicket
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColPickingTicket($colPickingTicket = null)
    {
        // validation for constraint: boolean
        if (!is_null($colPickingTicket) && !is_bool($colPickingTicket)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colPickingTicket, true), gettype($colPickingTicket)), __LINE__);
        }
        $this->colPickingTicket = $colPickingTicket;
        return $this;
    }
    /**
     * Get colPackingSlip value
     * @return bool|null
     */
    public function getColPackingSlip()
    {
        return $this->colPackingSlip;
    }
    /**
     * Set colPackingSlip value
     * @param bool $colPackingSlip
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColPackingSlip($colPackingSlip = null)
    {
        // validation for constraint: boolean
        if (!is_null($colPackingSlip) && !is_bool($colPackingSlip)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colPackingSlip, true), gettype($colPackingSlip)), __LINE__);
        }
        $this->colPackingSlip = $colPackingSlip;
        return $this;
    }
    /**
     * Get colReturnForm value
     * @return bool|null
     */
    public function getColReturnForm()
    {
        return $this->colReturnForm;
    }
    /**
     * Set colReturnForm value
     * @param bool $colReturnForm
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColReturnForm($colReturnForm = null)
    {
        // validation for constraint: boolean
        if (!is_null($colReturnForm) && !is_bool($colReturnForm)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colReturnForm, true), gettype($colReturnForm)), __LINE__);
        }
        $this->colReturnForm = $colReturnForm;
        return $this;
    }
    /**
     * Get colStoreWithGroups value
     * @return bool|null
     */
    public function getColStoreWithGroups()
    {
        return $this->colStoreWithGroups;
    }
    /**
     * Set colStoreWithGroups value
     * @param bool $colStoreWithGroups
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColStoreWithGroups($colStoreWithGroups = null)
    {
        // validation for constraint: boolean
        if (!is_null($colStoreWithGroups) && !is_bool($colStoreWithGroups)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colStoreWithGroups, true), gettype($colStoreWithGroups)), __LINE__);
        }
        $this->colStoreWithGroups = $colStoreWithGroups;
        return $this;
    }
    /**
     * Get colGroupOnInvoices value
     * @return bool|null
     */
    public function getColGroupOnInvoices()
    {
        return $this->colGroupOnInvoices;
    }
    /**
     * Set colGroupOnInvoices value
     * @param bool $colGroupOnInvoices
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColGroupOnInvoices($colGroupOnInvoices = null)
    {
        // validation for constraint: boolean
        if (!is_null($colGroupOnInvoices) && !is_bool($colGroupOnInvoices)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colGroupOnInvoices, true), gettype($colGroupOnInvoices)), __LINE__);
        }
        $this->colGroupOnInvoices = $colGroupOnInvoices;
        return $this;
    }
    /**
     * Get colKitItem value
     * @return bool|null
     */
    public function getColKitItem()
    {
        return $this->colKitItem;
    }
    /**
     * Set colKitItem value
     * @param bool $colKitItem
     * @return \StructType\TransactionColumnCustomField
     */
    public function setColKitItem($colKitItem = null)
    {
        // validation for constraint: boolean
        if (!is_null($colKitItem) && !is_bool($colKitItem)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($colKitItem, true), gettype($colKitItem)), __LINE__);
        }
        $this->colKitItem = $colKitItem;
        return $this;
    }
    /**
     * Get filterList value
     * @return \StructType\TransactionColumnCustomFieldFilterList|null
     */
    public function getFilterList()
    {
        return $this->filterList;
    }
    /**
     * Set filterList value
     * @param \StructType\TransactionColumnCustomFieldFilterList $filterList
     * @return \StructType\TransactionColumnCustomField
     */
    public function setFilterList(\StructType\TransactionColumnCustomFieldFilterList $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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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\TransactionColumnCustomField
     */
    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;
    }
}
