<?php
/**
 * Zip
 *
 * PHP version 7.4
 *
 * @category Class
 * @package  DocuSign\eSign
 * @author   Swagger Codegen team <apihelp@docusign.com>
 * @license  The Docusign PHP Client SDK is licensed under the MIT License.
 * @link     https://github.com/swagger-api/swagger-codegen
 */

/**
 * Docusign eSignature REST API
 *
 * The Docusign eSignature REST API provides you with a powerful, convenient, and simple Web services API for interacting with Docusign.
 *
 * OpenAPI spec version: v2.1
 * Contact: devcenter@docusign.com
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 * Swagger Codegen version: 2.4.21
 */

/**
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen
 * Do not edit the class manually.
 */

namespace DocuSign\eSign\Model;

use \ArrayAccess;
use DocuSign\eSign\ObjectSerializer;

/**
 * Zip Class Doc Comment
 *
 * @category    Class
 * @description A tab that allows the recipient to enter a ZIP code. The ZIP code can be five digits or nine digits in the ZIP+4 format. The zip code can be typed with or without dashes. It uses the same parameters as a Text tab, with the validation message and pattern set for ZIP code information.
 * @package     DocuSign\eSign
 * @author      Swagger Codegen team <apihelp@docusign.com>
 * @license     The Docusign PHP Client SDK is licensed under the MIT License.
 * @link        https://github.com/swagger-api/swagger-codegen
 */
class Zip implements ModelInterface, ArrayAccess
{
    const DISCRIMINATOR = null;

    /**
      * The original name of the model.
      *
      * @var string
      */
    protected static $swaggerModelName = 'zip';

    /**
      * Array of property to type mappings. Used for (de)serialization
      *
      * @var string[]
      */
    protected static $swaggerTypes = [
        'anchor_allow_white_space_in_characters' => '?string',
        'anchor_allow_white_space_in_characters_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'anchor_case_sensitive' => '?string',
        'anchor_case_sensitive_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'anchor_horizontal_alignment' => '?string',
        'anchor_horizontal_alignment_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'anchor_ignore_if_not_present' => '?string',
        'anchor_ignore_if_not_present_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'anchor_match_whole_word' => '?string',
        'anchor_match_whole_word_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'anchor_string' => '?string',
        'anchor_string_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'anchor_tab_processor_version' => '?string',
        'anchor_tab_processor_version_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'anchor_units' => '?string',
        'anchor_units_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'anchor_x_offset' => '?string',
        'anchor_x_offset_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'anchor_y_offset' => '?string',
        'anchor_y_offset_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'bold' => '?string',
        'bold_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'caption' => '?string',
        'caption_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'conceal_value_on_document' => '?string',
        'conceal_value_on_document_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'conditional_parent_label' => '?string',
        'conditional_parent_label_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'conditional_parent_value' => '?string',
        'conditional_parent_value_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'custom_tab_id' => '?string',
        'custom_tab_id_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'disable_auto_size' => '?string',
        'disable_auto_size_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'document_id' => '?string',
        'document_id_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'error_details' => '\DocuSign\eSign\Model\ErrorDetails',
        'font' => '?string',
        'font_color' => '?string',
        'font_color_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'font_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'font_size' => '?string',
        'font_size_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'form_order' => '?string',
        'form_order_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'form_page_label' => '?string',
        'form_page_label_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'form_page_number' => '?string',
        'form_page_number_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'height' => '?string',
        'height_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'italic' => '?string',
        'italic_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'locale_policy' => '\DocuSign\eSign\Model\LocalePolicyTab',
        'locked' => '?string',
        'locked_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'max_length' => '?string',
        'max_length_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'merge_field' => '\DocuSign\eSign\Model\MergeField',
        'merge_field_xml' => '?string',
        'name' => '?string',
        'name_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'original_value' => '?string',
        'original_value_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'page_number' => '?string',
        'page_number_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'recipient_id' => '?string',
        'recipient_id_guid' => '?string',
        'recipient_id_guid_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'recipient_id_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'require_all' => '?string',
        'require_all_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'required' => '?string',
        'required_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'require_initial_on_shared_change' => '?string',
        'require_initial_on_shared_change_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'sender_required' => '?string',
        'sender_required_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'shared' => '?string',
        'shared_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'share_to_recipients' => '?string',
        'share_to_recipients_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'smart_contract_information' => '\DocuSign\eSign\Model\SmartContractInformation',
        'source' => '?string',
        'status' => '?string',
        'status_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'tab_group_labels' => '?string[]',
        'tab_group_labels_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'tab_id' => '?string',
        'tab_id_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'tab_label' => '?string',
        'tab_label_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'tab_order' => '?string',
        'tab_order_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'tab_type' => '?string',
        'tab_type_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'template_locked' => '?string',
        'template_locked_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'template_required' => '?string',
        'template_required_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'tooltip' => '?string',
        'tool_tip_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'underline' => '?string',
        'underline_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'use_dash4' => '?string',
        'use_dash4_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'validation_message' => '?string',
        'validation_message_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'validation_pattern' => '?string',
        'validation_pattern_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'value' => '?string',
        'value_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'width' => '?string',
        'width_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'x_position' => '?string',
        'x_position_metadata' => '\DocuSign\eSign\Model\PropertyMetadata',
        'y_position' => '?string',
        'y_position_metadata' => '\DocuSign\eSign\Model\PropertyMetadata'
    ];

    /**
      * Array of property to format mappings. Used for (de)serialization
      *
      * @var string[]
      */
    protected static $swaggerFormats = [
        'anchor_allow_white_space_in_characters' => null,
        'anchor_allow_white_space_in_characters_metadata' => null,
        'anchor_case_sensitive' => null,
        'anchor_case_sensitive_metadata' => null,
        'anchor_horizontal_alignment' => null,
        'anchor_horizontal_alignment_metadata' => null,
        'anchor_ignore_if_not_present' => null,
        'anchor_ignore_if_not_present_metadata' => null,
        'anchor_match_whole_word' => null,
        'anchor_match_whole_word_metadata' => null,
        'anchor_string' => null,
        'anchor_string_metadata' => null,
        'anchor_tab_processor_version' => null,
        'anchor_tab_processor_version_metadata' => null,
        'anchor_units' => null,
        'anchor_units_metadata' => null,
        'anchor_x_offset' => null,
        'anchor_x_offset_metadata' => null,
        'anchor_y_offset' => null,
        'anchor_y_offset_metadata' => null,
        'bold' => null,
        'bold_metadata' => null,
        'caption' => null,
        'caption_metadata' => null,
        'conceal_value_on_document' => null,
        'conceal_value_on_document_metadata' => null,
        'conditional_parent_label' => null,
        'conditional_parent_label_metadata' => null,
        'conditional_parent_value' => null,
        'conditional_parent_value_metadata' => null,
        'custom_tab_id' => null,
        'custom_tab_id_metadata' => null,
        'disable_auto_size' => null,
        'disable_auto_size_metadata' => null,
        'document_id' => null,
        'document_id_metadata' => null,
        'error_details' => null,
        'font' => null,
        'font_color' => null,
        'font_color_metadata' => null,
        'font_metadata' => null,
        'font_size' => null,
        'font_size_metadata' => null,
        'form_order' => null,
        'form_order_metadata' => null,
        'form_page_label' => null,
        'form_page_label_metadata' => null,
        'form_page_number' => null,
        'form_page_number_metadata' => null,
        'height' => null,
        'height_metadata' => null,
        'italic' => null,
        'italic_metadata' => null,
        'locale_policy' => null,
        'locked' => null,
        'locked_metadata' => null,
        'max_length' => null,
        'max_length_metadata' => null,
        'merge_field' => null,
        'merge_field_xml' => null,
        'name' => null,
        'name_metadata' => null,
        'original_value' => null,
        'original_value_metadata' => null,
        'page_number' => null,
        'page_number_metadata' => null,
        'recipient_id' => null,
        'recipient_id_guid' => null,
        'recipient_id_guid_metadata' => null,
        'recipient_id_metadata' => null,
        'require_all' => null,
        'require_all_metadata' => null,
        'required' => null,
        'required_metadata' => null,
        'require_initial_on_shared_change' => null,
        'require_initial_on_shared_change_metadata' => null,
        'sender_required' => null,
        'sender_required_metadata' => null,
        'shared' => null,
        'shared_metadata' => null,
        'share_to_recipients' => null,
        'share_to_recipients_metadata' => null,
        'smart_contract_information' => null,
        'source' => null,
        'status' => null,
        'status_metadata' => null,
        'tab_group_labels' => null,
        'tab_group_labels_metadata' => null,
        'tab_id' => null,
        'tab_id_metadata' => null,
        'tab_label' => null,
        'tab_label_metadata' => null,
        'tab_order' => null,
        'tab_order_metadata' => null,
        'tab_type' => null,
        'tab_type_metadata' => null,
        'template_locked' => null,
        'template_locked_metadata' => null,
        'template_required' => null,
        'template_required_metadata' => null,
        'tooltip' => null,
        'tool_tip_metadata' => null,
        'underline' => null,
        'underline_metadata' => null,
        'use_dash4' => null,
        'use_dash4_metadata' => null,
        'validation_message' => null,
        'validation_message_metadata' => null,
        'validation_pattern' => null,
        'validation_pattern_metadata' => null,
        'value' => null,
        'value_metadata' => null,
        'width' => null,
        'width_metadata' => null,
        'x_position' => null,
        'x_position_metadata' => null,
        'y_position' => null,
        'y_position_metadata' => null
    ];

    /**
     * Array of property to type mappings. Used for (de)serialization
     *
     * @return array
     */
    public static function swaggerTypes()
    {
        return self::$swaggerTypes;
    }

    /**
     * Array of property to format mappings. Used for (de)serialization
     *
     * @return array
     */
    public static function swaggerFormats()
    {
        return self::$swaggerFormats;
    }

