docusign_esign 2.1.0 → 2.2.0.pre.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1 -1
  3. data/docusign_esign-3.1.0.pre.rc1.gem +0 -0
  4. data/lib/docusign_esign.rb +450 -383
  5. data/{tests → lib/docusign_esign/api}/.DS_Store +0 -0
  6. data/lib/docusign_esign/api/accounts_api.rb +69 -8
  7. data/lib/docusign_esign/api/connect_api.rb +400 -0
  8. data/lib/docusign_esign/api/envelopes_api.rb +18 -6
  9. data/lib/docusign_esign/api/organizations_api.rb +232 -0
  10. data/lib/docusign_esign/api/tsps_api.rb +256 -0
  11. data/lib/docusign_esign/models/access_code_format.rb +273 -0
  12. data/lib/docusign_esign/models/account_notification.rb +206 -0
  13. data/lib/docusign_esign/models/account_ui_settings.rb +330 -0
  14. data/lib/docusign_esign/models/bcc_email_archive.rb +276 -0
  15. data/lib/docusign_esign/models/bcc_email_archive_history.rb +237 -0
  16. data/lib/docusign_esign/models/bcc_email_archive_history_list.rb +250 -0
  17. data/lib/docusign_esign/models/bcc_email_archive_list.rb +250 -0
  18. data/lib/docusign_esign/models/bulk_send_request.rb +188 -0
  19. data/lib/docusign_esign/models/bulk_send_response.rb +222 -0
  20. data/lib/docusign_esign/models/bulk_send_test_response.rb +212 -0
  21. data/lib/docusign_esign/models/bulk_sending_copy.rb +222 -0
  22. data/lib/docusign_esign/models/bulk_sending_copy_custom_field.rb +198 -0
  23. data/lib/docusign_esign/models/bulk_sending_copy_recipient.rb +382 -0
  24. data/lib/docusign_esign/models/bulk_sending_copy_tab.rb +198 -0
  25. data/lib/docusign_esign/models/bulk_sending_list.rb +210 -0
  26. data/lib/docusign_esign/models/bulk_sending_list_summaries.rb +190 -0
  27. data/lib/docusign_esign/models/bulk_sending_list_summary.rb +218 -0
  28. data/lib/docusign_esign/models/carbon_copy.rb +19 -1
  29. data/lib/docusign_esign/models/certified_delivery.rb +19 -1
  30. data/lib/docusign_esign/models/comment.rb +392 -0
  31. data/lib/docusign_esign/models/comment_history_result.rb +220 -0
  32. data/lib/docusign_esign/models/comment_publish.rb +244 -0
  33. data/lib/docusign_esign/models/comment_thread.rb +961 -0
  34. data/lib/docusign_esign/models/comments_publish.rb +190 -0
  35. data/lib/docusign_esign/models/connect_salesforce_field.rb +258 -0
  36. data/lib/docusign_esign/models/connect_salesforce_object.rb +272 -0
  37. data/lib/docusign_esign/models/connect_user_object.rb +230 -0
  38. data/lib/docusign_esign/models/direct_debit_processor_information.rb +298 -0
  39. data/lib/docusign_esign/models/display_appliance_document.rb +258 -0
  40. data/lib/docusign_esign/models/display_appliance_document_page.rb +278 -0
  41. data/lib/docusign_esign/models/display_appliance_envelope.rb +328 -0
  42. data/lib/docusign_esign/models/display_appliance_info.rb +235 -0
  43. data/lib/docusign_esign/models/display_appliance_page.rb +278 -0
  44. data/lib/docusign_esign/models/display_appliance_pdf.rb +267 -0
  45. data/lib/docusign_esign/models/display_appliance_recipient.rb +388 -0
  46. data/lib/docusign_esign/models/display_appliance_signer_attachment.rb +248 -0
  47. data/lib/docusign_esign/models/document_fields_information.rb +1 -1
  48. data/lib/docusign_esign/models/document_html_display_settings.rb +11 -1
  49. data/lib/docusign_esign/models/envelope_document.rb +11 -1
  50. data/lib/docusign_esign/models/envelope_metadata.rb +208 -0
  51. data/lib/docusign_esign/models/envelope_purge_configuration.rb +218 -0
  52. data/lib/docusign_esign/models/envelope_transfer_rule.rb +273 -0
  53. data/lib/docusign_esign/models/envelope_transfer_rule_information.rb +250 -0
  54. data/lib/docusign_esign/models/envelope_transfer_rule_request.rb +279 -0
  55. data/lib/docusign_esign/models/external_claim.rb +218 -0
  56. data/lib/docusign_esign/models/external_document_sources.rb +273 -0
  57. data/lib/docusign_esign/models/favorite_templates_content_item.rb +207 -0
  58. data/lib/docusign_esign/models/favorite_templates_info.rb +209 -0
  59. data/lib/docusign_esign/models/feature_available_metadata.rb +198 -0
  60. data/lib/docusign_esign/models/folder_shared_item.rb +289 -0
  61. data/lib/docusign_esign/models/form_data_item.rb +227 -0
  62. data/lib/docusign_esign/models/graphics_context.rb +208 -0
  63. data/lib/docusign_esign/models/id_check_configuration.rb +210 -0
  64. data/lib/docusign_esign/models/id_check_security_step.rb +188 -0
  65. data/lib/docusign_esign/models/locale_policy.rb +595 -0
  66. data/lib/docusign_esign/models/locale_policy_tab.rb +298 -0
  67. data/lib/docusign_esign/models/new_account_definition.rb +11 -1
  68. data/lib/docusign_esign/models/notification_default_settings.rb +196 -0
  69. data/lib/docusign_esign/models/notification_defaults.rb +196 -0
  70. data/lib/docusign_esign/models/offline_attributes.rb +238 -0
  71. data/lib/docusign_esign/models/page_size.rb +198 -0
  72. data/lib/docusign_esign/models/path_extended_element.rb +208 -0
  73. data/lib/docusign_esign/models/pay_pal_legacy_settings.rb +228 -0
  74. data/lib/docusign_esign/models/payment_gateway_account_setting.rb +218 -0
  75. data/lib/docusign_esign/models/payment_method_with_options.rb +200 -0
  76. data/lib/docusign_esign/models/poly_line.rb +218 -0
  77. data/lib/docusign_esign/models/poly_line_overlay.rb +885 -0
  78. data/lib/docusign_esign/models/recipient_email_notification.rb +1 -1
  79. data/lib/docusign_esign/models/recipient_preview_request.rb +278 -0
  80. data/lib/docusign_esign/models/recipient_proof_file.rb +188 -0
  81. data/lib/docusign_esign/models/signature_properties.rb +198 -0
  82. data/lib/docusign_esign/models/signer.rb +11 -2
  83. data/lib/docusign_esign/models/smart_section_display_settings.rb +11 -1
  84. data/lib/docusign_esign/models/tab_group.rb +911 -0
  85. data/lib/docusign_esign/models/usage_history.rb +1 -1
  86. data/lib/docusign_esign/models/user_information.rb +1 -1
  87. data/lib/docusign_esign/models/witness.rb +10 -1
  88. data/lib/docusign_esign/models/workspace_settings.rb +188 -0
  89. data/lib/docusign_esign/version.rb +1 -1
  90. data/tests/Gemfile.lock +1 -1
  91. data/tests/spec/unit_tests_using_jwt_spec.rb +6 -3
  92. metadata +74 -7
  93. data/Gemfile.lock +0 -73
  94. data/lib/docusign_esign/api/trust_service_providers_api.rb +0 -73
