groupdocs_conversion_cloud 19.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. checksums.yaml +7 -0
  2. data/lib/groupdocs_conversion_cloud.rb +205 -0
  3. data/lib/groupdocs_conversion_cloud/api/conversion_api.rb +336 -0
  4. data/lib/groupdocs_conversion_cloud/api/file_api.rb +729 -0
  5. data/lib/groupdocs_conversion_cloud/api/folder_api.rb +694 -0
  6. data/lib/groupdocs_conversion_cloud/api/storage_api.rb +541 -0
  7. data/lib/groupdocs_conversion_cloud/api_client.rb +380 -0
  8. data/lib/groupdocs_conversion_cloud/api_error.rb +58 -0
  9. data/lib/groupdocs_conversion_cloud/configuration.rb +95 -0
  10. data/lib/groupdocs_conversion_cloud/models/bmp_convert_options.rb +361 -0
  11. data/lib/groupdocs_conversion_cloud/models/bmp_load_options.rb +214 -0
  12. data/lib/groupdocs_conversion_cloud/models/cad_load_options.rb +246 -0
  13. data/lib/groupdocs_conversion_cloud/models/cgm_convert_options.rb +361 -0
  14. data/lib/groupdocs_conversion_cloud/models/convert_options.rb +246 -0
  15. data/lib/groupdocs_conversion_cloud/models/convert_settings.rb +312 -0
  16. data/lib/groupdocs_conversion_cloud/models/csv_load_options.rb +279 -0
  17. data/lib/groupdocs_conversion_cloud/models/dcm_convert_options.rb +361 -0
  18. data/lib/groupdocs_conversion_cloud/models/dcm_load_options.rb +214 -0
  19. data/lib/groupdocs_conversion_cloud/models/dgn_load_options.rb +246 -0
  20. data/lib/groupdocs_conversion_cloud/models/diagram_load_options.rb +214 -0
  21. data/lib/groupdocs_conversion_cloud/models/disc_usage.rb +234 -0
  22. data/lib/groupdocs_conversion_cloud/models/djvu_convert_options.rb +361 -0
  23. data/lib/groupdocs_conversion_cloud/models/dng_convert_options.rb +361 -0
  24. data/lib/groupdocs_conversion_cloud/models/dng_load_options.rb +214 -0
  25. data/lib/groupdocs_conversion_cloud/models/doc_convert_options.rb +326 -0
  26. data/lib/groupdocs_conversion_cloud/models/doc_load_options.rb +281 -0
  27. data/lib/groupdocs_conversion_cloud/models/docm_convert_options.rb +326 -0
  28. data/lib/groupdocs_conversion_cloud/models/docm_load_options.rb +281 -0
  29. data/lib/groupdocs_conversion_cloud/models/docx_convert_options.rb +326 -0
  30. data/lib/groupdocs_conversion_cloud/models/docx_load_options.rb +281 -0
  31. data/lib/groupdocs_conversion_cloud/models/dot_convert_options.rb +326 -0
  32. data/lib/groupdocs_conversion_cloud/models/dot_load_options.rb +281 -0
  33. data/lib/groupdocs_conversion_cloud/models/dotm_convert_options.rb +326 -0
  34. data/lib/groupdocs_conversion_cloud/models/dotm_load_options.rb +281 -0
  35. data/lib/groupdocs_conversion_cloud/models/dotx_convert_options.rb +326 -0
  36. data/lib/groupdocs_conversion_cloud/models/dotx_load_options.rb +281 -0
  37. data/lib/groupdocs_conversion_cloud/models/dwf_load_options.rb +246 -0
  38. data/lib/groupdocs_conversion_cloud/models/dwg_load_options.rb +246 -0
  39. data/lib/groupdocs_conversion_cloud/models/dxf_load_options.rb +246 -0
  40. data/lib/groupdocs_conversion_cloud/models/email_load_options.rb +294 -0
  41. data/lib/groupdocs_conversion_cloud/models/emf_convert_options.rb +361 -0
  42. data/lib/groupdocs_conversion_cloud/models/emf_load_options.rb +214 -0
  43. data/lib/groupdocs_conversion_cloud/models/eml_load_options.rb +294 -0
  44. data/lib/groupdocs_conversion_cloud/models/emlx_load_options.rb +294 -0
  45. data/lib/groupdocs_conversion_cloud/models/epub_convert_options.rb +386 -0
  46. data/lib/groupdocs_conversion_cloud/models/error.rb +244 -0
  47. data/lib/groupdocs_conversion_cloud/models/error_details.rb +229 -0
  48. data/lib/groupdocs_conversion_cloud/models/file_version.rb +289 -0
  49. data/lib/groupdocs_conversion_cloud/models/file_versions.rb +216 -0
  50. data/lib/groupdocs_conversion_cloud/models/files_list.rb +216 -0
  51. data/lib/groupdocs_conversion_cloud/models/files_upload_result.rb +228 -0
  52. data/lib/groupdocs_conversion_cloud/models/gif_convert_options.rb +361 -0
  53. data/lib/groupdocs_conversion_cloud/models/gif_load_options.rb +214 -0
  54. data/lib/groupdocs_conversion_cloud/models/html_convert_options.rb +301 -0
  55. data/lib/groupdocs_conversion_cloud/models/ico_convert_options.rb +361 -0
  56. data/lib/groupdocs_conversion_cloud/models/ico_load_options.rb +214 -0
  57. data/lib/groupdocs_conversion_cloud/models/ifc_load_options.rb +246 -0
  58. data/lib/groupdocs_conversion_cloud/models/igs_load_options.rb +246 -0
  59. data/lib/groupdocs_conversion_cloud/models/image_convert_options.rb +361 -0
  60. data/lib/groupdocs_conversion_cloud/models/image_load_options.rb +214 -0
  61. data/lib/groupdocs_conversion_cloud/models/j2c_convert_options.rb +376 -0
  62. data/lib/groupdocs_conversion_cloud/models/j2c_load_options.rb +214 -0
  63. data/lib/groupdocs_conversion_cloud/models/j2k_convert_options.rb +376 -0
  64. data/lib/groupdocs_conversion_cloud/models/j2k_load_options.rb +214 -0
  65. data/lib/groupdocs_conversion_cloud/models/jp2_convert_options.rb +376 -0
  66. data/lib/groupdocs_conversion_cloud/models/jp2_load_options.rb +214 -0
  67. data/lib/groupdocs_conversion_cloud/models/jpeg_convert_options.rb +376 -0
  68. data/lib/groupdocs_conversion_cloud/models/jpeg_load_options.rb +214 -0
  69. data/lib/groupdocs_conversion_cloud/models/jpf_convert_options.rb +376 -0
  70. data/lib/groupdocs_conversion_cloud/models/jpf_load_options.rb +214 -0
  71. data/lib/groupdocs_conversion_cloud/models/jpg_convert_options.rb +376 -0
  72. data/lib/groupdocs_conversion_cloud/models/jpg_load_options.rb +214 -0
  73. data/lib/groupdocs_conversion_cloud/models/jpm_convert_options.rb +376 -0
  74. data/lib/groupdocs_conversion_cloud/models/jpm_load_options.rb +214 -0
  75. data/lib/groupdocs_conversion_cloud/models/jpx_convert_options.rb +376 -0
  76. data/lib/groupdocs_conversion_cloud/models/jpx_load_options.rb +214 -0
  77. data/lib/groupdocs_conversion_cloud/models/load_options.rb +204 -0
  78. data/lib/groupdocs_conversion_cloud/models/mht_load_options.rb +294 -0
  79. data/lib/groupdocs_conversion_cloud/models/mobi_load_options.rb +281 -0
  80. data/lib/groupdocs_conversion_cloud/models/msg_load_options.rb +294 -0
  81. data/lib/groupdocs_conversion_cloud/models/object_exist.rb +234 -0
  82. data/lib/groupdocs_conversion_cloud/models/odg_convert_options.rb +361 -0
  83. data/lib/groupdocs_conversion_cloud/models/odg_load_options.rb +214 -0
  84. data/lib/groupdocs_conversion_cloud/models/odp_convert_options.rb +281 -0
  85. data/lib/groupdocs_conversion_cloud/models/odp_load_options.rb +266 -0
  86. data/lib/groupdocs_conversion_cloud/models/ods_convert_options.rb +296 -0
  87. data/lib/groupdocs_conversion_cloud/models/ods_load_options.rb +321 -0
  88. data/lib/groupdocs_conversion_cloud/models/odt_convert_options.rb +326 -0
  89. data/lib/groupdocs_conversion_cloud/models/odt_load_options.rb +281 -0
  90. data/lib/groupdocs_conversion_cloud/models/one_load_options.rb +236 -0
  91. data/lib/groupdocs_conversion_cloud/models/ost_load_options.rb +294 -0
  92. data/lib/groupdocs_conversion_cloud/models/otp_convert_options.rb +281 -0
  93. data/lib/groupdocs_conversion_cloud/models/otp_load_options.rb +266 -0
  94. data/lib/groupdocs_conversion_cloud/models/ots_convert_options.rb +296 -0
  95. data/lib/groupdocs_conversion_cloud/models/ots_load_options.rb +321 -0
  96. data/lib/groupdocs_conversion_cloud/models/ott_convert_options.rb +326 -0
  97. data/lib/groupdocs_conversion_cloud/models/ott_load_options.rb +281 -0
  98. data/lib/groupdocs_conversion_cloud/models/pdf_convert_options.rb +863 -0
  99. data/lib/groupdocs_conversion_cloud/models/pdf_load_options.rb +259 -0
  100. data/lib/groupdocs_conversion_cloud/models/plt_load_options.rb +246 -0
  101. data/lib/groupdocs_conversion_cloud/models/png_convert_options.rb +361 -0
  102. data/lib/groupdocs_conversion_cloud/models/png_load_options.rb +214 -0
  103. data/lib/groupdocs_conversion_cloud/models/potm_convert_options.rb +281 -0
  104. data/lib/groupdocs_conversion_cloud/models/potm_load_options.rb +266 -0
  105. data/lib/groupdocs_conversion_cloud/models/potx_convert_options.rb +281 -0
  106. data/lib/groupdocs_conversion_cloud/models/potx_load_options.rb +266 -0
  107. data/lib/groupdocs_conversion_cloud/models/pps_convert_options.rb +281 -0
  108. data/lib/groupdocs_conversion_cloud/models/pps_load_options.rb +266 -0
  109. data/lib/groupdocs_conversion_cloud/models/ppsm_convert_options.rb +281 -0
  110. data/lib/groupdocs_conversion_cloud/models/ppsm_load_options.rb +266 -0
  111. data/lib/groupdocs_conversion_cloud/models/ppsx_convert_options.rb +281 -0
  112. data/lib/groupdocs_conversion_cloud/models/ppsx_load_options.rb +266 -0
  113. data/lib/groupdocs_conversion_cloud/models/ppt_convert_options.rb +281 -0
  114. data/lib/groupdocs_conversion_cloud/models/ppt_load_options.rb +266 -0
  115. data/lib/groupdocs_conversion_cloud/models/pptm_convert_options.rb +281 -0
  116. data/lib/groupdocs_conversion_cloud/models/pptm_load_options.rb +266 -0
  117. data/lib/groupdocs_conversion_cloud/models/pptx_convert_options.rb +281 -0
  118. data/lib/groupdocs_conversion_cloud/models/pptx_load_options.rb +266 -0
  119. data/lib/groupdocs_conversion_cloud/models/presentation_convert_options.rb +281 -0
  120. data/lib/groupdocs_conversion_cloud/models/presentation_load_options.rb +266 -0
  121. data/lib/groupdocs_conversion_cloud/models/psd_convert_options.rb +489 -0
  122. data/lib/groupdocs_conversion_cloud/models/psd_load_options.rb +214 -0
  123. data/lib/groupdocs_conversion_cloud/models/pst_load_options.rb +294 -0
  124. data/lib/groupdocs_conversion_cloud/models/rtf_convert_options.rb +341 -0
  125. data/lib/groupdocs_conversion_cloud/models/spreadsheet_convert_options.rb +296 -0
  126. data/lib/groupdocs_conversion_cloud/models/spreadsheet_load_options.rb +321 -0
  127. data/lib/groupdocs_conversion_cloud/models/stl_load_options.rb +246 -0
  128. data/lib/groupdocs_conversion_cloud/models/storage_exist.rb +219 -0
  129. data/lib/groupdocs_conversion_cloud/models/storage_file.rb +264 -0
  130. data/lib/groupdocs_conversion_cloud/models/stored_converted_result.rb +249 -0
  131. data/lib/groupdocs_conversion_cloud/models/supported_format.rb +226 -0
  132. data/lib/groupdocs_conversion_cloud/models/svg_convert_options.rb +331 -0
  133. data/lib/groupdocs_conversion_cloud/models/tif_convert_options.rb +408 -0
  134. data/lib/groupdocs_conversion_cloud/models/tif_load_options.rb +214 -0
  135. data/lib/groupdocs_conversion_cloud/models/tiff_convert_options.rb +408 -0
  136. data/lib/groupdocs_conversion_cloud/models/tiff_load_options.rb +214 -0
  137. data/lib/groupdocs_conversion_cloud/models/tsv_convert_options.rb +296 -0
  138. data/lib/groupdocs_conversion_cloud/models/tsv_load_options.rb +321 -0
  139. data/lib/groupdocs_conversion_cloud/models/txt_convert_options.rb +246 -0
  140. data/lib/groupdocs_conversion_cloud/models/txt_load_options.rb +302 -0
  141. data/lib/groupdocs_conversion_cloud/models/vdw_load_options.rb +214 -0
  142. data/lib/groupdocs_conversion_cloud/models/vdx_load_options.rb +214 -0
  143. data/lib/groupdocs_conversion_cloud/models/vsd_load_options.rb +214 -0
  144. data/lib/groupdocs_conversion_cloud/models/vsdm_load_options.rb +214 -0
  145. data/lib/groupdocs_conversion_cloud/models/vsdx_load_options.rb +214 -0
  146. data/lib/groupdocs_conversion_cloud/models/vss_load_options.rb +214 -0
  147. data/lib/groupdocs_conversion_cloud/models/vssm_load_options.rb +214 -0
  148. data/lib/groupdocs_conversion_cloud/models/vssx_load_options.rb +214 -0
  149. data/lib/groupdocs_conversion_cloud/models/vst_load_options.rb +214 -0
  150. data/lib/groupdocs_conversion_cloud/models/vstm_load_options.rb +214 -0
  151. data/lib/groupdocs_conversion_cloud/models/vstx_load_options.rb +214 -0
  152. data/lib/groupdocs_conversion_cloud/models/vsx_load_options.rb +214 -0
  153. data/lib/groupdocs_conversion_cloud/models/vtx_load_options.rb +214 -0
  154. data/lib/groupdocs_conversion_cloud/models/watermark_options.rb +364 -0
  155. data/lib/groupdocs_conversion_cloud/models/webp_convert_options.rb +376 -0
  156. data/lib/groupdocs_conversion_cloud/models/webp_load_options.rb +214 -0
  157. data/lib/groupdocs_conversion_cloud/models/wmf_convert_options.rb +361 -0
  158. data/lib/groupdocs_conversion_cloud/models/wmf_load_options.rb +214 -0
  159. data/lib/groupdocs_conversion_cloud/models/word_processing_convert_options.rb +326 -0
  160. data/lib/groupdocs_conversion_cloud/models/word_processing_load_options.rb +281 -0
  161. data/lib/groupdocs_conversion_cloud/models/xls2003_convert_options.rb +296 -0
  162. data/lib/groupdocs_conversion_cloud/models/xls2003_load_options.rb +321 -0
  163. data/lib/groupdocs_conversion_cloud/models/xls_convert_options.rb +296 -0
  164. data/lib/groupdocs_conversion_cloud/models/xls_load_options.rb +321 -0
  165. data/lib/groupdocs_conversion_cloud/models/xlsb_convert_options.rb +296 -0
  166. data/lib/groupdocs_conversion_cloud/models/xlsb_load_options.rb +321 -0
  167. data/lib/groupdocs_conversion_cloud/models/xlsm_convert_options.rb +296 -0
  168. data/lib/groupdocs_conversion_cloud/models/xlsm_load_options.rb +321 -0
  169. data/lib/groupdocs_conversion_cloud/models/xlsx_convert_options.rb +296 -0
  170. data/lib/groupdocs_conversion_cloud/models/xlsx_load_options.rb +321 -0
  171. data/lib/groupdocs_conversion_cloud/models/xltm_convert_options.rb +296 -0
  172. data/lib/groupdocs_conversion_cloud/models/xltm_load_options.rb +321 -0
  173. data/lib/groupdocs_conversion_cloud/models/xltx_convert_options.rb +296 -0
  174. data/lib/groupdocs_conversion_cloud/models/xltx_load_options.rb +321 -0
  175. data/lib/groupdocs_conversion_cloud/models/xml_load_options.rb +230 -0
  176. data/lib/groupdocs_conversion_cloud/models/xps_convert_options.rb +386 -0
  177. data/lib/groupdocs_conversion_cloud/version.rb +29 -0
  178. metadata +288 -0