    /**
     * Array of attributes where the key is the local name,
     * and the value is the original name
     *
     * @var string[]
     */
    protected static $attributeMap = [
        'anchor_allow_white_space_in_characters' => 'anchorAllowWhiteSpaceInCharacters',
        'anchor_allow_white_space_in_characters_metadata' => 'anchorAllowWhiteSpaceInCharactersMetadata',
        'anchor_case_sensitive' => 'anchorCaseSensitive',
        'anchor_case_sensitive_metadata' => 'anchorCaseSensitiveMetadata',
        'anchor_horizontal_alignment' => 'anchorHorizontalAlignment',
        'anchor_horizontal_alignment_metadata' => 'anchorHorizontalAlignmentMetadata',
        'anchor_ignore_if_not_present' => 'anchorIgnoreIfNotPresent',
        'anchor_ignore_if_not_present_metadata' => 'anchorIgnoreIfNotPresentMetadata',
        'anchor_match_whole_word' => 'anchorMatchWholeWord',
        'anchor_match_whole_word_metadata' => 'anchorMatchWholeWordMetadata',
        'anchor_string' => 'anchorString',
        'anchor_string_metadata' => 'anchorStringMetadata',
        'anchor_tab_processor_version' => 'anchorTabProcessorVersion',
        'anchor_tab_processor_version_metadata' => 'anchorTabProcessorVersionMetadata',
        'anchor_units' => 'anchorUnits',
        'anchor_units_metadata' => 'anchorUnitsMetadata',
        'anchor_x_offset' => 'anchorXOffset',
        'anchor_x_offset_metadata' => 'anchorXOffsetMetadata',
        'anchor_y_offset' => 'anchorYOffset',
        'anchor_y_offset_metadata' => 'anchorYOffsetMetadata',
        'bold' => 'bold',
        'bold_metadata' => 'boldMetadata',
        'caption' => 'caption',
        'caption_metadata' => 'captionMetadata',
        'conceal_value_on_document' => 'concealValueOnDocument',
        'conceal_value_on_document_metadata' => 'concealValueOnDocumentMetadata',
        'conditional_parent_label' => 'conditionalParentLabel',
        'conditional_parent_label_metadata' => 'conditionalParentLabelMetadata',
        'conditional_parent_value' => 'conditionalParentValue',
        'conditional_parent_value_metadata' => 'conditionalParentValueMetadata',
        'custom_tab_id' => 'customTabId',
        'custom_tab_id_metadata' => 'customTabIdMetadata',
        'disable_auto_size' => 'disableAutoSize',
        'disable_auto_size_metadata' => 'disableAutoSizeMetadata',
        'document_id' => 'documentId',
        'document_id_metadata' => 'documentIdMetadata',
        'error_details' => 'errorDetails',
        'font' => 'font',
        'font_color' => 'fontColor',
        'font_color_metadata' => 'fontColorMetadata',
        'font_metadata' => 'fontMetadata',
        'font_size' => 'fontSize',
        'font_size_metadata' => 'fontSizeMetadata',
        'form_order' => 'formOrder',
        'form_order_metadata' => 'formOrderMetadata',
        'form_page_label' => 'formPageLabel',
        'form_page_label_metadata' => 'formPageLabelMetadata',
        'form_page_number' => 'formPageNumber',
        'form_page_number_metadata' => 'formPageNumberMetadata',
        'height' => 'height',
        'height_metadata' => 'heightMetadata',
        'italic' => 'italic',
        'italic_metadata' => 'italicMetadata',
        'locale_policy' => 'localePolicy',
        'locked' => 'locked',
        'locked_metadata' => 'lockedMetadata',
        'max_length' => 'maxLength',
        'max_length_metadata' => 'maxLengthMetadata',
        'merge_field' => 'mergeField',
        'merge_field_xml' => 'mergeFieldXml',
        'name' => 'name',
        'name_metadata' => 'nameMetadata',
        'original_value' => 'originalValue',
        'original_value_metadata' => 'originalValueMetadata',
        'page_number' => 'pageNumber',
        'page_number_metadata' => 'pageNumberMetadata',
        'recipient_id' => 'recipientId',
        'recipient_id_guid' => 'recipientIdGuid',
        'recipient_id_guid_metadata' => 'recipientIdGuidMetadata',
        'recipient_id_metadata' => 'recipientIdMetadata',
        'require_all' => 'requireAll',
        'require_all_metadata' => 'requireAllMetadata',
        'required' => 'required',
        'required_metadata' => 'requiredMetadata',
        'require_initial_on_shared_change' => 'requireInitialOnSharedChange',
        'require_initial_on_shared_change_metadata' => 'requireInitialOnSharedChangeMetadata',
        'sender_required' => 'senderRequired',
        'sender_required_metadata' => 'senderRequiredMetadata',
        'shared' => 'shared',
        'shared_metadata' => 'sharedMetadata',
        'share_to_recipients' => 'shareToRecipients',
        'share_to_recipients_metadata' => 'shareToRecipientsMetadata',
        'smart_contract_information' => 'smartContractInformation',
        'source' => 'source',
        'status' => 'status',
        'status_metadata' => 'statusMetadata',
        'tab_group_labels' => 'tabGroupLabels',
        'tab_group_labels_metadata' => 'tabGroupLabelsMetadata',
        'tab_id' => 'tabId',
        'tab_id_metadata' => 'tabIdMetadata',
        'tab_label' => 'tabLabel',
        'tab_label_metadata' => 'tabLabelMetadata',
        'tab_order' => 'tabOrder',
        'tab_order_metadata' => 'tabOrderMetadata',
        'tab_type' => 'tabType',
        'tab_type_metadata' => 'tabTypeMetadata',
        'template_locked' => 'templateLocked',
        'template_locked_metadata' => 'templateLockedMetadata',
        'template_required' => 'templateRequired',
        'template_required_metadata' => 'templateRequiredMetadata',
        'tooltip' => 'tooltip',
        'tool_tip_metadata' => 'toolTipMetadata',
        'underline' => 'underline',
        'underline_metadata' => 'underlineMetadata',
        'use_dash4' => 'useDash4',
        'use_dash4_metadata' => 'useDash4Metadata',
        'validation_message' => 'validationMessage',
        'validation_message_metadata' => 'validationMessageMetadata',
        'validation_pattern' => 'validationPattern',
        'validation_pattern_metadata' => 'validationPatternMetadata',
        'value' => 'value',
        'value_metadata' => 'valueMetadata',
        'width' => 'width',
        'width_metadata' => 'widthMetadata',
        'x_position' => 'xPosition',
        'x_position_metadata' => 'xPositionMetadata',
        'y_position' => 'yPosition',
        'y_position_metadata' => 'yPositionMetadata'
    ];

    /**
     * Array of attributes to setter functions (for deserialization of responses)
     *
     * @var string[]
     */
    protected static $setters = [
        'anchor_allow_white_space_in_characters' => 'setAnchorAllowWhiteSpaceInCharacters',
        'anchor_allow_white_space_in_characters_metadata' => 'setAnchorAllowWhiteSpaceInCharactersMetadata',
        'anchor_case_sensitive' => 'setAnchorCaseSensitive',
        'anchor_case_sensitive_metadata' => 'setAnchorCaseSensitiveMetadata',
        'anchor_horizontal_alignment' => 'setAnchorHorizontalAlignment',
        'anchor_horizontal_alignment_metadata' => 'setAnchorHorizontalAlignmentMetadata',
        'anchor_ignore_if_not_present' => 'setAnchorIgnoreIfNotPresent',
        'anchor_ignore_if_not_present_metadata' => 'setAnchorIgnoreIfNotPresentMetadata',
        'anchor_match_whole_word' => 'setAnchorMatchWholeWord',
        'anchor_match_whole_word_metadata' => 'setAnchorMatchWholeWordMetadata',
        'anchor_string' => 'setAnchorString',
        'anchor_string_metadata' => 'setAnchorStringMetadata',
        'anchor_tab_processor_version' => 'setAnchorTabProcessorVersion',
        'anchor_tab_processor_version_metadata' => 'setAnchorTabProcessorVersionMetadata',
        'anchor_units' => 'setAnchorUnits',
        'anchor_units_metadata' => 'setAnchorUnitsMetadata',
        'anchor_x_offset' => 'setAnchorXOffset',
        'anchor_x_offset_metadata' => 'setAnchorXOffsetMetadata',
        'anchor_y_offset' => 'setAnchorYOffset',
        'anchor_y_offset_metadata' => 'setAnchorYOffsetMetadata',
        'bold' => 'setBold',
        'bold_metadata' => 'setBoldMetadata',
        'caption' => 'setCaption',
        'caption_metadata' => 'setCaptionMetadata',
        'conceal_value_on_document' => 'setConcealValueOnDocument',
        'conceal_value_on_document_metadata' => 'setConcealValueOnDocumentMetadata',
        'conditional_parent_label' => 'setConditionalParentLabel',
        'conditional_parent_label_metadata' => 'setConditionalParentLabelMetadata',
        'conditional_parent_value' => 'setConditionalParentValue',
        'conditional_parent_value_metadata' => 'setConditionalParentValueMetadata',
        'custom_tab_id' => 'setCustomTabId',
        'custom_tab_id_metadata' => 'setCustomTabIdMetadata',
        'disable_auto_size' => 'setDisableAutoSize',
        'disable_auto_size_metadata' => 'setDisableAutoSizeMetadata',
        'document_id' => 'setDocumentId',
        'document_id_metadata' => 'setDocumentIdMetadata',
        'error_details' => 'setErrorDetails',
        'font' => 'setFont',
        'font_color' => 'setFontColor',
        'font_color_metadata' => 'setFontColorMetadata',
        'font_metadata' => 'setFontMetadata',
        'font_size' => 'setFontSize',
        'font_size_metadata' => 'setFontSizeMetadata',
        'form_order' => 'setFormOrder',
        'form_order_metadata' => 'setFormOrderMetadata',
        'form_page_label' => 'setFormPageLabel',
        'form_page_label_metadata' => 'setFormPageLabelMetadata',
        'form_page_number' => 'setFormPageNumber',
        'form_page_number_metadata' => 'setFormPageNumberMetadata',
        'height' => 'setHeight',
        'height_metadata' => 'setHeightMetadata',
        'italic' => 'setItalic',
        'italic_metadata' => 'setItalicMetadata',
        'locale_policy' => 'setLocalePolicy',
        'locked' => 'setLocked',
        'locked_metadata' => 'setLockedMetadata',
        'max_length' => 'setMaxLength',
        'max_length_metadata' => 'setMaxLengthMetadata',
        'merge_field' => 'setMergeField',
        'merge_field_xml' => 'setMergeFieldXml',
        'name' => 'setName',
        'name_metadata' => 'setNameMetadata',
        'original_value' => 'setOriginalValue',
        'original_value_metadata' => 'setOriginalValueMetadata',
        'page_number' => 'setPageNumber',
        'page_number_metadata' => 'setPageNumberMetadata',
        'recipient_id' => 'setRecipientId',
        'recipient_id_guid' => 'setRecipientIdGuid',
        'recipient_id_guid_metadata' => 'setRecipientIdGuidMetadata',
        'recipient_id_metadata' => 'setRecipientIdMetadata',
        'require_all' => 'setRequireAll',
        'require_all_metadata' => 'setRequireAllMetadata',
        'required' => 'setRequired',
        'required_metadata' => 'setRequiredMetadata',
        'require_initial_on_shared_change' => 'setRequireInitialOnSharedChange',
        'require_initial_on_shared_change_metadata' => 'setRequireInitialOnSharedChangeMetadata',
        'sender_required' => 'setSenderRequired',
        'sender_required_metadata' => 'setSenderRequiredMetadata',
        'shared' => 'setShared',
        'shared_metadata' => 'setSharedMetadata',
        'share_to_recipients' => 'setShareToRecipients',
        'share_to_recipients_metadata' => 'setShareToRecipientsMetadata',
        'smart_contract_information' => 'setSmartContractInformation',
        'source' => 'setSource',
        'status' => 'setStatus',
        'status_metadata' => 'setStatusMetadata',
        'tab_group_labels' => 'setTabGroupLabels',
        'tab_group_labels_metadata' => 'setTabGroupLabelsMetadata',
        'tab_id' => 'setTabId',
        'tab_id_metadata' => 'setTabIdMetadata',
        'tab_label' => 'setTabLabel',
        'tab_label_metadata' => 'setTabLabelMetadata',
        'tab_order' => 'setTabOrder',
        'tab_order_metadata' => 'setTabOrderMetadata',
        'tab_type' => 'setTabType',
        'tab_type_metadata' => 'setTabTypeMetadata',
        'template_locked' => 'setTemplateLocked',
        'template_locked_metadata' => 'setTemplateLockedMetadata',
        'template_required' => 'setTemplateRequired',
        'template_required_metadata' => 'setTemplateRequiredMetadata',
        'tooltip' => 'setTooltip',
        'tool_tip_metadata' => 'setToolTipMetadata',
        'underline' => 'setUnderline',
        'underline_metadata' => 'setUnderlineMetadata',
        'use_dash4' => 'setUseDash4',
        'use_dash4_metadata' => 'setUseDash4Metadata',
        'validation_message' => 'setValidationMessage',
        'validation_message_metadata' => 'setValidationMessageMetadata',
        'validation_pattern' => 'setValidationPattern',
        'validation_pattern_metadata' => 'setValidationPatternMetadata',
        'value' => 'setValue',
        'value_metadata' => 'setValueMetadata',
        'width' => 'setWidth',
        'width_metadata' => 'setWidthMetadata',
        'x_position' => 'setXPosition',
        'x_position_metadata' => 'setXPositionMetadata',
        'y_position' => 'setYPosition',
        'y_position_metadata' => 'setYPositionMetadata'
    ];