@@ -0,0 +1,198 @@
1
+ =begin
2
+ #DocuSign REST API
3
+
4
+ #The DocuSign REST API provides you with a powerful, convenient, and simple Web services API for interacting with DocuSign.
5
+
6
+ OpenAPI spec version: v2.1
7
+ Contact: devcenter@docusign.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module DocuSign_eSign
15
+
16
+ class SignatureProperties
17
+ #
18
+ attr_accessor :filter
19
+
20
+ #
21
+ attr_accessor :sub_filter
22
+
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'filter' => :'filter',
28
+ :'sub_filter' => :'subFilter'
29
+ }
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.swagger_types
34
+ {
35
+ :'filter' => :'String',
36
+ :'sub_filter' => :'String'
37
+ }
38
+ end
39
+
40
+ # Initializes the object
41
+ # @param [Hash] attributes Model attributes in the form of hash
42
+ def initialize(attributes = {})
43
+ return unless attributes.is_a?(Hash)
44
+
45
+ # convert string to symbol for hash key
46
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
47
+
48
+ if attributes.has_key?(:'filter')
49
+ self.filter = attributes[:'filter']
50
+ end
51
+
52
+ if attributes.has_key?(:'subFilter')
53
+ self.sub_filter = attributes[:'subFilter']
54
+ end
55
+
56
+ end
57
+
58
+ # Show invalid properties with the reasons. Usually used together with valid?
59
+ # @return Array for valid properies with the reasons
60
+ def list_invalid_properties
61
+ invalid_properties = Array.new
62
+ return invalid_properties
63
+ end
64
+
65
+ # Check to see if the all the properties in the model are valid
66
+ # @return true if the model is valid
67
+ def valid?
68
+ return true
69
+ end
70
+
71
+ # Checks equality by comparing each attribute.
72
+ # @param [Object] Object to be compared
73
+ def ==(o)
74
+ return true if self.equal?(o)
75
+ self.class == o.class &&
76
+ filter == o.filter &&
77
+ sub_filter == o.sub_filter
78
+ end
79
+
80
+ # @see the `==` method
81
+ # @param [Object] Object to be compared
82
+ def eql?(o)
83
+ self == o
84
+ end
85
+
86
+ # Calculates hash code according to all attributes.
87
+ # @return [Fixnum] Hash code
88
+ def hash
89
+ [filter, sub_filter].hash
90
+ end
91
+
92
+ # Builds the object from hash
93
+ # @param [Hash] attributes Model attributes in the form of hash
94
+ # @return [Object] Returns the model itself
95
+ def build_from_hash(attributes)
96
+ return nil unless attributes.is_a?(Hash)
97
+ self.class.swagger_types.each_pair do |key, type|
98
+ if type =~ /\AArray<(.*)>/i
99
+ # check to ensure the input is an array given that the the attribute
100
+ # is documented as an array but the input is not
101
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
102
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
103
+ end
104
+ elsif !attributes[self.class.attribute_map[key]].nil?
105
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
106
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
107
+ end
108
+
109
+ self
110
+ end
111
+
112
+ # Deserializes the data based on type
113
+ # @param string type Data type
114
+ # @param string value Value to be deserialized
115
+ # @return [Object] Deserialized data
116
+ def _deserialize(type, value)
117
+ case type.to_sym
118
+ when :DateTime
119
+ DateTime.parse(value)
120
+ when :Date
121
+ Date.parse(value)
122
+ when :String
123
+ value.to_s
124
+ when :Integer
125
+ value.to_i
126
+ when :Float
127
+ value.to_f
128
+ when :BOOLEAN
129
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
130
+ true
131
+ else
132
+ false
133
+ end
134
+ when :Object
135
+ # generic object (usually a Hash), return directly
136
+ value
137
+ when /\AArray<(?<inner_type>.+)>\z/
138
+ inner_type = Regexp.last_match[:inner_type]
139
+ value.map { |v| _deserialize(inner_type, v) }
140
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
141
+ k_type = Regexp.last_match[:k_type]
142
+ v_type = Regexp.last_match[:v_type]
143
+ {}.tap do |hash|
144
+ value.each do |k, v|
145
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
146
+ end
147
+ end
148
+ else # model
149
+ temp_model = DocuSign_eSign.const_get(type).new
150
+ temp_model.build_from_hash(value)
151
+ end
152
+ end
153
+
154
+ # Returns the string representation of the object
155
+ # @return [String] String presentation of the object
156
+ def to_s
157
+ to_hash.to_s
158
+ end
159
+
160
+ # to_body is an alias to to_hash (backward compatibility)
161
+ # @return [Hash] Returns the object in the form of hash
162
+ def to_body
163
+ to_hash
164
+ end
165
+
166
+ # Returns the object in the form of hash
167
+ # @return [Hash] Returns the object in the form of hash
168
+ def to_hash
169
+ hash = {}
170
+ self.class.attribute_map.each_pair do |attr, param|
171
+ value = self.send(attr)
172
+ next if value.nil?
173
+ hash[param] = _to_hash(value)
174
+ end
175
+ hash
176
+ end
177
+
178
+ # Outputs non-array value in the form of hash
179
+ # For object, use to_hash. Otherwise, just return the value
180
+ # @param [Object] value Any valid value
181
+ # @return [Hash] Returns the value in the form of hash
182
+ def _to_hash(value)
183
+ if value.is_a?(Array)
184
+ value.compact.map{ |v| _to_hash(v) }
185
+ elsif value.is_a?(Hash)
186
+ {}.tap do |hash|
187
+ value.each { |k, v| hash[k] = _to_hash(v) }
188
+ end
189
+ elsif value.respond_to? :to_hash
190
+ value.to_hash
191
+ else
192
+ value
193
+ end
194
+ end
195
+
196
+ end
197
+
198
+ end
@@ -113,6 +113,8 @@ module DocuSign_eSign
113
113
 
114
114
  attr_accessor :phone_authentication
115
115
 
116
+ attr_accessor :proof_file
117
+
116
118
  # Reserved:
117
119
  attr_accessor :recipient_attachments
118
120
 
@@ -133,7 +135,7 @@ module DocuSign_eSign
133
135
  # When set to **true**, the recipient is required to use the specified ID check method (including Phone and SMS authentication) to validate their identity.
134
136
  attr_accessor :require_id_lookup
135
137
 
136
- # Sets the type of signer certificate required for signing. If left blank, no certificate is required. Only one type of certificate can be set for a signer. The possible values are: * docusign_express - Requires a DocuSign Express certificate. * safe - Requires a SAFE-BioPharma certificate. * open_trust - Requires an OpenTrust certificate. **Important**: There are certain rules and restrictions that must be followed when requiring OpenTrust digital signatures. See [ML:OpenTrust Rules and Restrictions] for more information.
138
+ # Sets the type of signer certificate required for signing. If left blank, no certificate is required. Only one type of certificate can be set for a signer. The possible values are: * docusign_express – Requires a DocuSign Express certificate. * safe – Requires a SAFE-BioPharma certificate. * open_trust – Requires an OpenTrust certificate. **Important**: There are certain rules and restrictions that must be followed when requiring OpenTrust digital signatures. See [ML:OpenTrust Rules and Restrictions] for more information.
137
139
  attr_accessor :require_signer_certificate
138
140
 
139
141
  # When set to **true**, the signer must print, sign, and upload or fax the signed documents to DocuSign.
@@ -228,6 +230,7 @@ module DocuSign_eSign
228
230
  :'note' => :'note',
229
231
  :'offline_attributes' => :'offlineAttributes',
230
232
  :'phone_authentication' => :'phoneAuthentication',
233
+ :'proof_file' => :'proofFile',
231
234
  :'recipient_attachments' => :'recipientAttachments',
232
235
  :'recipient_authentication_status' => :'recipientAuthenticationStatus',
233
236
  :'recipient_id' => :'recipientId',
@@ -296,6 +299,7 @@ module DocuSign_eSign
296
299
  :'note' => :'String',
297
300
  :'offline_attributes' => :'OfflineAttributes',
298
301
  :'phone_authentication' => :'RecipientPhoneAuthentication',