@@ -0,0 +1,489 @@
1
+ #
2
+ # --------------------------------------------------------------------------------------------------------------------
3
+ # <copyright company="Aspose Pty Ltd" file="psd_convert_options.rb">
4
+ # Copyright (c) 2003-2019 Aspose Pty Ltd
5
+ # </copyright>
6
+ # <summary>
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"), to deal
9
+ # in the Software without restriction, including without limitation the rights
10
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ # copies of the Software, and to permit persons to whom the Software is
12
+ # furnished to do so, subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be included in all
15
+ # copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ # SOFTWARE.
24
+ # </summary>
25
+ # --------------------------------------------------------------------------------------------------------------------
26
+ #
27
+
28
+ require 'date'
29
+
30
+ module GroupDocsConversionCloud
31
+ # Psd convert options
32
+ class PsdConvertOptions
33
+
34
+ # Start conversion from FromPage page
35
+ attr_accessor :from_page
36
+
37
+ # Number of pages to convert
38
+ attr_accessor :pages_count
39
+
40
+ # Convert specific pages. The list contains the page indexes of the pages to be converted
41
+ attr_accessor :pages
42
+
43
+ # Desired image width after conversion
44
+ attr_accessor :width
45
+
46
+ # Desired image height after conversion
47
+ attr_accessor :height
48
+
49
+ # Desired image horizontal resolution after conversion. The default resolution is the resolution of the input file or 96dpi
50
+ attr_accessor :horizontal_resolution
51
+
52
+ # Desired image vertical resolution after conversion. The default resolution is the resolution of the input file or 96dpi
53
+ attr_accessor :vertical_resolution
54
+
55
+ # Convert to grayscale image
56
+ attr_accessor :grayscale
57
+
58
+ # Image rotation angle
59
+ attr_accessor :rotate_angle
60
+
61
+ # If true, the input firstly is converted to PDF and after that to desired format
62
+ attr_accessor :use_pdf
63
+
64
+ # Watermark specific options
65
+ attr_accessor :watermark_options
66
+
67
+ # Bits count per color channel
68
+ attr_accessor :channel_bits_count
69
+
70
+ # Color channels count
71
+ attr_accessor :channels_count
72
+
73
+ # Psd color mode
74
+ attr_accessor :color_mode
75
+
76
+ # Psd compression method
77
+ attr_accessor :compression_method
78
+
79
+ # Psd file version
80
+ attr_accessor :version
81
+ class EnumAttributeValidator
82
+ attr_reader :datatype
83
+ attr_reader :allowable_values
84
+
85
+ def initialize(datatype, allowable_values)
86
+ @allowable_values = allowable_values.map do |value|
87
+ case datatype.to_s
88
+ when /Integer/i
89
+ value.to_i
90
+ when /Float/i
91
+ value.to_f
92
+ else
93
+ value
94
+ end
95
+ end
96
+ end
97
+
98
+ def valid?(value)
99
+ !value || allowable_values.include?(value)
100
+ end
101
+ end
102
+
103
+ # Attribute mapping from ruby-style variable name to JSON key.
104
+ def self.attribute_map
105
+ {
106
+ :'from_page' => :'FromPage',
107
+ :'pages_count' => :'PagesCount',
108
+ :'pages' => :'Pages',
109
+ :'width' => :'Width',
110
+ :'height' => :'Height',
111
+ :'horizontal_resolution' => :'HorizontalResolution',
112
+ :'vertical_resolution' => :'VerticalResolution',
113
+ :'grayscale' => :'Grayscale',
114
+ :'rotate_angle' => :'RotateAngle',
115
+ :'use_pdf' => :'UsePdf',
116
+ :'watermark_options' => :'WatermarkOptions',
117
+ :'channel_bits_count' => :'ChannelBitsCount',
118
+ :'channels_count' => :'ChannelsCount',
119
+ :'color_mode' => :'ColorMode',
120
+ :'compression_method' => :'CompressionMethod',
121
+ :'version' => :'Version'
122
+ }
123
+ end
124
+
125
+ # Attribute type mapping.
126
+ def self.swagger_types
127
+ {
128
+ :'from_page' => :'Integer',
129
+ :'pages_count' => :'Integer',
130
+ :'pages' => :'Array<Integer>',
131
+ :'width' => :'Integer',
132
+ :'height' => :'Integer',
133
+ :'horizontal_resolution' => :'Integer',
134
+ :'vertical_resolution' => :'Integer',
135
+ :'grayscale' => :'BOOLEAN',
136
+ :'rotate_angle' => :'Integer',
137
+ :'use_pdf' => :'BOOLEAN',
138
+ :'watermark_options' => :'WatermarkOptions',
139
+ :'channel_bits_count' => :'Integer',
140
+ :'channels_count' => :'Integer',
141
+ :'color_mode' => :'String',
142
+ :'compression_method' => :'String',
143
+ :'version' => :'Integer'
144
+ }
145
+ end
146
+
147
+ # Initializes the object
148
+ # @param [Hash] attributes Model attributes in the form of hash
149
+ def initialize(attributes = {})
150
+ return unless attributes.is_a?(Hash)
151
+
152
+ # convert string to symbol for hash key
153
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
154
+
155
+ if attributes.key?(:'FromPage')
156
+ self.from_page = attributes[:'FromPage']
157
+ end
158
+
159
+ if attributes.key?(:'PagesCount')
160
+ self.pages_count = attributes[:'PagesCount']
161
+ end
162
+
163
+ if attributes.key?(:'Pages')
164
+ if (value = attributes[:'Pages']).is_a?(Array)
165
+ self.pages = value
166
+ end
167
+ end
168
+
169
+ if attributes.key?(:'Width')
170
+ self.width = attributes[:'Width']
171
+ end
172
+
173
+ if attributes.key?(:'Height')
174
+ self.height = attributes[:'Height']
175
+ end
176
+
177
+ if attributes.key?(:'HorizontalResolution')
178
+ self.horizontal_resolution = attributes[:'HorizontalResolution']
179
+ end
180
+
181
+ if attributes.key?(:'VerticalResolution')
182
+ self.vertical_resolution = attributes[:'VerticalResolution']
183
+ end
184
+
185
+ if attributes.key?(:'Grayscale')
186
+ self.grayscale = attributes[:'Grayscale']
187
+ end
188
+
189
+ if attributes.key?(:'RotateAngle')
190
+ self.rotate_angle = attributes[:'RotateAngle']
191
+ end
192
+
193
+ if attributes.key?(:'UsePdf')
194
+ self.use_pdf = attributes[:'UsePdf']
195
+ end
196
+
197
+ if attributes.key?(:'WatermarkOptions')
198
+ self.watermark_options = attributes[:'WatermarkOptions']
199
+ end
200
+
201
+ if attributes.key?(:'ChannelBitsCount')
202
+ self.channel_bits_count = attributes[:'ChannelBitsCount']
203
+ end
204
+
205
+ if attributes.key?(:'ChannelsCount')
206
+ self.channels_count = attributes[:'ChannelsCount']
207
+ end
208
+
209
+ if attributes.key?(:'ColorMode')
210
+ self.color_mode = attributes[:'ColorMode']
211
+ end
212
+
213
+ if attributes.key?(:'CompressionMethod')
214
+ self.compression_method = attributes[:'CompressionMethod']
215
+ end
216
+
217
+ if attributes.key?(:'Version')
218
+ self.version = attributes[:'Version']
219
+ end
220
+
221
+ end
222
+
223
+ # Show invalid properties with the reasons. Usually used together with valid?
224
+ # @return Array for valid properies with the reasons
225
+ def list_invalid_properties
226
+ invalid_properties = []
227
+ if @from_page.nil?
228
+ invalid_properties.push("invalid value for 'from_page', from_page cannot be nil.")
229
+ end
230
+
231
+ if @pages_count.nil?
232
+ invalid_properties.push("invalid value for 'pages_count', pages_count cannot be nil.")
233
+ end
234
+
235
+ if @width.nil?
236
+ invalid_properties.push("invalid value for 'width', width cannot be nil.")
237
+ end
238
+
239
+ if @height.nil?
240
+ invalid_properties.push("invalid value for 'height', height cannot be nil.")
241
+ end
242
+
243
+ if @horizontal_resolution.nil?
244
+ invalid_properties.push("invalid value for 'horizontal_resolution', horizontal_resolution cannot be nil.")
245
+ end
246
+
247
+ if @vertical_resolution.nil?
248
+ invalid_properties.push("invalid value for 'vertical_resolution', vertical_resolution cannot be nil.")
249
+ end
250
+
251
+ if @grayscale.nil?
252
+ invalid_properties.push("invalid value for 'grayscale', grayscale cannot be nil.")
253
+ end
254
+
255
+ if @rotate_angle.nil?
256
+ invalid_properties.push("invalid value for 'rotate_angle', rotate_angle cannot be nil.")
257
+ end
258
+
259
+ if @use_pdf.nil?
260
+ invalid_properties.push("invalid value for 'use_pdf', use_pdf cannot be nil.")
261
+ end
262
+
263
+ if @channel_bits_count.nil?
264
+ invalid_properties.push("invalid value for 'channel_bits_count', channel_bits_count cannot be nil.")
265
+ end
266
+
267
+ if @channels_count.nil?
268
+ invalid_properties.push("invalid value for 'channels_count', channels_count cannot be nil.")
269
+ end
270
+
271
+ if @color_mode.nil?
272
+ invalid_properties.push("invalid value for 'color_mode', color_mode cannot be nil.")
273
+ end
274
+
275
+ if @compression_method.nil?
276
+ invalid_properties.push("invalid value for 'compression_method', compression_method cannot be nil.")
277
+ end
278
+
279
+ if @version.nil?
280
+ invalid_properties.push("invalid value for 'version', version cannot be nil.")
281
+ end
282
+
283
+ return invalid_properties
284
+ end
285
+
286
+ # Check to see if the all the properties in the model are valid
287
+ # @return true if the model is valid
288
+ def valid?
289
+ return false if @from_page.nil?
290
+ return false if @pages_count.nil?
291
+ return false if @width.nil?
292
+ return false if @height.nil?
293
+ return false if @horizontal_resolution.nil?
294
+ return false if @vertical_resolution.nil?
295
+ return false if @grayscale.nil?
296
+ return false if @rotate_angle.nil?
297
+ return false if @use_pdf.nil?
298
+ return false if @channel_bits_count.nil?
299
+ return false if @channels_count.nil?
300
+ return false if @color_mode.nil?
301
+ color_mode_validator = EnumAttributeValidator.new('String', ["Bitmap", "Grayscale", "Indexed", "Rgb", "Cmyk", "Multichannel", "Duotone", "Lab"])
302
+ return false unless color_mode_validator.valid?(@color_mode)
303
+ return false if @compression_method.nil?
304
+ compression_method_validator = EnumAttributeValidator.new('String', ["Raw", "Rle", "ZipWithoutPrediction", "ZipWithPrediction"])
305
+ return false unless compression_method_validator.valid?(@compression_method)
306
+ return false if @version.nil?
307
+ return true
308
+ end
309
+
310
+ # Custom attribute writer method checking allowed values (enum).
311
+ # @param [Object] color_mode Object to be assigned
312
+ def color_mode=(color_mode)
313
+ validator = EnumAttributeValidator.new('String', ["Bitmap", "Grayscale", "Indexed", "Rgb", "Cmyk", "Multichannel", "Duotone", "Lab"])
314
+ if color_mode.to_i == 0
315
+ unless validator.valid?(color_mode)
316
+ raise ArgumentError, "invalid value for 'color_mode', must be one of #{validator.allowable_values}."
317
+ end
318
+ @color_mode = color_mode
319
+ else
320
+ @color_mode = validator.allowable_values[color_mode.to_i]
321
+ end
322
+ end
323
+
324
+ # Custom attribute writer method checking allowed values (enum).
325
+ # @param [Object] compression_method Object to be assigned
326
+ def compression_method=(compression_method)
327
+ validator = EnumAttributeValidator.new('String', ["Raw", "Rle", "ZipWithoutPrediction", "ZipWithPrediction"])
328
+ if compression_method.to_i == 0
329
+ unless validator.valid?(compression_method)
330
+ raise ArgumentError, "invalid value for 'compression_method', must be one of #{validator.allowable_values}."
331
+ end
332
+ @compression_method = compression_method
333
+ else
334
+ @compression_method = validator.allowable_values[compression_method.to_i]
335
+ end
336
+ end
337
+
338
+ # Checks equality by comparing each attribute.
339
+ # @param [Object] Object to be compared
340
+ def ==(other)
341
+ return true if self.equal?(other)
342
+ self.class == other.class &&
343
+ from_page == other.from_page &&
344
+ pages_count == other.pages_count &&
345
+ pages == other.pages &&
346
+ width == other.width &&
347
+ height == other.height &&
348
+ horizontal_resolution == other.horizontal_resolution &&
349
+ vertical_resolution == other.vertical_resolution &&
350
+ grayscale == other.grayscale &&
351
+ rotate_angle == other.rotate_angle &&
352
+ use_pdf == other.use_pdf &&
353
+ watermark_options == other.watermark_options &&
354
+ channel_bits_count == other.channel_bits_count &&
355
+ channels_count == other.channels_count &&
356
+ color_mode == other.color_mode &&
357
+ compression_method == other.compression_method &&
358
+ version == other.version
359
+ end
360
+
361
+ # @see the `==` method
362
+ # @param [Object] Object to be compared
363
+ def eql?(other)
364
+ self == other
365
+ end
366
+
367
+ # Calculates hash code according to all attributes.
368
+ # @return [Fixnum] Hash code
369
+ def hash
370
+ [from_page, pages_count, pages, width, height, horizontal_resolution, vertical_resolution, grayscale, rotate_angle, use_pdf, watermark_options, channel_bits_count, channels_count, color_mode, compression_method, version].hash
371
+ end
372
+
373
+ # Downcases first letter.
374
+ # @return downcased string
375
+ def uncap(str)
376
+ str[0, 1].downcase + str[1..-1]
377
+ end
378
+
379
+ # Builds the object from hash
380
+ # @param [Hash] attributes Model attributes in the form of hash
381
+ # @return [Object] Returns the model itself
382
+ def build_from_hash(attributes)
383
+ return nil unless attributes.is_a?(Hash)
384
+ self.class.swagger_types.each_pair do |key, type|
385
+ pname = uncap(self.class.attribute_map[key]).intern
386
+ value = attributes[pname]
387
+ if type =~ /\AArray<(.*)>/i
388
+ # check to ensure the input is an array given that the the attribute
389
+ # is documented as an array but the input is not
390
+ if value.is_a?(Array)
391
+ self.send("#{key}=", value.map { |v| _deserialize($1, v) })
392
+ end
393
+ elsif !value.nil?
394
+ self.send("#{key}=", _deserialize(type, value))
395
+ end
396
+ # or else data not found in attributes(hash), not an issue as the data can be optional
397
+ end
398
+
399
+ self
400
+ end
401
+
402
+ # Deserializes the data based on type
403
+ # @param string type Data type
404
+ # @param string value Value to be deserialized
405
+ # @return [Object] Deserialized data
406
+ def _deserialize(type, value)
407
+ case type.to_sym
408
+ when :DateTime
409
+ Date.parse value
410
+ when :Date
411
+ Date.parse value
412
+ when :String
413
+ value.to_s
414
+ when :Integer
415
+ value.to_i
416
+ when :Float
417
+ value.to_f
418
+ when :BOOLEAN
419
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
420
+ true
421
+ else
422
+ false
423
+ end
424
+ when :Object
425
+ # generic object (usually a Hash), return directly
426
+ value
427
+ when /\AArray<(?<inner_type>.+)>\z/
428
+ inner_type = Regexp.last_match[:inner_type]
429
+ value.map { |v| _deserialize(inner_type, v) }
430
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
431
+ k_type = Regexp.last_match[:k_type]
432
+ v_type = Regexp.last_match[:v_type]
433
+ {}.tap do |hash|
434
+ value.each do |k, v|
435
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
436
+ end
437
+ end
438
+ else
439
+ # model
440
+ temp_model = GroupDocsConversionCloud.const_get(type).new
441
+ temp_model.build_from_hash(value)
442
+ end
443
+ end
444
+
445
+ # Returns the string representation of the object
446
+ # @return [String] String presentation of the object
447
+ def to_s
448
+ to_hash.to_s
449
+ end
450
+
451
+ # to_body is an alias to to_hash (backward compatibility)
452
+ # @return [Hash] Returns the object in the form of hash
453
+ def to_body
454
+ to_hash
455
+ end
456
+
457
+ # Returns the object in the form of hash
458
+ # @return [Hash] Returns the object in the form of hash
459
+ def to_hash
460
+ hash = {}
461
+ self.class.attribute_map.each_pair do |attr, param|
462
+ value = self.send(attr)
463
+ next if value.nil?
464
+ hash[param] = _to_hash(value)
465
+ end
466
+ hash
467
+ end
468
+
469
+ # Outputs non-array value in the form of hash
470
+ # For object, use to_hash. Otherwise, just return the value
471
+ # @param [Object] value Any valid value
472
+ # @return [Hash] Returns the value in the form of hash
473
+ def _to_hash(value)
474
+ if value.is_a?(Array)
475
+ value.compact.map { |v| _to_hash(v) }
476
+ elsif value.is_a?(Hash)
477
+ {}.tap do |hash|
478
+ value.each { |k, v| hash[k] = _to_hash(v) }
479
+ end
480
+ elsif value.respond_to? :to_hash
481
+ value.to_hash
482
+ else
483
+ value
484
+ end
485
+ end
486
+
487
+ end
488
+
489
+ end