    /**
     * Array of attributes to getter functions (for serialization of requests)
     *
     * @var string[]
     */
    protected static $getters = [
        'anchor_allow_white_space_in_characters' => 'getAnchorAllowWhiteSpaceInCharacters',
        'anchor_allow_white_space_in_characters_metadata' => 'getAnchorAllowWhiteSpaceInCharactersMetadata',
        'anchor_case_sensitive' => 'getAnchorCaseSensitive',
        'anchor_case_sensitive_metadata' => 'getAnchorCaseSensitiveMetadata',
        'anchor_horizontal_alignment' => 'getAnchorHorizontalAlignment',
        'anchor_horizontal_alignment_metadata' => 'getAnchorHorizontalAlignmentMetadata',
        'anchor_ignore_if_not_present' => 'getAnchorIgnoreIfNotPresent',
        'anchor_ignore_if_not_present_metadata' => 'getAnchorIgnoreIfNotPresentMetadata',
        'anchor_match_whole_word' => 'getAnchorMatchWholeWord',
        'anchor_match_whole_word_metadata' => 'getAnchorMatchWholeWordMetadata',
        'anchor_string' => 'getAnchorString',
        'anchor_string_metadata' => 'getAnchorStringMetadata',
        'anchor_tab_processor_version' => 'getAnchorTabProcessorVersion',
        'anchor_tab_processor_version_metadata' => 'getAnchorTabProcessorVersionMetadata',
        'anchor_units' => 'getAnchorUnits',
        'anchor_units_metadata' => 'getAnchorUnitsMetadata',
        'anchor_x_offset' => 'getAnchorXOffset',
        'anchor_x_offset_metadata' => 'getAnchorXOffsetMetadata',
        'anchor_y_offset' => 'getAnchorYOffset',
        'anchor_y_offset_metadata' => 'getAnchorYOffsetMetadata',
        'bold' => 'getBold',
        'bold_metadata' => 'getBoldMetadata',
        'caption' => 'getCaption',
        'caption_metadata' => 'getCaptionMetadata',
        'conceal_value_on_document' => 'getConcealValueOnDocument',
        'conceal_value_on_document_metadata' => 'getConcealValueOnDocumentMetadata',
        'conditional_parent_label' => 'getConditionalParentLabel',
        'conditional_parent_label_metadata' => 'getConditionalParentLabelMetadata',
        'conditional_parent_value' => 'getConditionalParentValue',
        'conditional_parent_value_metadata' => 'getConditionalParentValueMetadata',
        'custom_tab_id' => 'getCustomTabId',
        'custom_tab_id_metadata' => 'getCustomTabIdMetadata',
        'disable_auto_size' => 'getDisableAutoSize',
        'disable_auto_size_metadata' => 'getDisableAutoSizeMetadata',
        'document_id' => 'getDocumentId',
        'document_id_metadata' => 'getDocumentIdMetadata',
        'error_details' => 'getErrorDetails',
        'font' => 'getFont',
        'font_color' => 'getFontColor',
        'font_color_metadata' => 'getFontColorMetadata',
        'font_metadata' => 'getFontMetadata',
        'font_size' => 'getFontSize',
        'font_size_metadata' => 'getFontSizeMetadata',
        'form_order' => 'getFormOrder',
        'form_order_metadata' => 'getFormOrderMetadata',
        'form_page_label' => 'getFormPageLabel',
        'form_page_label_metadata' => 'getFormPageLabelMetadata',
        'form_page_number' => 'getFormPageNumber',
        'form_page_number_metadata' => 'getFormPageNumberMetadata',
        'height' => 'getHeight',
        'height_metadata' => 'getHeightMetadata',
        'italic' => 'getItalic',
        'italic_metadata' => 'getItalicMetadata',
        'locale_policy' => 'getLocalePolicy',
        'locked' => 'getLocked',
        'locked_metadata' => 'getLockedMetadata',
        'max_length' => 'getMaxLength',
        'max_length_metadata' => 'getMaxLengthMetadata',
        'merge_field' => 'getMergeField',
        'merge_field_xml' => 'getMergeFieldXml',
        'name' => 'getName',
        'name_metadata' => 'getNameMetadata',
        'original_value' => 'getOriginalValue',
        'original_value_metadata' => 'getOriginalValueMetadata',
        'page_number' => 'getPageNumber',
        'page_number_metadata' => 'getPageNumberMetadata',
        'recipient_id' => 'getRecipientId',
        'recipient_id_guid' => 'getRecipientIdGuid',
        'recipient_id_guid_metadata' => 'getRecipientIdGuidMetadata',
        'recipient_id_metadata' => 'getRecipientIdMetadata',
        'require_all' => 'getRequireAll',
        'require_all_metadata' => 'getRequireAllMetadata',
        'required' => 'getRequired',
        'required_metadata' => 'getRequiredMetadata',
        'require_initial_on_shared_change' => 'getRequireInitialOnSharedChange',
        'require_initial_on_shared_change_metadata' => 'getRequireInitialOnSharedChangeMetadata',
        'sender_required' => 'getSenderRequired',
        'sender_required_metadata' => 'getSenderRequiredMetadata',
        'shared' => 'getShared',
        'shared_metadata' => 'getSharedMetadata',
        'share_to_recipients' => 'getShareToRecipients',
        'share_to_recipients_metadata' => 'getShareToRecipientsMetadata',
        'smart_contract_information' => 'getSmartContractInformation',
        'source' => 'getSource',
        'status' => 'getStatus',
        'status_metadata' => 'getStatusMetadata',
        'tab_group_labels' => 'getTabGroupLabels',
        'tab_group_labels_metadata' => 'getTabGroupLabelsMetadata',
        'tab_id' => 'getTabId',
        'tab_id_metadata' => 'getTabIdMetadata',
        'tab_label' => 'getTabLabel',
        'tab_label_metadata' => 'getTabLabelMetadata',
        'tab_order' => 'getTabOrder',
        'tab_order_metadata' => 'getTabOrderMetadata',
        'tab_type' => 'getTabType',
        'tab_type_metadata' => 'getTabTypeMetadata',
        'template_locked' => 'getTemplateLocked',
        'template_locked_metadata' => 'getTemplateLockedMetadata',
        'template_required' => 'getTemplateRequired',
        'template_required_metadata' => 'getTemplateRequiredMetadata',
        'tooltip' => 'getTooltip',
        'tool_tip_metadata' => 'getToolTipMetadata',
        'underline' => 'getUnderline',
        'underline_metadata' => 'getUnderlineMetadata',
        'use_dash4' => 'getUseDash4',
        'use_dash4_metadata' => 'getUseDash4Metadata',
        'validation_message' => 'getValidationMessage',
        'validation_message_metadata' => 'getValidationMessageMetadata',
        'validation_pattern' => 'getValidationPattern',
        'validation_pattern_metadata' => 'getValidationPatternMetadata',
        'value' => 'getValue',
        'value_metadata' => 'getValueMetadata',
        'width' => 'getWidth',
        'width_metadata' => 'getWidthMetadata',
        'x_position' => 'getXPosition',
        'x_position_metadata' => 'getXPositionMetadata',
        'y_position' => 'getYPosition',
        'y_position_metadata' => 'getYPositionMetadata'
    ];

    /**
     * Array of attributes where the key is the local name,
     * and the value is the original name
     *
     * @return array
     */
    public static function attributeMap()
    {
        return self::$attributeMap;
    }

    /**
     * Array of attributes to setter functions (for deserialization of responses)
     *
     * @return array
     */
    public static function setters()
    {
        return self::$setters;
    }

    /**
     * Array of attributes to getter functions (for serialization of requests)
     *
     * @return array
     */
    public static function getters()
    {
        return self::$getters;
    }

    /**
     * The original name of the model.
     *
     * @return string
     */
    public function getModelName()
    {
        return self::$swaggerModelName;
    }

    

    

    /**
     * Associative array for storing property values
     *
     * @var mixed[]
     */
    protected $container = [];