302
+ :'proof_file' => :'RecipientProofFile',
299
303
  :'recipient_attachments' => :'Array<RecipientAttachment>',
300
304
  :'recipient_authentication_status' => :'AuthenticationStatus',
301
305
  :'recipient_id' => :'String',
@@ -480,6 +484,10 @@ module DocuSign_eSign
480
484
  self.phone_authentication = attributes[:'phoneAuthentication']
481
485
  end
482
486
 
487
+ if attributes.has_key?(:'proofFile')
488
+ self.proof_file = attributes[:'proofFile']
489
+ end
490
+
483
491
  if attributes.has_key?(:'recipientAttachments')
484
492
  if (value = attributes[:'recipientAttachments']).is_a?(Array)
485
493
  self.recipient_attachments = value
@@ -651,6 +659,7 @@ module DocuSign_eSign
651
659
  note == o.note &&
652
660
  offline_attributes == o.offline_attributes &&
653
661
  phone_authentication == o.phone_authentication &&
662
+ proof_file == o.proof_file &&
654
663
  recipient_attachments == o.recipient_attachments &&
655
664
  recipient_authentication_status == o.recipient_authentication_status &&
656
665
  recipient_id == o.recipient_id &&
@@ -689,7 +698,7 @@ module DocuSign_eSign
689
698
  # Calculates hash code according to all attributes.
690
699
  # @return [Fixnum] Hash code
691
700
  def hash
692
- [access_code, add_access_code_to_email, agent_can_edit_email, agent_can_edit_name, auto_navigation, bulk_recipients_uri, can_sign_offline, client_user_id, creation_reason, custom_fields, declined_date_time, declined_reason, default_recipient, delivered_date_time, delivery_method, document_visibility, email, email_notification, email_recipient_post_signing_url, embedded_recipient_start_url, error_details, excluded_documents, fax_number, first_name, full_name, id_check_configuration_name, id_check_information_input, identity_verification, inherit_email_notification_configuration, is_bulk_recipient, last_name, name, note, offline_attributes, phone_authentication, recipient_attachments, recipient_authentication_status, recipient_id, recipient_id_guid, recipient_signature_providers, recipient_supplies_tabs, require_id_lookup, require_signer_certificate, require_sign_on_paper, role_name, routing_order, saml_authentication, sent_date_time, signature_info, signed_date_time, sign_in_each_location, signing_group_id, signing_group_name, signing_group_users, sms_authentication, social_authentications, status, tabs, template_locked, template_required, total_tab_count, user_id].hash
701
+ [access_code, add_access_code_to_email, agent_can_edit_email, agent_can_edit_name, auto_navigation, bulk_recipients_uri, can_sign_offline, client_user_id, creation_reason, custom_fields, declined_date_time, declined_reason, default_recipient, delivered_date_time, delivery_method, document_visibility, email, email_notification, email_recipient_post_signing_url, embedded_recipient_start_url, error_details, excluded_documents, fax_number, first_name, full_name, id_check_configuration_name, id_check_information_input, identity_verification, inherit_email_notification_configuration, is_bulk_recipient, last_name, name, note, offline_attributes, phone_authentication, proof_file, recipient_attachments, recipient_authentication_status, recipient_id, recipient_id_guid, recipient_signature_providers, recipient_supplies_tabs, require_id_lookup, require_signer_certificate, require_sign_on_paper, role_name, routing_order, saml_authentication, sent_date_time, signature_info, signed_date_time, sign_in_each_location, signing_group_id, signing_group_name, signing_group_users, sms_authentication, social_authentications, status, tabs, template_locked, template_required, total_tab_count, user_id].hash
693
702
  end
694
703
 
695
704
  # Builds the object from hash
@@ -40,6 +40,9 @@ module DocuSign_eSign
40
40
  #
41
41
  attr_accessor :label_when_opened
42
42
 
43
+ #
44
+ attr_accessor :pre_label
45
+
43
46
  #
44
47
  attr_accessor :scroll_to_top_when_opened
45
48
 
@@ -59,6 +62,7 @@ module DocuSign_eSign
59
62
  :'hide_label_when_opened' => :'hideLabelWhenOpened',
60
63
  :'inline_outer_style' => :'inlineOuterStyle',
61
64
  :'label_when_opened' => :'labelWhenOpened',
65
+ :'pre_label' => :'preLabel',
62
66
  :'scroll_to_top_when_opened' => :'scrollToTopWhenOpened',
63
67
  :'table_style' => :'tableStyle'
64
68
  }
@@ -76,6 +80,7 @@ module DocuSign_eSign
76
80
  :'hide_label_when_opened' => :'BOOLEAN',
77
81
  :'inline_outer_style' => :'String',
78
82
  :'label_when_opened' => :'String',
83
+ :'pre_label' => :'String',
79
84
  :'scroll_to_top_when_opened' => :'BOOLEAN',
80
85
  :'table_style' => :'String'
81
86
  }
@@ -125,6 +130,10 @@ module DocuSign_eSign
125
130
  self.label_when_opened = attributes[:'labelWhenOpened']
126
131
  end
127
132
 
133
+ if attributes.has_key?(:'preLabel')
134
+ self.pre_label = attributes[:'preLabel']
135
+ end
136
+
128
137
  if attributes.has_key?(:'scrollToTopWhenOpened')
129
138
  self.scroll_to_top_when_opened = attributes[:'scrollToTopWhenOpened']
130
139
  end
@@ -162,6 +171,7 @@ module DocuSign_eSign
162
171
  hide_label_when_opened == o.hide_label_when_opened &&
163
172
  inline_outer_style == o.inline_outer_style &&
164
173
  label_when_opened == o.label_when_opened &&
174
+ pre_label == o.pre_label &&
165
175
  scroll_to_top_when_opened == o.scroll_to_top_when_opened &&
166
176
  table_style == o.table_style
167
177
  end
@@ -175,7 +185,7 @@ module DocuSign_eSign
175
185
  # Calculates hash code according to all attributes.
176
186
  # @return [Fixnum] Hash code
177
187
  def hash
178
- [cell_style, collapsible_settings, display, display_label, display_order, display_page_number, hide_label_when_opened, inline_outer_style, label_when_opened, scroll_to_top_when_opened, table_style].hash
188
+ [cell_style, collapsible_settings, display, display_label, display_order, display_page_number, hide_label_when_opened, inline_outer_style, label_when_opened, pre_label, scroll_to_top_when_opened, table_style].hash
179
189
  end
180
190
 
181
191
  # Builds the object from hash