    /**
     * Constructor
     *
     * @param mixed[] $data Associated array of property values
     *                      initializing the model
     */
    public function __construct(array $data = null)
    {
        $this->container['anchor_allow_white_space_in_characters'] = isset($data['anchor_allow_white_space_in_characters']) ? $data['anchor_allow_white_space_in_characters'] : null;
        $this->container['anchor_allow_white_space_in_characters_metadata'] = isset($data['anchor_allow_white_space_in_characters_metadata']) ? $data['anchor_allow_white_space_in_characters_metadata'] : null;
        $this->container['anchor_case_sensitive'] = isset($data['anchor_case_sensitive']) ? $data['anchor_case_sensitive'] : null;
        $this->container['anchor_case_sensitive_metadata'] = isset($data['anchor_case_sensitive_metadata']) ? $data['anchor_case_sensitive_metadata'] : null;
        $this->container['anchor_horizontal_alignment'] = isset($data['anchor_horizontal_alignment']) ? $data['anchor_horizontal_alignment'] : null;
        $this->container['anchor_horizontal_alignment_metadata'] = isset($data['anchor_horizontal_alignment_metadata']) ? $data['anchor_horizontal_alignment_metadata'] : null;
        $this->container['anchor_ignore_if_not_present'] = isset($data['anchor_ignore_if_not_present']) ? $data['anchor_ignore_if_not_present'] : null;
        $this->container['anchor_ignore_if_not_present_metadata'] = isset($data['anchor_ignore_if_not_present_metadata']) ? $data['anchor_ignore_if_not_present_metadata'] : null;
        $this->container['anchor_match_whole_word'] = isset($data['anchor_match_whole_word']) ? $data['anchor_match_whole_word'] : null;
        $this->container['anchor_match_whole_word_metadata'] = isset($data['anchor_match_whole_word_metadata']) ? $data['anchor_match_whole_word_metadata'] : null;
        $this->container['anchor_string'] = isset($data['anchor_string']) ? $data['anchor_string'] : null;
        $this->container['anchor_string_metadata'] = isset($data['anchor_string_metadata']) ? $data['anchor_string_metadata'] : null;
        $this->container['anchor_tab_processor_version'] = isset($data['anchor_tab_processor_version']) ? $data['anchor_tab_processor_version'] : null;
        $this->container['anchor_tab_processor_version_metadata'] = isset($data['anchor_tab_processor_version_metadata']) ? $data['anchor_tab_processor_version_metadata'] : null;
        $this->container['anchor_units'] = isset($data['anchor_units']) ? $data['anchor_units'] : null;
        $this->container['anchor_units_metadata'] = isset($data['anchor_units_metadata']) ? $data['anchor_units_metadata'] : null;
        $this->container['anchor_x_offset'] = isset($data['anchor_x_offset']) ? $data['anchor_x_offset'] : null;
        $this->container['anchor_x_offset_metadata'] = isset($data['anchor_x_offset_metadata']) ? $data['anchor_x_offset_metadata'] : null;
        $this->container['anchor_y_offset'] = isset($data['anchor_y_offset']) ? $data['anchor_y_offset'] : null;
        $this->container['anchor_y_offset_metadata'] = isset($data['anchor_y_offset_metadata']) ? $data['anchor_y_offset_metadata'] : null;
        $this->container['bold'] = isset($data['bold']) ? $data['bold'] : null;
        $this->container['bold_metadata'] = isset($data['bold_metadata']) ? $data['bold_metadata'] : null;
        $this->container['caption'] = isset($data['caption']) ? $data['caption'] : null;
        $this->container['caption_metadata'] = isset($data['caption_metadata']) ? $data['caption_metadata'] : null;
        $this->container['conceal_value_on_document'] = isset($data['conceal_value_on_document']) ? $data['conceal_value_on_document'] : null;
        $this->container['conceal_value_on_document_metadata'] = isset($data['conceal_value_on_document_metadata']) ? $data['conceal_value_on_document_metadata'] : null;
        $this->container['conditional_parent_label'] = isset($data['conditional_parent_label']) ? $data['conditional_parent_label'] : null;
        $this->container['conditional_parent_label_metadata'] = isset($data['conditional_parent_label_metadata']) ? $data['conditional_parent_label_metadata'] : null;
        $this->container['conditional_parent_value'] = isset($data['conditional_parent_value']) ? $data['conditional_parent_value'] : null;
        $this->container['conditional_parent_value_metadata'] = isset($data['conditional_parent_value_metadata']) ? $data['conditional_parent_value_metadata'] : null;
        $this->container['custom_tab_id'] = isset($data['custom_tab_id']) ? $data['custom_tab_id'] : null;
        $this->container['custom_tab_id_metadata'] = isset($data['custom_tab_id_metadata']) ? $data['custom_tab_id_metadata'] : null;
        $this->container['disable_auto_size'] = isset($data['disable_auto_size']) ? $data['disable_auto_size'] : null;
        $this->container['disable_auto_size_metadata'] = isset($data['disable_auto_size_metadata']) ? $data['disable_auto_size_metadata'] : null;
        $this->container['document_id'] = isset($data['document_id']) ? $data['document_id'] : null;
        $this->container['document_id_metadata'] = isset($data['document_id_metadata']) ? $data['document_id_metadata'] : null;
        $this->container['error_details'] = isset($data['error_details']) ? $data['error_details'] : null;
        $this->container['font'] = isset($data['font']) ? $data['font'] : null;
        $this->container['font_color'] = isset($data['font_color']) ? $data['font_color'] : null;
        $this->container['font_color_metadata'] = isset($data['font_color_metadata']) ? $data['font_color_metadata'] : null;
        $this->container['font_metadata'] = isset($data['font_metadata']) ? $data['font_metadata'] : null;
        $this->container['font_size'] = isset($data['font_size']) ? $data['font_size'] : null;
        $this->container['font_size_metadata'] = isset($data['font_size_metadata']) ? $data['font_size_metadata'] : null;
        $this->container['form_order'] = isset($data['form_order']) ? $data['form_order'] : null;
        $this->container['form_order_metadata'] = isset($data['form_order_metadata']) ? $data['form_order_metadata'] : null;
        $this->container['form_page_label'] = isset($data['form_page_label']) ? $data['form_page_label'] : null;
        $this->container['form_page_label_metadata'] = isset($data['form_page_label_metadata']) ? $data['form_page_label_metadata'] : null;
        $this->container['form_page_number'] = isset($data['form_page_number']) ? $data['form_page_number'] : null;
        $this->container['form_page_number_metadata'] = isset($data['form_page_number_metadata']) ? $data['form_page_number_metadata'] : null;
        $this->container['height'] = isset($data['height']) ? $data['height'] : null;
        $this->container['height_metadata'] = isset($data['height_metadata']) ? $data['height_metadata'] : null;
        $this->container['italic'] = isset($data['italic']) ? $data['italic'] : null;
        $this->container['italic_metadata'] = isset($data['italic_metadata']) ? $data['italic_metadata'] : null;
        $this->container['locale_policy'] = isset($data['locale_policy']) ? $data['locale_policy'] : null;
        $this->container['locked'] = isset($data['locked']) ? $data['locked'] : null;
        $this->container['locked_metadata'] = isset($data['locked_metadata']) ? $data['locked_metadata'] : null;
        $this->container['max_length'] = isset($data['max_length']) ? $data['max_length'] : null;
        $this->container['max_length_metadata'] = isset($data['max_length_metadata']) ? $data['max_length_metadata'] : null;
        $this->container['merge_field'] = isset($data['merge_field']) ? $data['merge_field'] : null;
        $this->container['merge_field_xml'] = isset($data['merge_field_xml']) ? $data['merge_field_xml'] : null;
        $this->container['name'] = isset($data['name']) ? $data['name'] : null;
        $this->container['name_metadata'] = isset($data['name_metadata']) ? $data['name_metadata'] : null;
        $this->container['original_value'] = isset($data['original_value']) ? $data['original_value'] : null;
        $this->container['original_value_metadata'] = isset($data['original_value_metadata']) ? $data['original_value_metadata'] : null;
        $this->container['page_number'] = isset($data['page_number']) ? $data['page_number'] : null;
        $this->container['page_number_metadata'] = isset($data['page_number_metadata']) ? $data['page_number_metadata'] : null;
        $this->container['recipient_id'] = isset($data['recipient_id']) ? $data['recipient_id'] : null;
        $this->container['recipient_id_guid'] = isset($data['recipient_id_guid']) ? $data['recipient_id_guid'] : null;
        $this->container['recipient_id_guid_metadata'] = isset($data['recipient_id_guid_metadata']) ? $data['recipient_id_guid_metadata'] : null;
        $this->container['recipient_id_metadata'] = isset($data['recipient_id_metadata']) ? $data['recipient_id_metadata'] : null;
        $this->container['require_all'] = isset($data['require_all']) ? $data['require_all'] : null;
        $this->container['require_all_metadata'] = isset($data['require_all_metadata']) ? $data['require_all_metadata'] : null;
        $this->container['required'] = isset($data['required']) ? $data['required'] : null;
        $this->container['required_metadata'] = isset($data['required_metadata']) ? $data['required_metadata'] : null;
        $this->container['require_initial_on_shared_change'] = isset($data['require_initial_on_shared_change']) ? $data['require_initial_on_shared_change'] : null;
        $this->container['require_initial_on_shared_change_metadata'] = isset($data['require_initial_on_shared_change_metadata']) ? $data['require_initial_on_shared_change_metadata'] : null;
        $this->container['sender_required'] = isset($data['sender_required']) ? $data['sender_required'] : null;
        $this->container['sender_required_metadata'] = isset($data['sender_required_metadata']) ? $data['sender_required_metadata'] : null;
        $this->container['shared'] = isset($data['shared']) ? $data['shared'] : null;
        $this->container['shared_metadata'] = isset($data['shared_metadata']) ? $data['shared_metadata'] : null;
        $this->container['share_to_recipients'] = isset($data['share_to_recipients']) ? $data['share_to_recipients'] : null;
        $this->container['share_to_recipients_metadata'] = isset($data['share_to_recipients_metadata']) ? $data['share_to_recipients_metadata'] : null;
        $this->container['smart_contract_information'] = isset($data['smart_contract_information']) ? $data['smart_contract_information'] : null;
        $this->container['source'] = isset($data['source']) ? $data['source'] : null;
        $this->container['status'] = isset($data['status']) ? $data['status'] : null;
        $this->container['status_metadata'] = isset($data['status_metadata']) ? $data['status_metadata'] : null;
        $this->container['tab_group_labels'] = isset($data['tab_group_labels']) ? $data['tab_group_labels'] : null;
        $this->container['tab_group_labels_metadata'] = isset($data['tab_group_labels_metadata']) ? $data['tab_group_labels_metadata'] : null;
        $this->container['tab_id'] = isset($data['tab_id']) ? $data['tab_id'] : null;
        $this->container['tab_id_metadata'] = isset($data['tab_id_metadata']) ? $data['tab_id_metadata'] : null;
        $this->container['tab_label'] = isset($data['tab_label']) ? $data['tab_label'] : null;
        $this->container['tab_label_metadata'] = isset($data['tab_label_metadata']) ? $data['tab_label_metadata'] : null;
        $this->container['tab_order'] = isset($data['tab_order']) ? $data['tab_order'] : null;
        $this->container['tab_order_metadata'] = isset($data['tab_order_metadata']) ? $data['tab_order_metadata'] : null;
        $this->container['tab_type'] = isset($data['tab_type']) ? $data['tab_type'] : null;
        $this->container['tab_type_metadata'] = isset($data['tab_type_metadata']) ? $data['tab_type_metadata'] : null;
        $this->container['template_locked'] = isset($data['template_locked']) ? $data['template_locked'] : null;
        $this->container['template_locked_metadata'] = isset($data['template_locked_metadata']) ? $data['template_locked_metadata'] : null;
        $this->container['template_required'] = isset($data['template_required']) ? $data['template_required'] : null;
        $this->container['template_required_metadata'] = isset($data['template_required_metadata']) ? $data['template_required_metadata'] : null;
        $this->container['tooltip'] = isset($data['tooltip']) ? $data['tooltip'] : null;
        $this->container['tool_tip_metadata'] = isset($data['tool_tip_metadata']) ? $data['tool_tip_metadata'] : null;
        $this->container['underline'] = isset($data['underline']) ? $data['underline'] : null;
        $this->container['underline_metadata'] = isset($data['underline_metadata']) ? $data['underline_metadata'] : null;
        $this->container['use_dash4'] = isset($data['use_dash4']) ? $data['use_dash4'] : null;
        $this->container['use_dash4_metadata'] = isset($data['use_dash4_metadata']) ? $data['use_dash4_metadata'] : null;
        $this->container['validation_message'] = isset($data['validation_message']) ? $data['validation_message'] : null;
        $this->container['validation_message_metadata'] = isset($data['validation_message_metadata']) ? $data['validation_message_metadata'] : null;
        $this->container['validation_pattern'] = isset($data['validation_pattern']) ? $data['validation_pattern'] : null;
        $this->container['validation_pattern_metadata'] = isset($data['validation_pattern_metadata']) ? $data['validation_pattern_metadata'] : null;
        $this->container['value'] = isset($data['value']) ? $data['value'] : null;
        $this->container['value_metadata'] = isset($data['value_metadata']) ? $data['value_metadata'] : null;
        $this->container['width'] = isset($data['width']) ? $data['width'] : null;
        $this->container['width_metadata'] = isset($data['width_metadata']) ? $data['width_metadata'] : null;
        $this->container['x_position'] = isset($data['x_position']) ? $data['x_position'] : null;
        $this->container['x_position_metadata'] = isset($data['x_position_metadata']) ? $data['x_position_metadata'] : null;
        $this->container['y_position'] = isset($data['y_position']) ? $data['y_position'] : null;
        $this->container['y_position_metadata'] = isset($data['y_position_metadata']) ? $data['y_position_metadata'] : null;
    }

    /**
     * Show all the invalid properties with reasons.
     *
     * @return array invalid properties with reasons
     */
    public function listInvalidProperties()
    {
        $invalidProperties = [];

        return $invalidProperties;
    }

    /**
     * Validate all the properties in the model
     * return true if all passed
     *
     * @return bool True if all properties are valid
     */
    public function valid()
    {
        return count($this->listInvalidProperties()) === 0;
    }


    /**
     * Gets anchor_allow_white_space_in_characters
     *
     * @return ?string
     */
    public function getAnchorAllowWhiteSpaceInCharacters()
    {
        return $this->container['anchor_allow_white_space_in_characters'];
    }

    /**
     * Sets anchor_allow_white_space_in_characters
     *
     * @param ?string $anchor_allow_white_space_in_characters 
     *
     * @return $this
     */
    public function setAnchorAllowWhiteSpaceInCharacters($anchor_allow_white_space_in_characters)
    {
        $this->container['anchor_allow_white_space_in_characters'] = $anchor_allow_white_space_in_characters;

        return $this;
    }

    /**
     * Gets anchor_allow_white_space_in_characters_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getAnchorAllowWhiteSpaceInCharactersMetadata()
    {
        return $this->container['anchor_allow_white_space_in_characters_metadata'];
    }

    /**
     * Sets anchor_allow_white_space_in_characters_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $anchor_allow_white_space_in_characters_metadata Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
     *
     * @return $this
     */
    public function setAnchorAllowWhiteSpaceInCharactersMetadata($anchor_allow_white_space_in_characters_metadata)
    {
        $this->container['anchor_allow_white_space_in_characters_metadata'] = $anchor_allow_white_space_in_characters_metadata;

        return $this;
    }

    /**
     * Gets anchor_case_sensitive
     *
     * @return ?string
     */
    public function getAnchorCaseSensitive()
    {
        return $this->container['anchor_case_sensitive'];
    }

    /**
     * Sets anchor_case_sensitive
     *
     * @param ?string $anchor_case_sensitive When set to **true**, the anchor string does not consider case when matching strings in the document. The default value is **true**.
     *
     * @return $this
     */
    public function setAnchorCaseSensitive($anchor_case_sensitive)
    {
        $this->container['anchor_case_sensitive'] = $anchor_case_sensitive;

        return $this;
    }

    /**
     * Gets anchor_case_sensitive_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getAnchorCaseSensitiveMetadata()
    {
        return $this->container['anchor_case_sensitive_metadata'];
    }

    /**
     * Sets anchor_case_sensitive_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $anchor_case_sensitive_metadata Metadata that indicates whether the `anchorCaseSensitive` property is editable.
     *
     * @return $this
     */
    public function setAnchorCaseSensitiveMetadata($anchor_case_sensitive_metadata)
    {
        $this->container['anchor_case_sensitive_metadata'] = $anchor_case_sensitive_metadata;

        return $this;
    }

    /**
     * Gets anchor_horizontal_alignment
     *
     * @return ?string
     */
    public function getAnchorHorizontalAlignment()
    {
        return $this->container['anchor_horizontal_alignment'];
    }

    /**
     * Sets anchor_horizontal_alignment
     *
     * @param ?string $anchor_horizontal_alignment Specifies the alignment of anchor tabs with anchor strings. Possible values are **left** or **right**. The default value is **left**.
     *
     * @return $this
     */
    public function setAnchorHorizontalAlignment($anchor_horizontal_alignment)
    {
        $this->container['anchor_horizontal_alignment'] = $anchor_horizontal_alignment;

        return $this;
    }

    /**
     * Gets anchor_horizontal_alignment_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getAnchorHorizontalAlignmentMetadata()
    {
        return $this->container['anchor_horizontal_alignment_metadata'];
    }

    /**
     * Sets anchor_horizontal_alignment_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $anchor_horizontal_alignment_metadata Metadata that indicates whether the `anchorHorizontalAlignment` property is editable.
     *
     * @return $this
     */
    public function setAnchorHorizontalAlignmentMetadata($anchor_horizontal_alignment_metadata)
    {
        $this->container['anchor_horizontal_alignment_metadata'] = $anchor_horizontal_alignment_metadata;

        return $this;
    }

    /**
     * Gets anchor_ignore_if_not_present
     *
     * @return ?string
     */
    public function getAnchorIgnoreIfNotPresent()
    {
        return $this->container['anchor_ignore_if_not_present'];
    }

    /**
     * Sets anchor_ignore_if_not_present
     *
     * @param ?string $anchor_ignore_if_not_present When set to **true**, this tab is ignored if anchorString is not found in the document.
     *
     * @return $this
     */
    public function setAnchorIgnoreIfNotPresent($anchor_ignore_if_not_present)
    {
        $this->container['anchor_ignore_if_not_present'] = $anchor_ignore_if_not_present;

        return $this;
    }

    /**
     * Gets anchor_ignore_if_not_present_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getAnchorIgnoreIfNotPresentMetadata()
    {
        return $this->container['anchor_ignore_if_not_present_metadata'];
    }

    /**
     * Sets anchor_ignore_if_not_present_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $anchor_ignore_if_not_present_metadata Metadata that indicates whether the `anchorIgnoreIfNotPresent` property is editable.
     *
     * @return $this
     */
    public function setAnchorIgnoreIfNotPresentMetadata($anchor_ignore_if_not_present_metadata)
    {
        $this->container['anchor_ignore_if_not_present_metadata'] = $anchor_ignore_if_not_present_metadata;

        return $this;
    }

    /**
     * Gets anchor_match_whole_word
     *
     * @return ?string
     */
    public function getAnchorMatchWholeWord()
    {
        return $this->container['anchor_match_whole_word'];
    }

    /**
     * Sets anchor_match_whole_word
     *
     * @param ?string $anchor_match_whole_word When set to **true**, the anchor string in this tab matches whole words only (strings embedded in other strings are ignored.) The default value is **true**.
     *
     * @return $this
     */
    public function setAnchorMatchWholeWord($anchor_match_whole_word)
    {
        $this->container['anchor_match_whole_word'] = $anchor_match_whole_word;

        return $this;
    }

    /**
     * Gets anchor_match_whole_word_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getAnchorMatchWholeWordMetadata()
    {
        return $this->container['anchor_match_whole_word_metadata'];
    }

    /**
     * Sets anchor_match_whole_word_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $anchor_match_whole_word_metadata Metadata that indicates whether the `anchorMatchWholeWord` property is editable.
     *
     * @return $this
     */
    public function setAnchorMatchWholeWordMetadata($anchor_match_whole_word_metadata)
    {
        $this->container['anchor_match_whole_word_metadata'] = $anchor_match_whole_word_metadata;

        return $this;
    }

    /**
     * Gets anchor_string
     *
     * @return ?string
     */
    public function getAnchorString()
    {
        return $this->container['anchor_string'];
    }

    /**
     * Sets anchor_string
     *
     * @param ?string $anchor_string Anchor text information for a radio button.
     *
     * @return $this
     */
    public function setAnchorString($anchor_string)
    {
        $this->container['anchor_string'] = $anchor_string;

        return $this;
    }

    /**
     * Gets anchor_string_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getAnchorStringMetadata()
    {
        return $this->container['anchor_string_metadata'];
    }

    /**
     * Sets anchor_string_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $anchor_string_metadata Metadata that indicates whether the `anchorString` property is editable.
     *
     * @return $this
     */
    public function setAnchorStringMetadata($anchor_string_metadata)
    {
        $this->container['anchor_string_metadata'] = $anchor_string_metadata;

        return $this;
    }

    /**
     * Gets anchor_tab_processor_version
     *
     * @return ?string
     */
    public function getAnchorTabProcessorVersion()
    {
        return $this->container['anchor_tab_processor_version'];
    }

    /**
     * Sets anchor_tab_processor_version
     *
     * @param ?string $anchor_tab_processor_version 
     *
     * @return $this
     */
    public function setAnchorTabProcessorVersion($anchor_tab_processor_version)
    {
        $this->container['anchor_tab_processor_version'] = $anchor_tab_processor_version;

        return $this;
    }

    /**
     * Gets anchor_tab_processor_version_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getAnchorTabProcessorVersionMetadata()
    {
        return $this->container['anchor_tab_processor_version_metadata'];
    }

    /**
     * Sets anchor_tab_processor_version_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $anchor_tab_processor_version_metadata Reserved for DocuSign.
     *
     * @return $this
     */
    public function setAnchorTabProcessorVersionMetadata($anchor_tab_processor_version_metadata)
    {
        $this->container['anchor_tab_processor_version_metadata'] = $anchor_tab_processor_version_metadata;

        return $this;
    }

    /**
     * Gets anchor_units
     *
     * @return ?string
     */
    public function getAnchorUnits()
    {
        return $this->container['anchor_units'];
    }

    /**
     * Sets anchor_units
     *
     * @param ?string $anchor_units Specifies units of the X and Y offset. Units could be pixels, millimeters, centimeters, or inches.
     *
     * @return $this
     */
    public function setAnchorUnits($anchor_units)
    {
        $this->container['anchor_units'] = $anchor_units;

        return $this;
    }

    /**
     * Gets anchor_units_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getAnchorUnitsMetadata()
    {
        return $this->container['anchor_units_metadata'];
    }

    /**
     * Sets anchor_units_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $anchor_units_metadata Metadata that indicates whether the `anchorUnits` property is editable.
     *
     * @return $this
     */
    public function setAnchorUnitsMetadata($anchor_units_metadata)
    {
        $this->container['anchor_units_metadata'] = $anchor_units_metadata;

        return $this;
    }

    /**
     * Gets anchor_x_offset
     *
     * @return ?string
     */
    public function getAnchorXOffset()
    {
        return $this->container['anchor_x_offset'];
    }

    /**
     * Sets anchor_x_offset
     *
     * @param ?string $anchor_x_offset Specifies the X axis location of the tab, in anchorUnits, relative to the anchorString.
     *
     * @return $this
     */
    public function setAnchorXOffset($anchor_x_offset)
    {
        $this->container['anchor_x_offset'] = $anchor_x_offset;

        return $this;
    }

    /**
     * Gets anchor_x_offset_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getAnchorXOffsetMetadata()
    {
        return $this->container['anchor_x_offset_metadata'];
    }

    /**
     * Sets anchor_x_offset_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $anchor_x_offset_metadata Metadata that indicates whether the `anchorXOffset` property is editable.
     *
     * @return $this
     */
    public function setAnchorXOffsetMetadata($anchor_x_offset_metadata)
    {
        $this->container['anchor_x_offset_metadata'] = $anchor_x_offset_metadata;

        return $this;
    }

    /**
     * Gets anchor_y_offset
     *
     * @return ?string
     */
    public function getAnchorYOffset()
    {
        return $this->container['anchor_y_offset'];
    }

    /**
     * Sets anchor_y_offset
     *
     * @param ?string $anchor_y_offset Specifies the Y axis location of the tab, in anchorUnits, relative to the anchorString.
     *
     * @return $this
     */
    public function setAnchorYOffset($anchor_y_offset)
    {
        $this->container['anchor_y_offset'] = $anchor_y_offset;

        return $this;
    }

    /**
     * Gets anchor_y_offset_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getAnchorYOffsetMetadata()
    {
        return $this->container['anchor_y_offset_metadata'];
    }

    /**
     * Sets anchor_y_offset_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $anchor_y_offset_metadata Metadata that indicates whether the `anchorYOffset` property is editable.
     *
     * @return $this
     */
    public function setAnchorYOffsetMetadata($anchor_y_offset_metadata)
    {
        $this->container['anchor_y_offset_metadata'] = $anchor_y_offset_metadata;

        return $this;
    }

    /**
     * Gets bold
     *
     * @return ?string
     */
    public function getBold()
    {
        return $this->container['bold'];
    }

    /**
     * Sets bold
     *
     * @param ?string $bold When set to **true**, the information in the tab is bold.
     *
     * @return $this
     */
    public function setBold($bold)
    {
        $this->container['bold'] = $bold;

        return $this;
    }

    /**
     * Gets bold_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getBoldMetadata()
    {
        return $this->container['bold_metadata'];
    }

    /**
     * Sets bold_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $bold_metadata Metadata that indicates whether the `bold` property is editable.
     *
     * @return $this
     */
    public function setBoldMetadata($bold_metadata)
    {
        $this->container['bold_metadata'] = $bold_metadata;

        return $this;
    }

    /**
     * Gets caption
     *
     * @return ?string
     */
    public function getCaption()
    {
        return $this->container['caption'];
    }

    /**
     * Sets caption
     *
     * @param ?string $caption 
     *
     * @return $this
     */
    public function setCaption($caption)
    {
        $this->container['caption'] = $caption;

        return $this;
    }

    /**
     * Gets caption_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getCaptionMetadata()
    {
        return $this->container['caption_metadata'];
    }

    /**
     * Sets caption_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $caption_metadata 
     *
     * @return $this
     */
    public function setCaptionMetadata($caption_metadata)
    {
        $this->container['caption_metadata'] = $caption_metadata;

        return $this;
    }

    /**
     * Gets conceal_value_on_document
     *
     * @return ?string
     */
    public function getConcealValueOnDocument()
    {
        return $this->container['conceal_value_on_document'];
    }

    /**
     * Sets conceal_value_on_document
     *
     * @param ?string $conceal_value_on_document When set to **true**, the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.  When an envelope is completed the information is available to the sender through the Form Data link in the DocuSign Console.  This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
     *
     * @return $this
     */
    public function setConcealValueOnDocument($conceal_value_on_document)
    {
        $this->container['conceal_value_on_document'] = $conceal_value_on_document;

        return $this;
    }

    /**
     * Gets conceal_value_on_document_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getConcealValueOnDocumentMetadata()
    {
        return $this->container['conceal_value_on_document_metadata'];
    }

    /**
     * Sets conceal_value_on_document_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $conceal_value_on_document_metadata Metadata that indicates whether the `concealValueOnDocument` property is editable.
     *
     * @return $this
     */
    public function setConcealValueOnDocumentMetadata($conceal_value_on_document_metadata)
    {
        $this->container['conceal_value_on_document_metadata'] = $conceal_value_on_document_metadata;

        return $this;
    }

    /**
     * Gets conditional_parent_label
     *
     * @return ?string
     */
    public function getConditionalParentLabel()
    {
        return $this->container['conditional_parent_label'];
    }

    /**
     * Sets conditional_parent_label
     *
     * @param ?string $conditional_parent_label For conditional fields this is the TabLabel of the parent tab that controls this tab's visibility.
     *
     * @return $this
     */
    public function setConditionalParentLabel($conditional_parent_label)
    {
        $this->container['conditional_parent_label'] = $conditional_parent_label;

        return $this;
    }

    /**
     * Gets conditional_parent_label_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getConditionalParentLabelMetadata()
    {
        return $this->container['conditional_parent_label_metadata'];
    }

    /**
     * Sets conditional_parent_label_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $conditional_parent_label_metadata Metadata that indicates whether the `conditionalParentLabel` property is editable.
     *
     * @return $this
     */
    public function setConditionalParentLabelMetadata($conditional_parent_label_metadata)
    {
        $this->container['conditional_parent_label_metadata'] = $conditional_parent_label_metadata;

        return $this;
    }

    /**
     * Gets conditional_parent_value
     *
     * @return ?string
     */
    public function getConditionalParentValue()
    {
        return $this->container['conditional_parent_value'];
    }

    /**
     * Sets conditional_parent_value
     *
     * @param ?string $conditional_parent_value For conditional fields, this is the value of the parent tab that controls the tab's visibility.  If the parent tab is a Checkbox, Radio button, Optional Signature, or Optional Initial use \"on\" as the value to show that the parent tab is active.
     *
     * @return $this
     */
    public function setConditionalParentValue($conditional_parent_value)
    {
        $this->container['conditional_parent_value'] = $conditional_parent_value;

        return $this;
    }

    /**
     * Gets conditional_parent_value_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getConditionalParentValueMetadata()
    {
        return $this->container['conditional_parent_value_metadata'];
    }

    /**
     * Sets conditional_parent_value_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $conditional_parent_value_metadata Metadata that indicates whether the `conditionalParentValue` property is editable.
     *
     * @return $this
     */
    public function setConditionalParentValueMetadata($conditional_parent_value_metadata)
    {
        $this->container['conditional_parent_value_metadata'] = $conditional_parent_value_metadata;

        return $this;
    }

    /**
     * Gets custom_tab_id
     *
     * @return ?string
     */
    public function getCustomTabId()
    {
        return $this->container['custom_tab_id'];
    }

    /**
     * Sets custom_tab_id
     *
     * @param ?string $custom_tab_id The DocuSign generated custom tab ID for the custom tab to be applied. This can only be used when adding new tabs for a recipient. When used, the new tab inherits all the custom tab properties.
     *
     * @return $this
     */
    public function setCustomTabId($custom_tab_id)
    {
        $this->container['custom_tab_id'] = $custom_tab_id;

        return $this;
    }

    /**
     * Gets custom_tab_id_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getCustomTabIdMetadata()
    {
        return $this->container['custom_tab_id_metadata'];
    }

    /**
     * Sets custom_tab_id_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $custom_tab_id_metadata Metadata that indicates whether the `customTabId` property is editable.
     *
     * @return $this
     */
    public function setCustomTabIdMetadata($custom_tab_id_metadata)
    {
        $this->container['custom_tab_id_metadata'] = $custom_tab_id_metadata;

        return $this;
    }

    /**
     * Gets disable_auto_size
     *
     * @return ?string
     */
    public function getDisableAutoSize()
    {
        return $this->container['disable_auto_size'];
    }