@@ -0,0 +1,911 @@
1
+ =begin
2
+ #DocuSign REST API
3
+
4
+ #The DocuSign REST API provides you with a powerful, convenient, and simple Web services API for interacting with DocuSign.
5
+
6
+ OpenAPI spec version: v2.1
7
+ Contact: devcenter@docusign.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module DocuSign_eSign
15
+
16
+ class TabGroup
17
+ # When set to **true**, the anchor string does not consider case when matching strings in the document. The default value is **true**.
18
+ attr_accessor :anchor_case_sensitive
19
+
20
+ attr_accessor :anchor_case_sensitive_metadata
21
+
22
+ # Specifies the alignment of anchor tabs with anchor strings. Possible values are **left** or **right**. The default value is **left**.
23
+ attr_accessor :anchor_horizontal_alignment
24
+
25
+ attr_accessor :anchor_horizontal_alignment_metadata
26
+
27
+ # When set to **true**, this tab is ignored if anchorString is not found in the document.
28
+ attr_accessor :anchor_ignore_if_not_present
29
+
30
+ attr_accessor :anchor_ignore_if_not_present_metadata
31
+
32
+ # 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**.
33
+ attr_accessor :anchor_match_whole_word
34
+
35
+ attr_accessor :anchor_match_whole_word_metadata
36
+
37
+ # Anchor text information for a radio button.
38
+ attr_accessor :anchor_string
39
+
40
+ attr_accessor :anchor_string_metadata
41
+
42
+ #
43
+ attr_accessor :anchor_tab_processor_version
44
+
45
+ attr_accessor :anchor_tab_processor_version_metadata
46
+
47
+ # Specifies units of the X and Y offset. Units could be pixels, millimeters, centimeters, or inches.
48
+ attr_accessor :anchor_units
49
+
50
+ attr_accessor :anchor_units_metadata
51
+
52
+ # Specifies the X axis location of the tab, in anchorUnits, relative to the anchorString.
53
+ attr_accessor :anchor_x_offset
54
+
55
+ attr_accessor :anchor_x_offset_metadata
56
+
57
+ # Specifies the Y axis location of the tab, in anchorUnits, relative to the anchorString.
58
+ attr_accessor :anchor_y_offset
59
+
60
+ attr_accessor :anchor_y_offset_metadata
61
+
62
+ # For conditional fields this is the TabLabel of the parent tab that controls this tab's visibility.
63
+ attr_accessor :conditional_parent_label
64
+
65
+ attr_accessor :conditional_parent_label_metadata
66
+
67
+ # 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.
68
+ attr_accessor :conditional_parent_value
69
+
70
+ attr_accessor :conditional_parent_value_metadata
71
+
72
+ # 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.
73
+ attr_accessor :custom_tab_id
74
+
75
+ attr_accessor :custom_tab_id_metadata
76
+
77
+ # Specifies the document ID number that the tab is placed on. This must refer to an existing Document's ID attribute.
78
+ attr_accessor :document_id
79
+
80
+ attr_accessor :document_id_metadata
81
+
82
+ attr_accessor :error_details
83
+
84
+ #
85
+ attr_accessor :form_order
86
+
87
+ attr_accessor :form_order_metadata
88
+
89
+ #
90
+ attr_accessor :form_page_label
91
+
92
+ attr_accessor :form_page_label_metadata
93
+
94
+ #
95
+ attr_accessor :form_page_number
96
+
97
+ attr_accessor :form_page_number_metadata
98
+
99
+ #
100
+ attr_accessor :group_label
101
+
102
+ attr_accessor :group_label_metadata
103
+
104
+ #
105
+ attr_accessor :group_rule
106
+
107
+ attr_accessor :group_rule_metadata
108
+
109
+ # Height of the tab in pixels.
110
+ attr_accessor :height
111
+
112
+ attr_accessor :height_metadata
113
+
114
+ #
115
+ attr_accessor :maximum_allowed
116
+
117
+ attr_accessor :maximum_allowed_metadata
118
+
119
+ attr_accessor :merge_field
120
+
121
+ #
122
+ attr_accessor :merge_field_xml
123
+
124
+ #
125
+ attr_accessor :minimum_required
126
+
127
+ attr_accessor :minimum_required_metadata
128
+
129
+ # Specifies the page number on which the tab is located.
130
+ attr_accessor :page_number
131
+
132
+ attr_accessor :page_number_metadata
133
+
134
+ # Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
135
+ attr_accessor :recipient_id
136
+
137
+ #
138
+ attr_accessor :recipient_id_guid
139
+
140
+ attr_accessor :recipient_id_guid_metadata
141
+
142
+ attr_accessor :recipient_id_metadata
143
+
144
+ # 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.
145
+ attr_accessor :status
146
+
147
+ attr_accessor :status_metadata
148
+
149
+ #
150
+ attr_accessor :tab_group_labels
151
+
152
+ attr_accessor :tab_group_labels_metadata
153
+
154
+ # The unique identifier for the tab. The tabid can be retrieved with the [ML:GET call].
155
+ attr_accessor :tab_id
156
+
157
+ attr_accessor :tab_id_metadata
158
+
159
+ #
160
+ attr_accessor :tab_order
161
+
162
+ attr_accessor :tab_order_metadata
163
+
164
+ #
165
+ attr_accessor :tab_scope
166
+
167
+ attr_accessor :tab_scope_metadata
168
+
169
+ #
170
+ attr_accessor :tab_type
171
+
172
+ attr_accessor :tab_type_metadata
173
+
174
+ # When set to **true**, the sender cannot change any attributes of the recipient. Used only when working with template recipients.
175
+ attr_accessor :template_locked
176
+
177
+ attr_accessor :template_locked_metadata
178
+
179
+ # When set to **true**, the sender may not remove the recipient. Used only when working with template recipients.
180
+ attr_accessor :template_required
181
+
182
+ attr_accessor :template_required_metadata
183
+
184
+ #
185
+ attr_accessor :tooltip
186
+
187
+ attr_accessor :tool_tip_metadata
188
+
189
+ # The message displayed if the custom tab fails input validation (either custom of embedded).
190
+ attr_accessor :validation_message
191
+
192
+ attr_accessor :validation_message_metadata
193
+
194
+ # Width of the tab in pixels.
195
+ attr_accessor :width
196
+
197
+ attr_accessor :width_metadata
198
+
199
+ # This indicates the horizontal offset of the object on the page. DocuSign uses 72 DPI when determining position.
200
+ attr_accessor :x_position
201
+
202
+ attr_accessor :x_position_metadata
203
+
204
+ # This indicates the vertical offset of the object on the page. DocuSign uses 72 DPI when determining position.
205
+ attr_accessor :y_position
206
+
207
+ attr_accessor :y_position_metadata
208
+
209
+
210
+ # Attribute mapping from ruby-style variable name to JSON key.
211
+ def self.attribute_map
212
+ {
213
+ :'anchor_case_sensitive' => :'anchorCaseSensitive',
214
+ :'anchor_case_sensitive_metadata' => :'anchorCaseSensitiveMetadata',
215
+ :'anchor_horizontal_alignment' => :'anchorHorizontalAlignment',
216
+ :'anchor_horizontal_alignment_metadata' => :'anchorHorizontalAlignmentMetadata',
217
+ :'anchor_ignore_if_not_present' => :'anchorIgnoreIfNotPresent',
218
+ :'anchor_ignore_if_not_present_metadata' => :'anchorIgnoreIfNotPresentMetadata',
219
+ :'anchor_match_whole_word' => :'anchorMatchWholeWord',
220
+ :'anchor_match_whole_word_metadata' => :'anchorMatchWholeWordMetadata',
221
+ :'anchor_string' => :'anchorString',
222
+ :'anchor_string_metadata' => :'anchorStringMetadata',
223
+ :'anchor_tab_processor_version' => :'anchorTabProcessorVersion',
224
+ :'anchor_tab_processor_version_metadata' => :'anchorTabProcessorVersionMetadata',
225
+ :'anchor_units' => :'anchorUnits',
226
+ :'anchor_units_metadata' => :'anchorUnitsMetadata',
227
+ :'anchor_x_offset' => :'anchorXOffset',
228
+ :'anchor_x_offset_metadata' => :'anchorXOffsetMetadata',
229
+ :'anchor_y_offset' => :'anchorYOffset',
230
+ :'anchor_y_offset_metadata' => :'anchorYOffsetMetadata',
231
+ :'conditional_parent_label' => :'conditionalParentLabel',
232
+ :'conditional_parent_label_metadata' => :'conditionalParentLabelMetadata',
233
+ :'conditional_parent_value' => :'conditionalParentValue',
234
+ :'conditional_parent_value_metadata' => :'conditionalParentValueMetadata',
235
+ :'custom_tab_id' => :'customTabId',
236
+ :'custom_tab_id_metadata' => :'customTabIdMetadata',
237
+ :'document_id' => :'documentId',
238
+ :'document_id_metadata' => :'documentIdMetadata',
239
+ :'error_details' => :'errorDetails',
240
+ :'form_order' => :'formOrder',
241
+ :'form_order_metadata' => :'formOrderMetadata',
242
+ :'form_page_label' => :'formPageLabel',
243
+ :'form_page_label_metadata' => :'formPageLabelMetadata',
244
+ :'form_page_number' => :'formPageNumber',
245
+ :'form_page_number_metadata' => :'formPageNumberMetadata',
246
+ :'group_label' => :'groupLabel',
247
+ :'group_label_metadata' => :'groupLabelMetadata',
248
+ :'group_rule' => :'groupRule',
249
+ :'group_rule_metadata' => :'groupRuleMetadata',
250
+ :'height' => :'height',
251
+ :'height_metadata' => :'heightMetadata',
252
+ :'maximum_allowed' => :'maximumAllowed',
253
+ :'maximum_allowed_metadata' => :'maximumAllowedMetadata',
254
+ :'merge_field' => :'mergeField',
255
+ :'merge_field_xml' => :'mergeFieldXml',
256
+ :'minimum_required' => :'minimumRequired',
257
+ :'minimum_required_metadata' => :'minimumRequiredMetadata',
258
+ :'page_number' => :'pageNumber',
259
+ :'page_number_metadata' => :'pageNumberMetadata',
260
+ :'recipient_id' => :'recipientId',
261
+ :'recipient_id_guid' => :'recipientIdGuid',
262
+ :'recipient_id_guid_metadata' => :'recipientIdGuidMetadata',
263
+ :'recipient_id_metadata' => :'recipientIdMetadata',
264
+ :'status' => :'status',
265
+ :'status_metadata' => :'statusMetadata',
266
+ :'tab_group_labels' => :'tabGroupLabels',
267
+ :'tab_group_labels_metadata' => :'tabGroupLabelsMetadata',
268
+ :'tab_id' => :'tabId',
269
+ :'tab_id_metadata' => :'tabIdMetadata',
270
+ :'tab_order' => :'tabOrder',
271
+ :'tab_order_metadata' => :'tabOrderMetadata',
272
+ :'tab_scope' => :'tabScope',
273
+ :'tab_scope_metadata' => :'tabScopeMetadata',
274
+ :'tab_type' => :'tabType',
275
+ :'tab_type_metadata' => :'tabTypeMetadata',
276
+ :'template_locked' => :'templateLocked',
277
+ :'template_locked_metadata' => :'templateLockedMetadata',
278
+ :'template_required' => :'templateRequired',
279
+ :'template_required_metadata' => :'templateRequiredMetadata',
280
+ :'tooltip' => :'tooltip',
281
+ :'tool_tip_metadata' => :'toolTipMetadata',
282
+ :'validation_message' => :'validationMessage',
283
+ :'validation_message_metadata' => :'validationMessageMetadata',
284
+ :'width' => :'width',
285
+ :'width_metadata' => :'widthMetadata',
286
+ :'x_position' => :'xPosition',
287
+ :'x_position_metadata' => :'xPositionMetadata',
288
+ :'y_position' => :'yPosition',
289
+ :'y_position_metadata' => :'yPositionMetadata'
290
+ }
291
+ end
292
+
293
+ # Attribute type mapping.
294
+ def self.swagger_types
295
+ {
296
+ :'anchor_case_sensitive' => :'String',
297
+ :'anchor_case_sensitive_metadata' => :'PropertyMetadata',
298
+ :'anchor_horizontal_alignment' => :'String',
299
+ :'anchor_horizontal_alignment_metadata' => :'PropertyMetadata',
300
+ :'anchor_ignore_if_not_present' => :'String',
301
+ :'anchor_ignore_if_not_present_metadata' => :'PropertyMetadata',
302
+ :'anchor_match_whole_word' => :'String',
303
+ :'anchor_match_whole_word_metadata' => :'PropertyMetadata',
304
+ :'anchor_string' => :'String',
305
+ :'anchor_string_metadata' => :'PropertyMetadata',
306
+ :'anchor_tab_processor_version' => :'String',
307
+ :'anchor_tab_processor_version_metadata' => :'PropertyMetadata',
308
+ :'anchor_units' => :'String',
309
+ :'anchor_units_metadata' => :'PropertyMetadata',
310
+ :'anchor_x_offset' => :'String',
311
+ :'anchor_x_offset_metadata' => :'PropertyMetadata',
312
+ :'anchor_y_offset' => :'String',
313
+ :'anchor_y_offset_metadata' => :'PropertyMetadata',
314
+ :'conditional_parent_label' => :'String',
315
+ :'conditional_parent_label_metadata' => :'PropertyMetadata',
316
+ :'conditional_parent_value' => :'String',
317
+ :'conditional_parent_value_metadata' => :'PropertyMetadata',
318
+ :'custom_tab_id' => :'String',
319
+ :'custom_tab_id_metadata' => :'PropertyMetadata',
320
+ :'document_id' => :'String',
321
+ :'document_id_metadata' => :'PropertyMetadata',
322
+ :'error_details' => :'ErrorDetails',
323
+ :'form_order' => :'String',
324
+ :'form_order_metadata' => :'PropertyMetadata',
325
+ :'form_page_label' => :'String',
326
+ :'form_page_label_metadata' => :'PropertyMetadata',
327
+ :'form_page_number' => :'String',
328
+ :'form_page_number_metadata' => :'PropertyMetadata',
329
+ :'group_label' => :'String',
330
+ :'group_label_metadata' => :'PropertyMetadata',
331
+ :'group_rule' => :'String',
332
+ :'group_rule_metadata' => :'PropertyMetadata',
333
+ :'height' => :'String',
334
+ :'height_metadata' => :'PropertyMetadata',
335
+ :'maximum_allowed' => :'String',
336
+ :'maximum_allowed_metadata' => :'PropertyMetadata',
337
+ :'merge_field' => :'MergeField',
338
+ :'merge_field_xml' => :'String',
339
+ :'minimum_required' => :'String',
340
+ :'minimum_required_metadata' => :'PropertyMetadata',
341
+ :'page_number' => :'String',
342
+ :'page_number_metadata' => :'PropertyMetadata',
343
+ :'recipient_id' => :'String',
344
+ :'recipient_id_guid' => :'String',
345
+ :'recipient_id_guid_metadata' => :'PropertyMetadata',
346
+ :'recipient_id_metadata' => :'PropertyMetadata',
347
+ :'status' => :'String',
348
+ :'status_metadata' => :'PropertyMetadata',
349
+ :'tab_group_labels' => :'Array<String>',
350
+ :'tab_group_labels_metadata' => :'PropertyMetadata',
351
+ :'tab_id' => :'String',
352
+ :'tab_id_metadata' => :'PropertyMetadata',
353
+ :'tab_order' => :'String',
354
+ :'tab_order_metadata' => :'PropertyMetadata',
355
+ :'tab_scope' => :'String',
356
+ :'tab_scope_metadata' => :'PropertyMetadata',
357
+ :'tab_type' => :'String',
358
+ :'tab_type_metadata' => :'PropertyMetadata',
359
+ :'template_locked' => :'String',
360
+ :'template_locked_metadata' => :'PropertyMetadata',
361
+ :'template_required' => :'String',
362
+ :'template_required_metadata' => :'PropertyMetadata',
363
+ :'tooltip' => :'String',
364
+ :'tool_tip_metadata' => :'PropertyMetadata',
365
+ :'validation_message' => :'String',
366
+ :'validation_message_metadata' => :'PropertyMetadata',
367
+ :'width' => :'String',
368
+ :'width_metadata' => :'PropertyMetadata',
369
+ :'x_position' => :'String',
370
+ :'x_position_metadata' => :'PropertyMetadata',
371
+ :'y_position' => :'String',
372
+ :'y_position_metadata' => :'PropertyMetadata'
373
+ }
374
+ end
375
+
376
+ # Initializes the object
377
+ # @param [Hash] attributes Model attributes in the form of hash
378
+ def initialize(attributes = {})
379
+ return unless attributes.is_a?(Hash)
380
+
381
+ # convert string to symbol for hash key
382
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
383
+
384
+ if attributes.has_key?(:'anchorCaseSensitive')
385
+ self.anchor_case_sensitive = attributes[:'anchorCaseSensitive']
386
+ end
387
+
388
+ if attributes.has_key?(:'anchorCaseSensitiveMetadata')
389
+ self.anchor_case_sensitive_metadata = attributes[:'anchorCaseSensitiveMetadata']
390
+ end
391
+
392
+ if attributes.has_key?(:'anchorHorizontalAlignment')
393
+ self.anchor_horizontal_alignment = attributes[:'anchorHorizontalAlignment']
394
+ end
395
+
396
+ if attributes.has_key?(:'anchorHorizontalAlignmentMetadata')
397
+ self.anchor_horizontal_alignment_metadata = attributes[:'anchorHorizontalAlignmentMetadata']
398
+ end
399
+
400
+ if attributes.has_key?(:'anchorIgnoreIfNotPresent')
401
+ self.anchor_ignore_if_not_present = attributes[:'anchorIgnoreIfNotPresent']
402
+ end
403
+
404
+ if attributes.has_key?(:'anchorIgnoreIfNotPresentMetadata')
405
+ self.anchor_ignore_if_not_present_metadata = attributes[:'anchorIgnoreIfNotPresentMetadata']
406
+ end
407
+
408
+ if attributes.has_key?(:'anchorMatchWholeWord')
409
+ self.anchor_match_whole_word = attributes[:'anchorMatchWholeWord']
410
+ end
411
+
412
+ if attributes.has_key?(:'anchorMatchWholeWordMetadata')
413
+ self.anchor_match_whole_word_metadata = attributes[:'anchorMatchWholeWordMetadata']
414
+ end
415
+
416
+ if attributes.has_key?(:'anchorString')
417
+ self.anchor_string = attributes[:'anchorString']
418
+ end
419
+
420
+ if attributes.has_key?(:'anchorStringMetadata')
421
+ self.anchor_string_metadata = attributes[:'anchorStringMetadata']
422
+ end
423
+
424
+ if attributes.has_key?(:'anchorTabProcessorVersion')
425
+ self.anchor_tab_processor_version = attributes[:'anchorTabProcessorVersion']
426
+ end
427
+
428
+ if attributes.has_key?(:'anchorTabProcessorVersionMetadata')
429
+ self.anchor_tab_processor_version_metadata = attributes[:'anchorTabProcessorVersionMetadata']
430
+ end
431
+
432
+ if attributes.has_key?(:'anchorUnits')
433
+ self.anchor_units = attributes[:'anchorUnits']
434
+ end
435
+
436
+ if attributes.has_key?(:'anchorUnitsMetadata')
437
+ self.anchor_units_metadata = attributes[:'anchorUnitsMetadata']
438
+ end
439
+
440
+ if attributes.has_key?(:'anchorXOffset')
441
+ self.anchor_x_offset = attributes[:'anchorXOffset']
442
+ end
443
+
444
+ if attributes.has_key?(:'anchorXOffsetMetadata')
445
+ self.anchor_x_offset_metadata = attributes[:'anchorXOffsetMetadata']
446
+ end
447
+
448
+ if attributes.has_key?(:'anchorYOffset')
449
+ self.anchor_y_offset = attributes[:'anchorYOffset']
450
+ end
451
+
452
+ if attributes.has_key?(:'anchorYOffsetMetadata')
453
+ self.anchor_y_offset_metadata = attributes[:'anchorYOffsetMetadata']
454
+ end
455
+
456
+ if attributes.has_key?(:'conditionalParentLabel')
457
+ self.conditional_parent_label = attributes[:'conditionalParentLabel']
458
+ end
459
+
460
+ if attributes.has_key?(:'conditionalParentLabelMetadata')
461
+ self.conditional_parent_label_metadata = attributes[:'conditionalParentLabelMetadata']
462
+ end
463
+
464
+ if attributes.has_key?(:'conditionalParentValue')
465
+ self.conditional_parent_value = attributes[:'conditionalParentValue']
466
+ end
467
+
468
+ if attributes.has_key?(:'conditionalParentValueMetadata')
469
+ self.conditional_parent_value_metadata = attributes[:'conditionalParentValueMetadata']
470
+ end
471
+
472
+ if attributes.has_key?(:'customTabId')
473
+ self.custom_tab_id = attributes[:'customTabId']
474
+ end
475
+
476
+ if attributes.has_key?(:'customTabIdMetadata')
477
+ self.custom_tab_id_metadata = attributes[:'customTabIdMetadata']
478
+ end
479
+
480
+ if attributes.has_key?(:'documentId')
481
+ self.document_id = attributes[:'documentId']
482
+ end
483
+
484
+ if attributes.has_key?(:'documentIdMetadata')
485
+ self.document_id_metadata = attributes[:'documentIdMetadata']
486
+ end
487
+
488
+ if attributes.has_key?(:'errorDetails')
489
+ self.error_details = attributes[:'errorDetails']
490
+ end
491
+
492
+ if attributes.has_key?(:'formOrder')
493
+ self.form_order = attributes[:'formOrder']
494
+ end
495
+
496
+ if attributes.has_key?(:'formOrderMetadata')
497
+ self.form_order_metadata = attributes[:'formOrderMetadata']
498
+ end
499
+
500
+ if attributes.has_key?(:'formPageLabel')
501
+ self.form_page_label = attributes[:'formPageLabel']
502
+ end
503
+
504
+ if attributes.has_key?(:'formPageLabelMetadata')
505
+ self.form_page_label_metadata = attributes[:'formPageLabelMetadata']
506
+ end
507
+
508
+ if attributes.has_key?(:'formPageNumber')
509
+ self.form_page_number = attributes[:'formPageNumber']
510
+ end
511
+
512
+ if attributes.has_key?(:'formPageNumberMetadata')
513
+ self.form_page_number_metadata = attributes[:'formPageNumberMetadata']
514
+ end
515
+
516
+ if attributes.has_key?(:'groupLabel')
517
+ self.group_label = attributes[:'groupLabel']
518
+ end
519
+
520
+ if attributes.has_key?(:'groupLabelMetadata')
521
+ self.group_label_metadata = attributes[:'groupLabelMetadata']
522
+ end
523
+
524
+ if attributes.has_key?(:'groupRule')
525
+ self.group_rule = attributes[:'groupRule']
526
+ end
527
+
528
+ if attributes.has_key?(:'groupRuleMetadata')
529
+ self.group_rule_metadata = attributes[:'groupRuleMetadata']
530
+ end
531
+
532
+ if attributes.has_key?(:'height')
533
+ self.height = attributes[:'height']
534
+ end
535
+
536
+ if attributes.has_key?(:'heightMetadata')
537
+ self.height_metadata = attributes[:'heightMetadata']
538
+ end
539
+
540
+ if attributes.has_key?(:'maximumAllowed')
541
+ self.maximum_allowed = attributes[:'maximumAllowed']
542
+ end
543
+
544
+ if attributes.has_key?(:'maximumAllowedMetadata')
545
+ self.maximum_allowed_metadata = attributes[:'maximumAllowedMetadata']
546
+ end
547
+
548
+ if attributes.has_key?(:'mergeField')
549
+ self.merge_field = attributes[:'mergeField']
550
+ end
551
+
552
+ if attributes.has_key?(:'mergeFieldXml')
553
+ self.merge_field_xml = attributes[:'mergeFieldXml']
554
+ end
555
+
556
+ if attributes.has_key?(:'minimumRequired')
557
+ self.minimum_required = attributes[:'minimumRequired']
558
+ end
559
+
560
+ if attributes.has_key?(:'minimumRequiredMetadata')
561
+ self.minimum_required_metadata = attributes[:'minimumRequiredMetadata']
562
+ end
563
+
564
+ if attributes.has_key?(:'pageNumber')
565
+ self.page_number = attributes[:'pageNumber']
566
+ end
567
+
568
+ if attributes.has_key?(:'pageNumberMetadata')
569
+ self.page_number_metadata = attributes[:'pageNumberMetadata']
570
+ end
571
+
572
+ if attributes.has_key?(:'recipientId')
573
+ self.recipient_id = attributes[:'recipientId']
574
+ end
575
+
576
+ if attributes.has_key?(:'recipientIdGuid')
577
+ self.recipient_id_guid = attributes[:'recipientIdGuid']
578
+ end
579
+
580
+ if attributes.has_key?(:'recipientIdGuidMetadata')
581
+ self.recipient_id_guid_metadata = attributes[:'recipientIdGuidMetadata']
582
+ end
583
+
584
+ if attributes.has_key?(:'recipientIdMetadata')
585
+ self.recipient_id_metadata = attributes[:'recipientIdMetadata']
586
+ end
587
+
588
+ if attributes.has_key?(:'status')
589
+ self.status = attributes[:'status']
590
+ end
591
+
592
+ if attributes.has_key?(:'statusMetadata')
593
+ self.status_metadata = attributes[:'statusMetadata']
594
+ end
595
+
596
+ if attributes.has_key?(:'tabGroupLabels')
597
+ if (value = attributes[:'tabGroupLabels']).is_a?(Array)
598
+ self.tab_group_labels = value
599
+ end
600
+ end
601
+
602
+ if attributes.has_key?(:'tabGroupLabelsMetadata')
603
+ self.tab_group_labels_metadata = attributes[:'tabGroupLabelsMetadata']
604
+ end
605
+
606
+ if attributes.has_key?(:'tabId')
607
+ self.tab_id = attributes[:'tabId']
608
+ end
609
+
610
+ if attributes.has_key?(:'tabIdMetadata')
611
+ self.tab_id_metadata = attributes[:'tabIdMetadata']
612
+ end
613
+
614
+ if attributes.has_key?(:'tabOrder')
615
+ self.tab_order = attributes[:'tabOrder']
616
+ end
617
+
618
+ if attributes.has_key?(:'tabOrderMetadata')
619
+ self.tab_order_metadata = attributes[:'tabOrderMetadata']
620
+ end
621
+
622
+ if attributes.has_key?(:'tabScope')
623
+ self.tab_scope = attributes[:'tabScope']
624
+ end
625
+
626
+ if attributes.has_key?(:'tabScopeMetadata')
627
+ self.tab_scope_metadata = attributes[:'tabScopeMetadata']
628
+ end
629
+
630
+ if attributes.has_key?(:'tabType')
631
+ self.tab_type = attributes[:'tabType']
632
+ end
633
+
634
+ if attributes.has_key?(:'tabTypeMetadata')
635
+ self.tab_type_metadata = attributes[:'tabTypeMetadata']
636
+ end
637
+
638
+ if attributes.has_key?(:'templateLocked')
639
+ self.template_locked = attributes[:'templateLocked']
640
+ end
641
+
642
+ if attributes.has_key?(:'templateLockedMetadata')
643
+ self.template_locked_metadata = attributes[:'templateLockedMetadata']
644
+ end
645
+
646
+ if attributes.has_key?(:'templateRequired')
647
+ self.template_required = attributes[:'templateRequired']
648
+ end
649
+
650
+ if attributes.has_key?(:'templateRequiredMetadata')
651
+ self.template_required_metadata = attributes[:'templateRequiredMetadata']
652
+ end
653
+
654
+ if attributes.has_key?(:'tooltip')
655
+ self.tooltip = attributes[:'tooltip']
656
+ end
657
+
658
+ if attributes.has_key?(:'toolTipMetadata')
659
+ self.tool_tip_metadata = attributes[:'toolTipMetadata']
660
+ end
661
+
662
+ if attributes.has_key?(:'validationMessage')
663
+ self.validation_message = attributes[:'validationMessage']
664
+ end
665
+
666
+ if attributes.has_key?(:'validationMessageMetadata')
667
+ self.validation_message_metadata = attributes[:'validationMessageMetadata']
668
+ end
669
+
670
+ if attributes.has_key?(:'width')
671
+ self.width = attributes[:'width']
672
+ end
673
+
674
+ if attributes.has_key?(:'widthMetadata')
675
+ self.width_metadata = attributes[:'widthMetadata']
676
+ end
677
+
678
+ if attributes.has_key?(:'xPosition')
679
+ self.x_position = attributes[:'xPosition']
680
+ end
681
+
682
+ if attributes.has_key?(:'xPositionMetadata')
683
+ self.x_position_metadata = attributes[:'xPositionMetadata']
684
+ end
685
+
686
+ if attributes.has_key?(:'yPosition')
687
+ self.y_position = attributes[:'yPosition']
688
+ end
689
+
690
+ if attributes.has_key?(:'yPositionMetadata')
691
+ self.y_position_metadata = attributes[:'yPositionMetadata']
692
+ end
693
+
694
+ end
695
+
696
+ # Show invalid properties with the reasons. Usually used together with valid?
697
+ # @return Array for valid properies with the reasons
698
+ def list_invalid_properties
699
+ invalid_properties = Array.new
700
+ return invalid_properties
701
+ end
702
+
703
+ # Check to see if the all the properties in the model are valid
704
+ # @return true if the model is valid
705
+ def valid?
706
+ return true
707
+ end
708
+
709
+ # Checks equality by comparing each attribute.
710
+ # @param [Object] Object to be compared
711
+ def ==(o)
712
+ return true if self.equal?(o)
713
+ self.class == o.class &&
714
+ anchor_case_sensitive == o.anchor_case_sensitive &&
715
+ anchor_case_sensitive_metadata == o.anchor_case_sensitive_metadata &&
716
+ anchor_horizontal_alignment == o.anchor_horizontal_alignment &&
717
+ anchor_horizontal_alignment_metadata == o.anchor_horizontal_alignment_metadata &&
718
+ anchor_ignore_if_not_present == o.anchor_ignore_if_not_present &&
719
+ anchor_ignore_if_not_present_metadata == o.anchor_ignore_if_not_present_metadata &&
720
+ anchor_match_whole_word == o.anchor_match_whole_word &&
721
+ anchor_match_whole_word_metadata == o.anchor_match_whole_word_metadata &&
722
+ anchor_string == o.anchor_string &&
723
+ anchor_string_metadata == o.anchor_string_metadata &&
724
+ anchor_tab_processor_version == o.anchor_tab_processor_version &&
725
+ anchor_tab_processor_version_metadata == o.anchor_tab_processor_version_metadata &&
726
+ anchor_units == o.anchor_units &&
727
+ anchor_units_metadata == o.anchor_units_metadata &&
728
+ anchor_x_offset == o.anchor_x_offset &&
729
+ anchor_x_offset_metadata == o.anchor_x_offset_metadata &&
730
+ anchor_y_offset == o.anchor_y_offset &&
731
+ anchor_y_offset_metadata == o.anchor_y_offset_metadata &&
732
+ conditional_parent_label == o.conditional_parent_label &&
733
+ conditional_parent_label_metadata == o.conditional_parent_label_metadata &&
734
+ conditional_parent_value == o.conditional_parent_value &&
735
+ conditional_parent_value_metadata == o.conditional_parent_value_metadata &&
736
+ custom_tab_id == o.custom_tab_id &&
737
+ custom_tab_id_metadata == o.custom_tab_id_metadata &&
738
+ document_id == o.document_id &&
739
+ document_id_metadata == o.document_id_metadata &&
740
+ error_details == o.error_details &&
741
+ form_order == o.form_order &&
742
+ form_order_metadata == o.form_order_metadata &&
743
+ form_page_label == o.form_page_label &&
744
+ form_page_label_metadata == o.form_page_label_metadata &&
745
+ form_page_number == o.form_page_number &&
746
+ form_page_number_metadata == o.form_page_number_metadata &&
747
+ group_label == o.group_label &&
748
+ group_label_metadata == o.group_label_metadata &&
749
+ group_rule == o.group_rule &&
750
+ group_rule_metadata == o.group_rule_metadata &&
751
+ height == o.height &&
752
+ height_metadata == o.height_metadata &&
753
+ maximum_allowed == o.maximum_allowed &&
754
+ maximum_allowed_metadata == o.maximum_allowed_metadata &&
755
+ merge_field == o.merge_field &&
756
+ merge_field_xml == o.merge_field_xml &&
757
+ minimum_required == o.minimum_required &&
758
+ minimum_required_metadata == o.minimum_required_metadata &&
759
+ page_number == o.page_number &&
760
+ page_number_metadata == o.page_number_metadata &&
761
+ recipient_id == o.recipient_id &&
762
+ recipient_id_guid == o.recipient_id_guid &&
763
+ recipient_id_guid_metadata == o.recipient_id_guid_metadata &&
764
+ recipient_id_metadata == o.recipient_id_metadata &&
765
+ status == o.status &&
766
+ status_metadata == o.status_metadata &&
767
+ tab_group_labels == o.tab_group_labels &&
768
+ tab_group_labels_metadata == o.tab_group_labels_metadata &&
769
+ tab_id == o.tab_id &&
770
+ tab_id_metadata == o.tab_id_metadata &&
771
+ tab_order == o.tab_order &&
772
+ tab_order_metadata == o.tab_order_metadata &&
773
+ tab_scope == o.tab_scope &&
774
+ tab_scope_metadata == o.tab_scope_metadata &&
775
+ tab_type == o.tab_type &&
776
+ tab_type_metadata == o.tab_type_metadata &&
777
+ template_locked == o.template_locked &&
778
+ template_locked_metadata == o.template_locked_metadata &&
779
+ template_required == o.template_required &&
780
+ template_required_metadata == o.template_required_metadata &&
781
+ tooltip == o.tooltip &&
782
+ tool_tip_metadata == o.tool_tip_metadata &&
783
+ validation_message == o.validation_message &&
784
+ validation_message_metadata == o.validation_message_metadata &&
785
+ width == o.width &&
786
+ width_metadata == o.width_metadata &&
787
+ x_position == o.x_position &&
788
+ x_position_metadata == o.x_position_metadata &&
789
+ y_position == o.y_position &&
790
+ y_position_metadata == o.y_position_metadata
791
+ end
792
+
793
+ # @see the `==` method
794
+ # @param [Object] Object to be compared
795
+ def eql?(o)
796
+ self == o
797
+ end
798
+
799
+ # Calculates hash code according to all attributes.
800
+ # @return [Fixnum] Hash code
801
+ def hash
802
+ [anchor_case_sensitive, anchor_case_sensitive_metadata, anchor_horizontal_alignment, anchor_horizontal_alignment_metadata, anchor_ignore_if_not_present, anchor_ignore_if_not_present_metadata, anchor_match_whole_word, anchor_match_whole_word_metadata, anchor_string, anchor_string_metadata, anchor_tab_processor_version, anchor_tab_processor_version_metadata, anchor_units, anchor_units_metadata, anchor_x_offset, anchor_x_offset_metadata, anchor_y_offset, anchor_y_offset_metadata, conditional_parent_label, conditional_parent_label_metadata, conditional_parent_value, conditional_parent_value_metadata, custom_tab_id, custom_tab_id_metadata, document_id, document_id_metadata, error_details, form_order, form_order_metadata, form_page_label, form_page_label_metadata, form_page_number, form_page_number_metadata, group_label, group_label_metadata, group_rule, group_rule_metadata, height, height_metadata, maximum_allowed, maximum_allowed_metadata, merge_field, merge_field_xml, minimum_required, minimum_required_metadata, page_number, page_number_metadata, recipient_id, recipient_id_guid, recipient_id_guid_metadata, recipient_id_metadata, status, status_metadata, tab_group_labels, tab_group_labels_metadata, tab_id, tab_id_metadata, tab_order, tab_order_metadata, tab_scope, tab_scope_metadata, tab_type, tab_type_metadata, template_locked, template_locked_metadata, template_required, template_required_metadata, tooltip, tool_tip_metadata, validation_message, validation_message_metadata, width, width_metadata, x_position, x_position_metadata, y_position, y_position_metadata].hash
803
+ end
804
+
805
+ # Builds the object from hash
806
+ # @param [Hash] attributes Model attributes in the form of hash
807
+ # @return [Object] Returns the model itself
808
+ def build_from_hash(attributes)
809
+ return nil unless attributes.is_a?(Hash)
810
+ self.class.swagger_types.each_pair do |key, type|
811
+ if type =~ /\AArray<(.*)>/i
812
+ # check to ensure the input is an array given that the the attribute
813
+ # is documented as an array but the input is not
814
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
815
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
816
+ end
817
+ elsif !attributes[self.class.attribute_map[key]].nil?
818
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
819
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
820
+ end
821
+
822
+ self
823
+ end
824
+
825
+ # Deserializes the data based on type
826
+ # @param string type Data type
827
+ # @param string value Value to be deserialized
828
+ # @return [Object] Deserialized data
829
+ def _deserialize(type, value)
830
+ case type.to_sym
831
+ when :DateTime
832
+ DateTime.parse(value)
833
+ when :Date
834
+ Date.parse(value)
835
+ when :String
836
+ value.to_s
837
+ when :Integer
838
+ value.to_i
839
+ when :Float
840
+ value.to_f
841
+ when :BOOLEAN
842
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
843
+ true
844
+ else
845
+ false
846
+ end
847
+ when :Object
848
+ # generic object (usually a Hash), return directly
849
+ value
850
+ when /\AArray<(?<inner_type>.+)>\z/
851
+ inner_type = Regexp.last_match[:inner_type]
852
+ value.map { |v| _deserialize(inner_type, v) }
853
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
854
+ k_type = Regexp.last_match[:k_type]
855
+ v_type = Regexp.last_match[:v_type]
856
+ {}.tap do |hash|
857
+ value.each do |k, v|
858
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
859
+ end
860
+ end
861
+ else # model
862
+ temp_model = DocuSign_eSign.const_get(type).new
863
+ temp_model.build_from_hash(value)
864
+ end
865
+ end
866
+
867
+ # Returns the string representation of the object
868
+ # @return [String] String presentation of the object
869
+ def to_s
870
+ to_hash.to_s
871
+ end
872
+
873
+ # to_body is an alias to to_hash (backward compatibility)
874
+ # @return [Hash] Returns the object in the form of hash
875
+ def to_body
876
+ to_hash
877
+ end
878
+
879
+ # Returns the object in the form of hash
880
+ # @return [Hash] Returns the object in the form of hash
881
+ def to_hash
882
+ hash = {}
883
+ self.class.attribute_map.each_pair do |attr, param|
884
+ value = self.send(attr)
885
+ next if value.nil?
886
+ hash[param] = _to_hash(value)
887
+ end
888
+ hash
889
+ end
890
+
891
+ # Outputs non-array value in the form of hash
892
+ # For object, use to_hash. Otherwise, just return the value
893
+ # @param [Object] value Any valid value
894
+ # @return [Hash] Returns the value in the form of hash
895
+ def _to_hash(value)
896
+ if value.is_a?(Array)
897
+ value.compact.map{ |v| _to_hash(v) }
898
+ elsif value.is_a?(Hash)
899
+ {}.tap do |hash|
900
+ value.each { |k, v| hash[k] = _to_hash(v) }
901
+ end
902
+ elsif value.respond_to? :to_hash
903
+ value.to_hash
904
+ else
905
+ value
906
+ end
907
+ end
908
+
909
+ end
910
+
911
+ end