    /**
     * Sets disable_auto_size
     *
     * @param ?string $disable_auto_size When set to **true**, disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
     *
     * @return $this
     */
    public function setDisableAutoSize($disable_auto_size)
    {
        $this->container['disable_auto_size'] = $disable_auto_size;

        return $this;
    }

    /**
     * Gets disable_auto_size_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getDisableAutoSizeMetadata()
    {
        return $this->container['disable_auto_size_metadata'];
    }

    /**
     * Sets disable_auto_size_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $disable_auto_size_metadata Metadata that indicates whether the `disableAutoSize` property is editable.
     *
     * @return $this
     */
    public function setDisableAutoSizeMetadata($disable_auto_size_metadata)
    {
        $this->container['disable_auto_size_metadata'] = $disable_auto_size_metadata;

        return $this;
    }

    /**
     * Gets document_id
     *
     * @return ?string
     */
    public function getDocumentId()
    {
        return $this->container['document_id'];
    }

    /**
     * Sets document_id
     *
     * @param ?string $document_id Specifies the document ID number that the tab is placed on. This must refer to an existing Document's ID attribute.
     *
     * @return $this
     */
    public function setDocumentId($document_id)
    {
        $this->container['document_id'] = $document_id;

        return $this;
    }

    /**
     * Gets document_id_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getDocumentIdMetadata()
    {
        return $this->container['document_id_metadata'];
    }

    /**
     * Sets document_id_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $document_id_metadata Metadata that indicates whether the `documentId` property is editable.
     *
     * @return $this
     */
    public function setDocumentIdMetadata($document_id_metadata)
    {
        $this->container['document_id_metadata'] = $document_id_metadata;

        return $this;
    }

    /**
     * Gets error_details
     *
     * @return \DocuSign\eSign\Model\ErrorDetails
     */
    public function getErrorDetails()
    {
        return $this->container['error_details'];
    }

    /**
     * Sets error_details
     *
     * @param \DocuSign\eSign\Model\ErrorDetails $error_details Array or errors.
     *
     * @return $this
     */
    public function setErrorDetails($error_details)
    {
        $this->container['error_details'] = $error_details;

        return $this;
    }

    /**
     * Gets font
     *
     * @return ?string
     */
    public function getFont()
    {
        return $this->container['font'];
    }

    /**
     * Sets font
     *
     * @param ?string $font The font to be used for the tab value. Supported Fonts: Arial, Arial, ArialNarrow, Calibri, CourierNew, Garamond, Georgia, Helvetica,   LucidaConsole, Tahoma, TimesNewRoman, Trebuchet, Verdana, MSGothic, MSMincho, Default.
     *
     * @return $this
     */
    public function setFont($font)
    {
        $this->container['font'] = $font;

        return $this;
    }

    /**
     * Gets font_color
     *
     * @return ?string
     */
    public function getFontColor()
    {
        return $this->container['font_color'];
    }

    /**
     * Sets font_color
     *
     * @param ?string $font_color The font color used for the information in the tab.  Possible values are: Black, BrightBlue, BrightRed, DarkGreen, DarkRed, Gold, Green, NavyBlue, Purple, or White.
     *
     * @return $this
     */
    public function setFontColor($font_color)
    {
        $this->container['font_color'] = $font_color;

        return $this;
    }

    /**
     * Gets font_color_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getFontColorMetadata()
    {
        return $this->container['font_color_metadata'];
    }

    /**
     * Sets font_color_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $font_color_metadata Metadata that indicates whether the `fontColor` property is editable.
     *
     * @return $this
     */
    public function setFontColorMetadata($font_color_metadata)
    {
        $this->container['font_color_metadata'] = $font_color_metadata;

        return $this;
    }

    /**
     * Gets font_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getFontMetadata()
    {
        return $this->container['font_metadata'];
    }

    /**
     * Sets font_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $font_metadata Metadata that indicates whether the `font` property is editable.
     *
     * @return $this
     */
    public function setFontMetadata($font_metadata)
    {
        $this->container['font_metadata'] = $font_metadata;

        return $this;
    }

    /**
     * Gets font_size
     *
     * @return ?string
     */
    public function getFontSize()
    {
        return $this->container['font_size'];
    }

    /**
     * Sets font_size
     *
     * @param ?string $font_size The font size used for the information in the tab.  Possible values are: Size7, Size8, Size9, Size10, Size11, Size12, Size14, Size16, Size18, Size20, Size22, Size24, Size26, Size28, Size36, Size48, or Size72.
     *
     * @return $this
     */
    public function setFontSize($font_size)
    {
        $this->container['font_size'] = $font_size;

        return $this;
    }

    /**
     * Gets font_size_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getFontSizeMetadata()
    {
        return $this->container['font_size_metadata'];
    }

    /**
     * Sets font_size_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $font_size_metadata Metadata that indicates whether the `fontSize` property is editable.
     *
     * @return $this
     */
    public function setFontSizeMetadata($font_size_metadata)
    {
        $this->container['font_size_metadata'] = $font_size_metadata;

        return $this;
    }

    /**
     * Gets form_order
     *
     * @return ?string
     */
    public function getFormOrder()
    {
        return $this->container['form_order'];
    }

    /**
     * Sets form_order
     *
     * @param ?string $form_order 
     *
     * @return $this
     */
    public function setFormOrder($form_order)
    {
        $this->container['form_order'] = $form_order;

        return $this;
    }

    /**
     * Gets form_order_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getFormOrderMetadata()
    {
        return $this->container['form_order_metadata'];
    }

    /**
     * Sets form_order_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $form_order_metadata Metadata that indicates whether the `formOrder` property is editable.
     *
     * @return $this
     */
    public function setFormOrderMetadata($form_order_metadata)
    {
        $this->container['form_order_metadata'] = $form_order_metadata;

        return $this;
    }

    /**
     * Gets form_page_label
     *
     * @return ?string
     */
    public function getFormPageLabel()
    {
        return $this->container['form_page_label'];
    }

    /**
     * Sets form_page_label
     *
     * @param ?string $form_page_label 
     *
     * @return $this
     */
    public function setFormPageLabel($form_page_label)
    {
        $this->container['form_page_label'] = $form_page_label;

        return $this;
    }

    /**
     * Gets form_page_label_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getFormPageLabelMetadata()
    {
        return $this->container['form_page_label_metadata'];
    }

    /**
     * Sets form_page_label_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $form_page_label_metadata Metadata that indicates whether the `formPageLabel` property is editable.
     *
     * @return $this
     */
    public function setFormPageLabelMetadata($form_page_label_metadata)
    {
        $this->container['form_page_label_metadata'] = $form_page_label_metadata;

        return $this;
    }

    /**
     * Gets form_page_number
     *
     * @return ?string
     */
    public function getFormPageNumber()
    {
        return $this->container['form_page_number'];
    }

    /**
     * Sets form_page_number
     *
     * @param ?string $form_page_number 
     *
     * @return $this
     */
    public function setFormPageNumber($form_page_number)
    {
        $this->container['form_page_number'] = $form_page_number;

        return $this;
    }

    /**
     * Gets form_page_number_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getFormPageNumberMetadata()
    {
        return $this->container['form_page_number_metadata'];
    }

    /**
     * Sets form_page_number_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $form_page_number_metadata Metadata that indicates whether the `fromPageNumber` property is editable.
     *
     * @return $this
     */
    public function setFormPageNumberMetadata($form_page_number_metadata)
    {
        $this->container['form_page_number_metadata'] = $form_page_number_metadata;

        return $this;
    }

    /**
     * Gets height
     *
     * @return ?string
     */
    public function getHeight()
    {
        return $this->container['height'];
    }

    /**
     * Sets height
     *
     * @param ?string $height Height of the tab in pixels.
     *
     * @return $this
     */
    public function setHeight($height)
    {
        $this->container['height'] = $height;

        return $this;
    }

    /**
     * Gets height_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getHeightMetadata()
    {
        return $this->container['height_metadata'];
    }

    /**
     * Sets height_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $height_metadata Metadata that indicates whether the `height` property is editable.
     *
     * @return $this
     */
    public function setHeightMetadata($height_metadata)
    {
        $this->container['height_metadata'] = $height_metadata;

        return $this;
    }

    /**
     * Gets italic
     *
     * @return ?string
     */
    public function getItalic()
    {
        return $this->container['italic'];
    }

    /**
     * Sets italic
     *
     * @param ?string $italic When set to **true**, the information in the tab is italic.
     *
     * @return $this
     */
    public function setItalic($italic)
    {
        $this->container['italic'] = $italic;

        return $this;
    }

    /**
     * Gets italic_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getItalicMetadata()
    {
        return $this->container['italic_metadata'];
    }

    /**
     * Sets italic_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $italic_metadata Metadata that indicates whether the `italic` property is editable.
     *
     * @return $this
     */
    public function setItalicMetadata($italic_metadata)
    {
        $this->container['italic_metadata'] = $italic_metadata;

        return $this;
    }

    /**
     * Gets locale_policy
     *
     * @return \DocuSign\eSign\Model\LocalePolicyTab
     */
    public function getLocalePolicy()
    {
        return $this->container['locale_policy'];
    }

    /**
     * Sets locale_policy
     *
     * @param \DocuSign\eSign\Model\LocalePolicyTab $locale_policy Reserved for DocuSign.
     *
     * @return $this
     */
    public function setLocalePolicy($locale_policy)
    {
        $this->container['locale_policy'] = $locale_policy;

        return $this;
    }

    /**
     * Gets locked
     *
     * @return ?string
     */
    public function getLocked()
    {
        return $this->container['locked'];
    }

    /**
     * Sets locked
     *
     * @param ?string $locked When set to **true**, the signer cannot change the data of the custom tab.
     *
     * @return $this
     */
    public function setLocked($locked)
    {
        $this->container['locked'] = $locked;

        return $this;
    }

    /**
     * Gets locked_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getLockedMetadata()
    {
        return $this->container['locked_metadata'];
    }

    /**
     * Sets locked_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $locked_metadata Metadata that indicates whether the `locked` property is editable.
     *
     * @return $this
     */
    public function setLockedMetadata($locked_metadata)
    {
        $this->container['locked_metadata'] = $locked_metadata;

        return $this;
    }

    /**
     * Gets max_length
     *
     * @return ?string
     */
    public function getMaxLength()
    {
        return $this->container['max_length'];
    }

    /**
     * Sets max_length
     *
     * @param ?string $max_length An optional value that describes the maximum length of the property when the property is a string.
     *
     * @return $this
     */
    public function setMaxLength($max_length)
    {
        $this->container['max_length'] = $max_length;

        return $this;
    }

    /**
     * Gets max_length_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getMaxLengthMetadata()
    {
        return $this->container['max_length_metadata'];
    }

    /**
     * Sets max_length_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $max_length_metadata Metadata that indicates whether the `maxLength` property is editable.
     *
     * @return $this
     */
    public function setMaxLengthMetadata($max_length_metadata)
    {
        $this->container['max_length_metadata'] = $max_length_metadata;

        return $this;
    }

    /**
     * Gets merge_field
     *
     * @return \DocuSign\eSign\Model\MergeField
     */
    public function getMergeField()
    {
        return $this->container['merge_field'];
    }

    /**
     * Sets merge_field
     *
     * @param \DocuSign\eSign\Model\MergeField $merge_field Contains the information necessary to map the tab to a field in SalesForce.
     *
     * @return $this
     */
    public function setMergeField($merge_field)
    {
        $this->container['merge_field'] = $merge_field;

        return $this;
    }

    /**
     * Gets merge_field_xml
     *
     * @return ?string
     */
    public function getMergeFieldXml()
    {
        return $this->container['merge_field_xml'];
    }

    /**
     * Sets merge_field_xml
     *
     * @param ?string $merge_field_xml 
     *
     * @return $this
     */
    public function setMergeFieldXml($merge_field_xml)
    {
        $this->container['merge_field_xml'] = $merge_field_xml;

        return $this;
    }

    /**
     * Gets name
     *
     * @return ?string
     */
    public function getName()
    {
        return $this->container['name'];
    }

    /**
     * Sets name
     *
     * @param ?string $name 
     *
     * @return $this
     */
    public function setName($name)
    {
        $this->container['name'] = $name;

        return $this;
    }

    /**
     * Gets name_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getNameMetadata()
    {
        return $this->container['name_metadata'];
    }

    /**
     * Sets name_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $name_metadata Metadata that indicates whether the `name` property is editable. This property is read-only.
     *
     * @return $this
     */
    public function setNameMetadata($name_metadata)
    {
        $this->container['name_metadata'] = $name_metadata;

        return $this;
    }

    /**
     * Gets original_value
     *
     * @return ?string
     */
    public function getOriginalValue()
    {
        return $this->container['original_value'];
    }

    /**
     * Sets original_value
     *
     * @param ?string $original_value The initial value of the tab when it was sent to the recipient.
     *
     * @return $this
     */
    public function setOriginalValue($original_value)
    {
        $this->container['original_value'] = $original_value;

        return $this;
    }

    /**
     * Gets original_value_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getOriginalValueMetadata()
    {
        return $this->container['original_value_metadata'];
    }

    /**
     * Sets original_value_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $original_value_metadata Metadata that indicates whether the `originalValue` property is editable.
     *
     * @return $this
     */
    public function setOriginalValueMetadata($original_value_metadata)
    {
        $this->container['original_value_metadata'] = $original_value_metadata;

        return $this;
    }

    /**
     * Gets page_number
     *
     * @return ?string
     */
    public function getPageNumber()
    {
        return $this->container['page_number'];
    }

    /**
     * Sets page_number
     *
     * @param ?string $page_number Specifies the page number on which the tab is located.
     *
     * @return $this
     */
    public function setPageNumber($page_number)
    {
        $this->container['page_number'] = $page_number;

        return $this;
    }

    /**
     * Gets page_number_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getPageNumberMetadata()
    {
        return $this->container['page_number_metadata'];
    }

    /**
     * Sets page_number_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $page_number_metadata Metadata that indicates whether the `pageNumber` property is editable.
     *
     * @return $this
     */
    public function setPageNumberMetadata($page_number_metadata)
    {
        $this->container['page_number_metadata'] = $page_number_metadata;

        return $this;
    }

    /**
     * Gets recipient_id
     *
     * @return ?string
     */
    public function getRecipientId()
    {
        return $this->container['recipient_id'];
    }

    /**
     * Sets recipient_id
     *
     * @param ?string $recipient_id Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
     *
     * @return $this
     */
    public function setRecipientId($recipient_id)
    {
        $this->container['recipient_id'] = $recipient_id;

        return $this;
    }

    /**
     * Gets recipient_id_guid
     *
     * @return ?string
     */
    public function getRecipientIdGuid()
    {
        return $this->container['recipient_id_guid'];
    }

    /**
     * Sets recipient_id_guid
     *
     * @param ?string $recipient_id_guid 
     *
     * @return $this
     */
    public function setRecipientIdGuid($recipient_id_guid)
    {
        $this->container['recipient_id_guid'] = $recipient_id_guid;

        return $this;
    }

    /**
     * Gets recipient_id_guid_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getRecipientIdGuidMetadata()
    {
        return $this->container['recipient_id_guid_metadata'];
    }

    /**
     * Sets recipient_id_guid_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $recipient_id_guid_metadata Metadata that indicates whether the `recipientIdGuid` property is editable.
     *
     * @return $this
     */
    public function setRecipientIdGuidMetadata($recipient_id_guid_metadata)
    {
        $this->container['recipient_id_guid_metadata'] = $recipient_id_guid_metadata;

        return $this;
    }

    /**
     * Gets recipient_id_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getRecipientIdMetadata()
    {
        return $this->container['recipient_id_metadata'];
    }

    /**
     * Sets recipient_id_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $recipient_id_metadata Metadata that indicates whether the `recipientId` property is editable.
     *
     * @return $this
     */
    public function setRecipientIdMetadata($recipient_id_metadata)
    {
        $this->container['recipient_id_metadata'] = $recipient_id_metadata;

        return $this;
    }

    /**
     * Gets require_all
     *
     * @return ?string
     */
    public function getRequireAll()
    {
        return $this->container['require_all'];
    }

    /**
     * Sets require_all
     *
     * @param ?string $require_all When set to **true** and shared is true, information must be entered in this field to complete the envelope.
     *
     * @return $this
     */
    public function setRequireAll($require_all)
    {
        $this->container['require_all'] = $require_all;

        return $this;
    }

    /**
     * Gets require_all_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getRequireAllMetadata()
    {
        return $this->container['require_all_metadata'];
    }

    /**
     * Sets require_all_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $require_all_metadata Metadata that indicates whether the `requireAll` property is editable.
     *
     * @return $this
     */
    public function setRequireAllMetadata($require_all_metadata)
    {
        $this->container['require_all_metadata'] = $require_all_metadata;

        return $this;
    }

    /**
     * Gets required
     *
     * @return ?string
     */
    public function getRequired()
    {
        return $this->container['required'];
    }

    /**
     * Sets required
     *
     * @param ?string $required When set to **true**, the signer is required to fill out this tab
     *
     * @return $this
     */
    public function setRequired($required)
    {
        $this->container['required'] = $required;

        return $this;
    }

    /**
     * Gets required_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getRequiredMetadata()
    {
        return $this->container['required_metadata'];
    }

    /**
     * Sets required_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $required_metadata Metadata that indicates whether the `required` property is editable.
     *
     * @return $this
     */
    public function setRequiredMetadata($required_metadata)
    {
        $this->container['required_metadata'] = $required_metadata;

        return $this;
    }

    /**
     * Gets require_initial_on_shared_change
     *
     * @return ?string
     */
    public function getRequireInitialOnSharedChange()
    {
        return $this->container['require_initial_on_shared_change'];
    }

    /**
     * Sets require_initial_on_shared_change
     *
     * @param ?string $require_initial_on_shared_change Optional element for field markup. When set to **true**, the signer is required to initial when they modify a shared field.
     *
     * @return $this
     */
    public function setRequireInitialOnSharedChange($require_initial_on_shared_change)
    {
        $this->container['require_initial_on_shared_change'] = $require_initial_on_shared_change;

        return $this;
    }

    /**
     * Gets require_initial_on_shared_change_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getRequireInitialOnSharedChangeMetadata()
    {
        return $this->container['require_initial_on_shared_change_metadata'];
    }

    /**
     * Sets require_initial_on_shared_change_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $require_initial_on_shared_change_metadata Metadata that indicates whether the `requireInitialOnSharedChange` property is editable.
     *
     * @return $this
     */
    public function setRequireInitialOnSharedChangeMetadata($require_initial_on_shared_change_metadata)
    {
        $this->container['require_initial_on_shared_change_metadata'] = $require_initial_on_shared_change_metadata;

        return $this;
    }

    /**
     * Gets sender_required
     *
     * @return ?string
     */
    public function getSenderRequired()
    {
        return $this->container['sender_required'];
    }

    /**
     * Sets sender_required
     *
     * @param ?string $sender_required When set to **true**, the sender must populate the tab before an envelope can be sent using the template.   This value tab can only be changed by modifying (PUT) the template.   Tabs with a `senderRequired` value of true cannot be deleted from an envelope.
     *
     * @return $this
     */
    public function setSenderRequired($sender_required)
    {
        $this->container['sender_required'] = $sender_required;

        return $this;
    }

    /**
     * Gets sender_required_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getSenderRequiredMetadata()
    {
        return $this->container['sender_required_metadata'];
    }

    /**
     * Sets sender_required_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $sender_required_metadata Metadata that indicates whether the `senderRequired` property is editable.
     *
     * @return $this
     */
    public function setSenderRequiredMetadata($sender_required_metadata)
    {
        $this->container['sender_required_metadata'] = $sender_required_metadata;

        return $this;
    }

    /**
     * Gets shared
     *
     * @return ?string
     */
    public function getShared()
    {
        return $this->container['shared'];
    }

    /**
     * Sets shared
     *
     * @param ?string $shared When set to **true**, this custom tab is shared.
     *
     * @return $this
     */
    public function setShared($shared)
    {
        $this->container['shared'] = $shared;

        return $this;
    }

    /**
     * Gets shared_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getSharedMetadata()
    {
        return $this->container['shared_metadata'];
    }

    /**
     * Sets shared_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $shared_metadata Metadata that indicates whether the `shared` property is editable.
     *
     * @return $this
     */
    public function setSharedMetadata($shared_metadata)
    {
        $this->container['shared_metadata'] = $shared_metadata;

        return $this;
    }

    /**
     * Gets share_to_recipients
     *
     * @return ?string
     */
    public function getShareToRecipients()
    {
        return $this->container['share_to_recipients'];
    }

    /**
     * Sets share_to_recipients
     *
     * @param ?string $share_to_recipients 
     *
     * @return $this
     */
    public function setShareToRecipients($share_to_recipients)
    {
        $this->container['share_to_recipients'] = $share_to_recipients;

        return $this;
    }

    /**
     * Gets share_to_recipients_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getShareToRecipientsMetadata()
    {
        return $this->container['share_to_recipients_metadata'];
    }

    /**
     * Sets share_to_recipients_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $share_to_recipients_metadata Reserved for DocuSign.
     *
     * @return $this
     */
    public function setShareToRecipientsMetadata($share_to_recipients_metadata)
    {
        $this->container['share_to_recipients_metadata'] = $share_to_recipients_metadata;

        return $this;
    }

    /**
     * Gets smart_contract_information
     *
     * @return \DocuSign\eSign\Model\SmartContractInformation
     */
    public function getSmartContractInformation()
    {
        return $this->container['smart_contract_information'];
    }

    /**
     * Sets smart_contract_information
     *
     * @param \DocuSign\eSign\Model\SmartContractInformation $smart_contract_information Reserved for DocuSign.
     *
     * @return $this
     */
    public function setSmartContractInformation($smart_contract_information)
    {
        $this->container['smart_contract_information'] = $smart_contract_information;

        return $this;
    }

    /**
     * Gets source
     *
     * @return ?string
     */
    public function getSource()
    {
        return $this->container['source'];
    }

    /**
     * Sets source
     *
     * @param ?string $source 
     *
     * @return $this
     */
    public function setSource($source)
    {
        $this->container['source'] = $source;

        return $this;
    }

    /**
     * Gets status
     *
     * @return ?string
     */
    public function getStatus()
    {
        return $this->container['status'];
    }

    /**
     * Sets status
     *
     * @param ?string $status Indicates the envelope status. Valid values are:  * sent - The envelope is sent to the recipients.  * created - The envelope is saved as a draft and can be modified and sent later.
     *
     * @return $this
     */
    public function setStatus($status)
    {
        $this->container['status'] = $status;

        return $this;
    }

    /**
     * Gets status_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getStatusMetadata()
    {
        return $this->container['status_metadata'];
    }

    /**
     * Sets status_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $status_metadata Metadata that indicates whether the `status` property is editable.
     *
     * @return $this
     */
    public function setStatusMetadata($status_metadata)
    {
        $this->container['status_metadata'] = $status_metadata;

        return $this;
    }

    /**
     * Gets tab_group_labels
     *
     * @return ?string[]
     */
    public function getTabGroupLabels()
    {
        return $this->container['tab_group_labels'];
    }

    /**
     * Sets tab_group_labels
     *
     * @param ?string[] $tab_group_labels 
     *
     * @return $this
     */
    public function setTabGroupLabels($tab_group_labels)
    {
        $this->container['tab_group_labels'] = $tab_group_labels;

        return $this;
    }

    /**
     * Gets tab_group_labels_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getTabGroupLabelsMetadata()
    {
        return $this->container['tab_group_labels_metadata'];
    }

    /**
     * Sets tab_group_labels_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $tab_group_labels_metadata Metadata that indicates whether the `tabGroupLabels` property is editable.
     *
     * @return $this
     */
    public function setTabGroupLabelsMetadata($tab_group_labels_metadata)
    {
        $this->container['tab_group_labels_metadata'] = $tab_group_labels_metadata;

        return $this;
    }

    /**
     * Gets tab_id
     *
     * @return ?string
     */
    public function getTabId()
    {
        return $this->container['tab_id'];
    }

    /**
     * Sets tab_id
     *
     * @param ?string $tab_id The unique identifier for the tab. The tabid can be retrieved with the [ML:GET call].
     *
     * @return $this
     */
    public function setTabId($tab_id)
    {
        $this->container['tab_id'] = $tab_id;

        return $this;
    }

    /**
     * Gets tab_id_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getTabIdMetadata()
    {
        return $this->container['tab_id_metadata'];
    }

    /**
     * Sets tab_id_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $tab_id_metadata Metadata that indicates whether the `tabId` property is editable.
     *
     * @return $this
     */
    public function setTabIdMetadata($tab_id_metadata)
    {
        $this->container['tab_id_metadata'] = $tab_id_metadata;

        return $this;
    }

    /**
     * Gets tab_label
     *
     * @return ?string
     */
    public function getTabLabel()
    {
        return $this->container['tab_label'];
    }

    /**
     * Sets tab_label
     *
     * @param ?string $tab_label The label string associated with the tab.
     *
     * @return $this
     */
    public function setTabLabel($tab_label)
    {
        $this->container['tab_label'] = $tab_label;

        return $this;
    }

    /**
     * Gets tab_label_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getTabLabelMetadata()
    {
        return $this->container['tab_label_metadata'];
    }

    /**
     * Sets tab_label_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $tab_label_metadata Metadata that indicates whether the `tabLabel` property is editable.
     *
     * @return $this
     */
    public function setTabLabelMetadata($tab_label_metadata)
    {
        $this->container['tab_label_metadata'] = $tab_label_metadata;

        return $this;
    }

    /**
     * Gets tab_order
     *
     * @return ?string
     */
    public function getTabOrder()
    {
        return $this->container['tab_order'];
    }

    /**
     * Sets tab_order
     *
     * @param ?string $tab_order 
     *
     * @return $this
     */
    public function setTabOrder($tab_order)
    {
        $this->container['tab_order'] = $tab_order;

        return $this;
    }

    /**
     * Gets tab_order_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getTabOrderMetadata()
    {
        return $this->container['tab_order_metadata'];
    }

    /**
     * Sets tab_order_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $tab_order_metadata Metadata that indicates whether the `tabOrder` property is editable.
     *
     * @return $this
     */
    public function setTabOrderMetadata($tab_order_metadata)
    {
        $this->container['tab_order_metadata'] = $tab_order_metadata;

        return $this;
    }

    /**
     * Gets tab_type
     *
     * @return ?string
     */
    public function getTabType()
    {
        return $this->container['tab_type'];
    }

    /**
     * Sets tab_type
     *
     * @param ?string $tab_type 
     *
     * @return $this
     */
    public function setTabType($tab_type)
    {
        $this->container['tab_type'] = $tab_type;

        return $this;
    }

    /**
     * Gets tab_type_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getTabTypeMetadata()
    {
        return $this->container['tab_type_metadata'];
    }

    /**
     * Sets tab_type_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $tab_type_metadata Metadata that indicates whether the `tabType` property is editable.
     *
     * @return $this
     */
    public function setTabTypeMetadata($tab_type_metadata)
    {
        $this->container['tab_type_metadata'] = $tab_type_metadata;

        return $this;
    }

    /**
     * Gets template_locked
     *
     * @return ?string
     */
    public function getTemplateLocked()
    {
        return $this->container['template_locked'];
    }

    /**
     * Sets template_locked
     *
     * @param ?string $template_locked When set to **true**, the sender cannot change any attributes of the recipient. Used only when working with template recipients.
     *
     * @return $this
     */
    public function setTemplateLocked($template_locked)
    {
        $this->container['template_locked'] = $template_locked;

        return $this;
    }

    /**
     * Gets template_locked_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getTemplateLockedMetadata()
    {
        return $this->container['template_locked_metadata'];
    }

    /**
     * Sets template_locked_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $template_locked_metadata Metadata that indicates whether the `templateLocked` property is editable.
     *
     * @return $this
     */
    public function setTemplateLockedMetadata($template_locked_metadata)
    {
        $this->container['template_locked_metadata'] = $template_locked_metadata;

        return $this;
    }

    /**
     * Gets template_required
     *
     * @return ?string
     */
    public function getTemplateRequired()
    {
        return $this->container['template_required'];
    }

    /**
     * Sets template_required
     *
     * @param ?string $template_required When set to **true**, the sender may not remove the recipient. Used only when working with template recipients.
     *
     * @return $this
     */
    public function setTemplateRequired($template_required)
    {
        $this->container['template_required'] = $template_required;

        return $this;
    }

    /**
     * Gets template_required_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getTemplateRequiredMetadata()
    {
        return $this->container['template_required_metadata'];
    }

    /**
     * Sets template_required_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $template_required_metadata Metadata that indicates whether the `templateRequired` property is editable.
     *
     * @return $this
     */
    public function setTemplateRequiredMetadata($template_required_metadata)
    {
        $this->container['template_required_metadata'] = $template_required_metadata;

        return $this;
    }

    /**
     * Gets tooltip
     *
     * @return ?string
     */
    public function getTooltip()
    {
        return $this->container['tooltip'];
    }

    /**
     * Sets tooltip
     *
     * @param ?string $tooltip 
     *
     * @return $this
     */
    public function setTooltip($tooltip)
    {
        $this->container['tooltip'] = $tooltip;

        return $this;
    }

    /**
     * Gets tool_tip_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getToolTipMetadata()
    {
        return $this->container['tool_tip_metadata'];
    }

    /**
     * Sets tool_tip_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $tool_tip_metadata Metadata that indicates whether the `toolTip` property is editable.
     *
     * @return $this
     */
    public function setToolTipMetadata($tool_tip_metadata)
    {
        $this->container['tool_tip_metadata'] = $tool_tip_metadata;

        return $this;
    }

    /**
     * Gets underline
     *
     * @return ?string
     */
    public function getUnderline()
    {
        return $this->container['underline'];
    }

    /**
     * Sets underline
     *
     * @param ?string $underline When set to **true**, the information in the tab is underlined.
     *
     * @return $this
     */
    public function setUnderline($underline)
    {
        $this->container['underline'] = $underline;

        return $this;
    }

    /**
     * Gets underline_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getUnderlineMetadata()
    {
        return $this->container['underline_metadata'];
    }

    /**
     * Sets underline_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $underline_metadata Metadata that indicates whether the `underline` property is editable.
     *
     * @return $this
     */
    public function setUnderlineMetadata($underline_metadata)
    {
        $this->container['underline_metadata'] = $underline_metadata;

        return $this;
    }

    /**
     * Gets use_dash4
     *
     * @return ?string
     */
    public function getUseDash4()
    {
        return $this->container['use_dash4'];
    }

    /**
     * Sets use_dash4
     *
     * @param ?string $use_dash4 
     *
     * @return $this
     */
    public function setUseDash4($use_dash4)
    {
        $this->container['use_dash4'] = $use_dash4;

        return $this;
    }

    /**
     * Gets use_dash4_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getUseDash4Metadata()
    {
        return $this->container['use_dash4_metadata'];
    }

    /**
     * Sets use_dash4_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $use_dash4_metadata Metadata that indicates whether the `useDash4` property is editable.
     *
     * @return $this
     */
    public function setUseDash4Metadata($use_dash4_metadata)
    {
        $this->container['use_dash4_metadata'] = $use_dash4_metadata;

        return $this;
    }

    /**
     * Gets validation_message
     *
     * @return ?string
     */
    public function getValidationMessage()
    {
        return $this->container['validation_message'];
    }

    /**
     * Sets validation_message
     *
     * @param ?string $validation_message The message displayed if the custom tab fails input validation (either custom of embedded).
     *
     * @return $this
     */
    public function setValidationMessage($validation_message)
    {
        $this->container['validation_message'] = $validation_message;

        return $this;
    }

    /**
     * Gets validation_message_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getValidationMessageMetadata()
    {
        return $this->container['validation_message_metadata'];
    }

    /**
     * Sets validation_message_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $validation_message_metadata Metadata that indicates whether the `validationMessage` property is editable.
     *
     * @return $this
     */
    public function setValidationMessageMetadata($validation_message_metadata)
    {
        $this->container['validation_message_metadata'] = $validation_message_metadata;

        return $this;
    }

    /**
     * Gets validation_pattern
     *
     * @return ?string
     */
    public function getValidationPattern()
    {
        return $this->container['validation_pattern'];
    }

    /**
     * Sets validation_pattern
     *
     * @param ?string $validation_pattern A regular expression used to validate input for the tab.
     *
     * @return $this
     */
    public function setValidationPattern($validation_pattern)
    {
        $this->container['validation_pattern'] = $validation_pattern;

        return $this;
    }

    /**
     * Gets validation_pattern_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getValidationPatternMetadata()
    {
        return $this->container['validation_pattern_metadata'];
    }

    /**
     * Sets validation_pattern_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $validation_pattern_metadata Metadata that indicates whether the `validationPattern` property is editable.
     *
     * @return $this
     */
    public function setValidationPatternMetadata($validation_pattern_metadata)
    {
        $this->container['validation_pattern_metadata'] = $validation_pattern_metadata;

        return $this;
    }

    /**
     * Gets value
     *
     * @return ?string
     */
    public function getValue()
    {
        return $this->container['value'];
    }

    /**
     * Sets value
     *
     * @param ?string $value Specifies the value of the tab.
     *
     * @return $this
     */
    public function setValue($value)
    {
        $this->container['value'] = $value;

        return $this;
    }

    /**
     * Gets value_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getValueMetadata()
    {
        return $this->container['value_metadata'];
    }

    /**
     * Sets value_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $value_metadata Metadata that indicates whether the `value` property is editable.
     *
     * @return $this
     */
    public function setValueMetadata($value_metadata)
    {
        $this->container['value_metadata'] = $value_metadata;

        return $this;
    }

    /**
     * Gets width
     *
     * @return ?string
     */
    public function getWidth()
    {
        return $this->container['width'];
    }

    /**
     * Sets width
     *
     * @param ?string $width Width of the tab in pixels.
     *
     * @return $this
     */
    public function setWidth($width)
    {
        $this->container['width'] = $width;

        return $this;
    }

    /**
     * Gets width_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getWidthMetadata()
    {
        return $this->container['width_metadata'];
    }

    /**
     * Sets width_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $width_metadata Metadata that indicates whether the `width` property is editable.
     *
     * @return $this
     */
    public function setWidthMetadata($width_metadata)
    {
        $this->container['width_metadata'] = $width_metadata;

        return $this;
    }

    /**
     * Gets x_position
     *
     * @return ?string
     */
    public function getXPosition()
    {
        return $this->container['x_position'];
    }

    /**
     * Sets x_position
     *
     * @param ?string $x_position This indicates the horizontal offset of the object on the page. DocuSign uses 72 DPI when determining position.
     *
     * @return $this
     */
    public function setXPosition($x_position)
    {
        $this->container['x_position'] = $x_position;

        return $this;
    }

    /**
     * Gets x_position_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getXPositionMetadata()
    {
        return $this->container['x_position_metadata'];
    }

    /**
     * Sets x_position_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $x_position_metadata Metadata that indicates whether the `xPosition` property is editable.
     *
     * @return $this
     */
    public function setXPositionMetadata($x_position_metadata)
    {
        $this->container['x_position_metadata'] = $x_position_metadata;

        return $this;
    }

    /**
     * Gets y_position
     *
     * @return ?string
     */
    public function getYPosition()
    {
        return $this->container['y_position'];
    }

    /**
     * Sets y_position
     *
     * @param ?string $y_position This indicates the vertical offset of the object on the page. DocuSign uses 72 DPI when determining position.
     *
     * @return $this
     */
    public function setYPosition($y_position)
    {
        $this->container['y_position'] = $y_position;

        return $this;
    }

    /**
     * Gets y_position_metadata
     *
     * @return \DocuSign\eSign\Model\PropertyMetadata
     */
    public function getYPositionMetadata()
    {
        return $this->container['y_position_metadata'];
    }

    /**
     * Sets y_position_metadata
     *
     * @param \DocuSign\eSign\Model\PropertyMetadata $y_position_metadata Metadata that indicates whether the `yPosition` property is editable.
     *
     * @return $this
     */
    public function setYPositionMetadata($y_position_metadata)
    {
        $this->container['y_position_metadata'] = $y_position_metadata;

        return $this;
    }
    /**
     * Returns true if offset exists. False otherwise.
     *
     * @param integer $offset Offset
     *
     * @return boolean
     */
    #[\ReturnTypeWillChange]
    public function offsetExists($offset)
    {
        return isset($this->container[$offset]);
    }

    /**
     * Gets offset.
     *
     * @param integer $offset Offset
     *
     * @return mixed
     */
    #[\ReturnTypeWillChange]
    public function offsetGet($offset)
    {
        return isset($this->container[$offset]) ? $this->container[$offset] : null;
    }

    /**
     * Sets value based on offset.
     *
     * @param integer $offset Offset
     * @param mixed   $value  Value to be set
     *
     * @return void
     */
    #[\ReturnTypeWillChange]
    public function offsetSet($offset, $value)
    {
        if (is_null($offset)) {
            $this->container[] = $value;
        } else {
            $this->container[$offset] = $value;
        }
    }

    /**
     * Unsets offset.
     *
     * @param integer $offset Offset
     *
     * @return void
     */
    #[\ReturnTypeWillChange]
    public function offsetUnset($offset)
    {
        unset($this->container[$offset]);
    }

    /**
     * Gets the string presentation of the object
     *
     * @return string
     */
    public function __toString()
    {
        if (defined('JSON_PRETTY_PRINT')) { // use JSON pretty print
            return json_encode(
                ObjectSerializer::sanitizeForSerialization($this),
                JSON_PRETTY_PRINT
            );
        }

        return json_encode(ObjectSerializer::sanitizeForSerialization($this));
    }
}

