Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
8224 manish.sha 1
/******************************************************************************* 
2
 *  Copyright 2009 Amazon Services.
3
 *  Licensed under the Apache License, Version 2.0 (the "License"); 
4
 *  
5
 *  You may not use this file except in compliance with the License. 
6
 *  You may obtain a copy of the License at: http://aws.amazon.com/apache2.0
7
 *  This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 
8
 *  CONDITIONS OF ANY KIND, either express or implied. See the License for the 
9
 *  specific language governing permissions and limitations under the License.
10
 * ***************************************************************************** 
11
 *
12
 *  Marketplace Web Service Java Library
13
 *  API Version: 2009-01-01
14
 *  Generated: Wed Feb 18 13:28:48 PST 2009 
15
 * 
16
 */
17
 
18
 
19
 
20
package com.amazonaws.mws;
21
 
22
import com.amazonaws.mws.model.*;
23
 
24
import java.util.concurrent.Future;
25
 
26
 
27
 
28
/**
29
 * The Amazon Marketplace Web Service contain APIs for inventory and order management.
30
 * 
31
 * 
32
 */
33
public interface  MarketplaceWebService {
34
 
35
 
36
 
37
    /**
38
     * Get Report 
39
     *
40
     * The GetReport operation returns the contents of a report. Reports can potentially be
41
     * very large (>100MB) which is why we only return one report at a time, and in a
42
     * streaming fashion.
43
     *   
44
     * @param request
45
     *          GetReport Action
46
     * @return
47
     *          GetReport Response from the service
48
     *
49
     * @throws MarketplaceWebServiceException
50
     */
51
    public GetReportResponse getReport(GetReportRequest request) throws MarketplaceWebServiceException;
52
 
53
    /**
54
     * Non-blocking Get Report 
55
     * <p/>
56
     * Returns <code>future</code> pointer to GetReportResponse
57
     * <p/>
58
     * If response is ready, call to <code>future.get()</code> 
59
     * will return GetReportResponse. 
60
     * <p/>
61
     * If response is not ready, call to <code>future.get()</code> will block the 
62
     * calling thread until response is returned. 
63
     * <p/>
64
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
65
     * <p/>
66
     * If service error has occured, MarketplaceWebServiceException can be extracted with
67
     * <code>exception.getCause()</code>
68
     * <p/>
69
     * Usage example for parallel processing:
70
     * <pre>
71
     *
72
     *  List&lt;Future&lt;GetReportResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;GetReportResponse&gt;&gt;();
73
     *  for (GetReportRequest request : requests) {
74
     *      responses.add(client.getReportAsync(request));
75
     *  }
76
     *  for (Future&lt;GetReportResponse&gt; future : responses) {
77
     *      while (!future.isDone()) {
78
     *          Thread.yield();
79
     *      }
80
     *      try {
81
     *          GetReportResponse response = future.get();
82
     *      // use response
83
     *      } catch (Exception e) {
84
     *          if (e instanceof MarketplaceWebServiceException) {
85
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
86
     *          // handle MarketplaceWebServiceException
87
     *          } else {
88
     *          // handle other exceptions
89
     *          }
90
     *      }
91
     *  }
92
     * </pre>
93
     *
94
     * @param request
95
     *          GetReportRequest request
96
     * @return Future&lt;GetReportResponse&gt; future pointer to GetReportResponse
97
     * 
98
     */
99
    public Future<GetReportResponse> getReportAsync(GetReportRequest request);
100
 
101
 
102
 
103
    /**
104
     * Get Report Schedule Count 
105
     *
106
     * returns the number of report schedules
107
     *   
108
     * @param request
109
     *          GetReportScheduleCount Action
110
     * @return
111
     *          GetReportScheduleCount Response from the service
112
     *
113
     * @throws MarketplaceWebServiceException
114
     */
115
    public GetReportScheduleCountResponse getReportScheduleCount(GetReportScheduleCountRequest request) throws MarketplaceWebServiceException;
116
 
117
    /**
118
     * Non-blocking Get Report Schedule Count 
119
     * <p/>
120
     * Returns <code>future</code> pointer to GetReportScheduleCountResponse
121
     * <p/>
122
     * If response is ready, call to <code>future.get()</code> 
123
     * will return GetReportScheduleCountResponse. 
124
     * <p/>
125
     * If response is not ready, call to <code>future.get()</code> will block the 
126
     * calling thread until response is returned. 
127
     * <p/>
128
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
129
     * <p/>
130
     * If service error has occured, MarketplaceWebServiceException can be extracted with
131
     * <code>exception.getCause()</code>
132
     * <p/>
133
     * Usage example for parallel processing:
134
     * <pre>
135
     *
136
     *  List&lt;Future&lt;GetReportScheduleCountResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;GetReportScheduleCountResponse&gt;&gt;();
137
     *  for (GetReportScheduleCountRequest request : requests) {
138
     *      responses.add(client.getReportScheduleCountAsync(request));
139
     *  }
140
     *  for (Future&lt;GetReportScheduleCountResponse&gt; future : responses) {
141
     *      while (!future.isDone()) {
142
     *          Thread.yield();
143
     *      }
144
     *      try {
145
     *          GetReportScheduleCountResponse response = future.get();
146
     *      // use response
147
     *      } catch (Exception e) {
148
     *          if (e instanceof MarketplaceWebServiceException) {
149
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
150
     *          // handle MarketplaceWebServiceException
151
     *          } else {
152
     *          // handle other exceptions
153
     *          }
154
     *      }
155
     *  }
156
     * </pre>
157
     *
158
     * @param request
159
     *          GetReportScheduleCountRequest request
160
     * @return Future&lt;GetReportScheduleCountResponse&gt; future pointer to GetReportScheduleCountResponse
161
     * 
162
     */
163
    public Future<GetReportScheduleCountResponse> getReportScheduleCountAsync(GetReportScheduleCountRequest request);
164
 
165
 
166
 
167
    /**
168
     * Get Report Request List By Next Token 
169
     *
170
     * retrieve the next batch of list items and if there are more items to retrieve
171
     *   
172
     * @param request
173
     *          GetReportRequestListByNextToken Action
174
     * @return
175
     *          GetReportRequestListByNextToken Response from the service
176
     *
177
     * @throws MarketplaceWebServiceException
178
     */
179
    public GetReportRequestListByNextTokenResponse getReportRequestListByNextToken(GetReportRequestListByNextTokenRequest request) throws MarketplaceWebServiceException;
180
 
181
    /**
182
     * Non-blocking Get Report Request List By Next Token 
183
     * <p/>
184
     * Returns <code>future</code> pointer to GetReportRequestListByNextTokenResponse
185
     * <p/>
186
     * If response is ready, call to <code>future.get()</code> 
187
     * will return GetReportRequestListByNextTokenResponse. 
188
     * <p/>
189
     * If response is not ready, call to <code>future.get()</code> will block the 
190
     * calling thread until response is returned. 
191
     * <p/>
192
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
193
     * <p/>
194
     * If service error has occured, MarketplaceWebServiceException can be extracted with
195
     * <code>exception.getCause()</code>
196
     * <p/>
197
     * Usage example for parallel processing:
198
     * <pre>
199
     *
200
     *  List&lt;Future&lt;GetReportRequestListByNextTokenResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;GetReportRequestListByNextTokenResponse&gt;&gt;();
201
     *  for (GetReportRequestListByNextTokenRequest request : requests) {
202
     *      responses.add(client.getReportRequestListByNextTokenAsync(request));
203
     *  }
204
     *  for (Future&lt;GetReportRequestListByNextTokenResponse&gt; future : responses) {
205
     *      while (!future.isDone()) {
206
     *          Thread.yield();
207
     *      }
208
     *      try {
209
     *          GetReportRequestListByNextTokenResponse response = future.get();
210
     *      // use response
211
     *      } catch (Exception e) {
212
     *          if (e instanceof MarketplaceWebServiceException) {
213
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
214
     *          // handle MarketplaceWebServiceException
215
     *          } else {
216
     *          // handle other exceptions
217
     *          }
218
     *      }
219
     *  }
220
     * </pre>
221
     *
222
     * @param request
223
     *          GetReportRequestListByNextTokenRequest request
224
     * @return Future&lt;GetReportRequestListByNextTokenResponse&gt; future pointer to GetReportRequestListByNextTokenResponse
225
     * 
226
     */
227
    public Future<GetReportRequestListByNextTokenResponse> getReportRequestListByNextTokenAsync(GetReportRequestListByNextTokenRequest request);
228
 
229
 
230
 
231
    /**
232
     * Update Report Acknowledgements 
233
     *
234
     * The UpdateReportAcknowledgements operation updates the acknowledged status of one or more reports.
235
     *   
236
     * @param request
237
     *          UpdateReportAcknowledgements Action
238
     * @return
239
     *          UpdateReportAcknowledgements Response from the service
240
     *
241
     * @throws MarketplaceWebServiceException
242
     */
243
    public UpdateReportAcknowledgementsResponse updateReportAcknowledgements(UpdateReportAcknowledgementsRequest request) throws MarketplaceWebServiceException;
244
 
245
    /**
246
     * Non-blocking Update Report Acknowledgements 
247
     * <p/>
248
     * Returns <code>future</code> pointer to UpdateReportAcknowledgementsResponse
249
     * <p/>
250
     * If response is ready, call to <code>future.get()</code> 
251
     * will return UpdateReportAcknowledgementsResponse. 
252
     * <p/>
253
     * If response is not ready, call to <code>future.get()</code> will block the 
254
     * calling thread until response is returned. 
255
     * <p/>
256
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
257
     * <p/>
258
     * If service error has occured, MarketplaceWebServiceException can be extracted with
259
     * <code>exception.getCause()</code>
260
     * <p/>
261
     * Usage example for parallel processing:
262
     * <pre>
263
     *
264
     *  List&lt;Future&lt;UpdateReportAcknowledgementsResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;UpdateReportAcknowledgementsResponse&gt;&gt;();
265
     *  for (UpdateReportAcknowledgementsRequest request : requests) {
266
     *      responses.add(client.updateReportAcknowledgementsAsync(request));
267
     *  }
268
     *  for (Future&lt;UpdateReportAcknowledgementsResponse&gt; future : responses) {
269
     *      while (!future.isDone()) {
270
     *          Thread.yield();
271
     *      }
272
     *      try {
273
     *          UpdateReportAcknowledgementsResponse response = future.get();
274
     *      // use response
275
     *      } catch (Exception e) {
276
     *          if (e instanceof MarketplaceWebServiceException) {
277
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
278
     *          // handle MarketplaceWebServiceException
279
     *          } else {
280
     *          // handle other exceptions
281
     *          }
282
     *      }
283
     *  }
284
     * </pre>
285
     *
286
     * @param request
287
     *          UpdateReportAcknowledgementsRequest request
288
     * @return Future&lt;UpdateReportAcknowledgementsResponse&gt; future pointer to UpdateReportAcknowledgementsResponse
289
     * 
290
     */
291
    public Future<UpdateReportAcknowledgementsResponse> updateReportAcknowledgementsAsync(UpdateReportAcknowledgementsRequest request);
292
 
293
 
294
 
295
    /**
296
     * Submit Feed 
297
     *
298
     * Uploads a file for processing together with the necessary
299
     * metadata to process the file, such as which type of feed it is.
300
     * PurgeAndReplace if true means that your existing e.g. inventory is
301
     * wiped out and replace with the contents of this feed - use with
302
     * caution (the default is false).
303
     *   
304
     * @param request
305
     *          SubmitFeed Action
306
     * @return
307
     *          SubmitFeed Response from the service
308
     *
309
     * @throws MarketplaceWebServiceException
310
     */
311
    public SubmitFeedResponse submitFeed(SubmitFeedRequest request) throws MarketplaceWebServiceException;
312
 
313
    /**
314
     * Non-blocking Submit Feed 
315
     * <p/>
316
     * Returns <code>future</code> pointer to SubmitFeedResponse
317
     * <p/>
318
     * If response is ready, call to <code>future.get()</code> 
319
     * will return SubmitFeedResponse. 
320
     * <p/>
321
     * If response is not ready, call to <code>future.get()</code> will block the 
322
     * calling thread until response is returned. 
323
     * <p/>
324
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
325
     * <p/>
326
     * If service error has occured, MarketplaceWebServiceException can be extracted with
327
     * <code>exception.getCause()</code>
328
     * <p/>
329
     * Usage example for parallel processing:
330
     * <pre>
331
     *
332
     *  List&lt;Future&lt;SubmitFeedResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;SubmitFeedResponse&gt;&gt;();
333
     *  for (SubmitFeedRequest request : requests) {
334
     *      responses.add(client.submitFeedAsync(request));
335
     *  }
336
     *  for (Future&lt;SubmitFeedResponse&gt; future : responses) {
337
     *      while (!future.isDone()) {
338
     *          Thread.yield();
339
     *      }
340
     *      try {
341
     *          SubmitFeedResponse response = future.get();
342
     *      // use response
343
     *      } catch (Exception e) {
344
     *          if (e instanceof MarketplaceWebServiceException) {
345
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
346
     *          // handle MarketplaceWebServiceException
347
     *          } else {
348
     *          // handle other exceptions
349
     *          }
350
     *      }
351
     *  }
352
     * </pre>
353
     *
354
     * @param request
355
     *          SubmitFeedRequest request
356
     * @return Future&lt;SubmitFeedResponse&gt; future pointer to SubmitFeedResponse
357
     * 
358
     */
359
    public Future<SubmitFeedResponse> submitFeedAsync(SubmitFeedRequest request);
360
 
361
 
362
 
363
    /**
364
     * Get Report Count 
365
     *
366
     * returns a count of reports matching your criteria;
367
     * by default, the number of reports generated in the last 90 days,
368
     * regardless of acknowledgement status
369
     *   
370
     * @param request
371
     *          GetReportCount Action
372
     * @return
373
     *          GetReportCount Response from the service
374
     *
375
     * @throws MarketplaceWebServiceException
376
     */
377
    public GetReportCountResponse getReportCount(GetReportCountRequest request) throws MarketplaceWebServiceException;
378
 
379
    /**
380
     * Non-blocking Get Report Count 
381
     * <p/>
382
     * Returns <code>future</code> pointer to GetReportCountResponse
383
     * <p/>
384
     * If response is ready, call to <code>future.get()</code> 
385
     * will return GetReportCountResponse. 
386
     * <p/>
387
     * If response is not ready, call to <code>future.get()</code> will block the 
388
     * calling thread until response is returned. 
389
     * <p/>
390
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
391
     * <p/>
392
     * If service error has occured, MarketplaceWebServiceException can be extracted with
393
     * <code>exception.getCause()</code>
394
     * <p/>
395
     * Usage example for parallel processing:
396
     * <pre>
397
     *
398
     *  List&lt;Future&lt;GetReportCountResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;GetReportCountResponse&gt;&gt;();
399
     *  for (GetReportCountRequest request : requests) {
400
     *      responses.add(client.getReportCountAsync(request));
401
     *  }
402
     *  for (Future&lt;GetReportCountResponse&gt; future : responses) {
403
     *      while (!future.isDone()) {
404
     *          Thread.yield();
405
     *      }
406
     *      try {
407
     *          GetReportCountResponse response = future.get();
408
     *      // use response
409
     *      } catch (Exception e) {
410
     *          if (e instanceof MarketplaceWebServiceException) {
411
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
412
     *          // handle MarketplaceWebServiceException
413
     *          } else {
414
     *          // handle other exceptions
415
     *          }
416
     *      }
417
     *  }
418
     * </pre>
419
     *
420
     * @param request
421
     *          GetReportCountRequest request
422
     * @return Future&lt;GetReportCountResponse&gt; future pointer to GetReportCountResponse
423
     * 
424
     */
425
    public Future<GetReportCountResponse> getReportCountAsync(GetReportCountRequest request);
426
 
427
 
428
 
429
    /**
430
     * Get Feed Submission List By Next Token 
431
     *
432
     * retrieve the next batch of list items and if there are more items to retrieve
433
     *   
434
     * @param request
435
     *          GetFeedSubmissionListByNextToken Action
436
     * @return
437
     *          GetFeedSubmissionListByNextToken Response from the service
438
     *
439
     * @throws MarketplaceWebServiceException
440
     */
441
    public GetFeedSubmissionListByNextTokenResponse getFeedSubmissionListByNextToken(GetFeedSubmissionListByNextTokenRequest request) throws MarketplaceWebServiceException;
442
 
443
    /**
444
     * Non-blocking Get Feed Submission List By Next Token 
445
     * <p/>
446
     * Returns <code>future</code> pointer to GetFeedSubmissionListByNextTokenResponse
447
     * <p/>
448
     * If response is ready, call to <code>future.get()</code> 
449
     * will return GetFeedSubmissionListByNextTokenResponse. 
450
     * <p/>
451
     * If response is not ready, call to <code>future.get()</code> will block the 
452
     * calling thread until response is returned. 
453
     * <p/>
454
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
455
     * <p/>
456
     * If service error has occured, MarketplaceWebServiceException can be extracted with
457
     * <code>exception.getCause()</code>
458
     * <p/>
459
     * Usage example for parallel processing:
460
     * <pre>
461
     *
462
     *  List&lt;Future&lt;GetFeedSubmissionListByNextTokenResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;GetFeedSubmissionListByNextTokenResponse&gt;&gt;();
463
     *  for (GetFeedSubmissionListByNextTokenRequest request : requests) {
464
     *      responses.add(client.getFeedSubmissionListByNextTokenAsync(request));
465
     *  }
466
     *  for (Future&lt;GetFeedSubmissionListByNextTokenResponse&gt; future : responses) {
467
     *      while (!future.isDone()) {
468
     *          Thread.yield();
469
     *      }
470
     *      try {
471
     *          GetFeedSubmissionListByNextTokenResponse response = future.get();
472
     *      // use response
473
     *      } catch (Exception e) {
474
     *          if (e instanceof MarketplaceWebServiceException) {
475
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
476
     *          // handle MarketplaceWebServiceException
477
     *          } else {
478
     *          // handle other exceptions
479
     *          }
480
     *      }
481
     *  }
482
     * </pre>
483
     *
484
     * @param request
485
     *          GetFeedSubmissionListByNextTokenRequest request
486
     * @return Future&lt;GetFeedSubmissionListByNextTokenResponse&gt; future pointer to GetFeedSubmissionListByNextTokenResponse
487
     * 
488
     */
489
    public Future<GetFeedSubmissionListByNextTokenResponse> getFeedSubmissionListByNextTokenAsync(GetFeedSubmissionListByNextTokenRequest request);
490
 
491
 
492
 
493
    /**
494
     * Cancel Feed Submissions 
495
     *
496
     * cancels feed submissions - by default all of the submissions of the
497
     * last 30 days that have not started processing
498
     *   
499
     * @param request
500
     *          CancelFeedSubmissions Action
501
     * @return
502
     *          CancelFeedSubmissions Response from the service
503
     *
504
     * @throws MarketplaceWebServiceException
505
     */
506
    public CancelFeedSubmissionsResponse cancelFeedSubmissions(CancelFeedSubmissionsRequest request) throws MarketplaceWebServiceException;
507
 
508
    /**
509
     * Non-blocking Cancel Feed Submissions 
510
     * <p/>
511
     * Returns <code>future</code> pointer to CancelFeedSubmissionsResponse
512
     * <p/>
513
     * If response is ready, call to <code>future.get()</code> 
514
     * will return CancelFeedSubmissionsResponse. 
515
     * <p/>
516
     * If response is not ready, call to <code>future.get()</code> will block the 
517
     * calling thread until response is returned. 
518
     * <p/>
519
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
520
     * <p/>
521
     * If service error has occured, MarketplaceWebServiceException can be extracted with
522
     * <code>exception.getCause()</code>
523
     * <p/>
524
     * Usage example for parallel processing:
525
     * <pre>
526
     *
527
     *  List&lt;Future&lt;CancelFeedSubmissionsResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;CancelFeedSubmissionsResponse&gt;&gt;();
528
     *  for (CancelFeedSubmissionsRequest request : requests) {
529
     *      responses.add(client.cancelFeedSubmissionsAsync(request));
530
     *  }
531
     *  for (Future&lt;CancelFeedSubmissionsResponse&gt; future : responses) {
532
     *      while (!future.isDone()) {
533
     *          Thread.yield();
534
     *      }
535
     *      try {
536
     *          CancelFeedSubmissionsResponse response = future.get();
537
     *      // use response
538
     *      } catch (Exception e) {
539
     *          if (e instanceof MarketplaceWebServiceException) {
540
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
541
     *          // handle MarketplaceWebServiceException
542
     *          } else {
543
     *          // handle other exceptions
544
     *          }
545
     *      }
546
     *  }
547
     * </pre>
548
     *
549
     * @param request
550
     *          CancelFeedSubmissionsRequest request
551
     * @return Future&lt;CancelFeedSubmissionsResponse&gt; future pointer to CancelFeedSubmissionsResponse
552
     * 
553
     */
554
    public Future<CancelFeedSubmissionsResponse> cancelFeedSubmissionsAsync(CancelFeedSubmissionsRequest request);
555
 
556
 
557
 
558
    /**
559
     * Request Report 
560
     *
561
     * requests the generation of a report
562
     *   
563
     * @param request
564
     *          RequestReport Action
565
     * @return
566
     *          RequestReport Response from the service
567
     *
568
     * @throws MarketplaceWebServiceException
569
     */
570
    public RequestReportResponse requestReport(RequestReportRequest request) throws MarketplaceWebServiceException;
571
 
572
    /**
573
     * Non-blocking Request Report 
574
     * <p/>
575
     * Returns <code>future</code> pointer to RequestReportResponse
576
     * <p/>
577
     * If response is ready, call to <code>future.get()</code> 
578
     * will return RequestReportResponse. 
579
     * <p/>
580
     * If response is not ready, call to <code>future.get()</code> will block the 
581
     * calling thread until response is returned. 
582
     * <p/>
583
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
584
     * <p/>
585
     * If service error has occured, MarketplaceWebServiceException can be extracted with
586
     * <code>exception.getCause()</code>
587
     * <p/>
588
     * Usage example for parallel processing:
589
     * <pre>
590
     *
591
     *  List&lt;Future&lt;RequestReportResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;RequestReportResponse&gt;&gt;();
592
     *  for (RequestReportRequest request : requests) {
593
     *      responses.add(client.requestReportAsync(request));
594
     *  }
595
     *  for (Future&lt;RequestReportResponse&gt; future : responses) {
596
     *      while (!future.isDone()) {
597
     *          Thread.yield();
598
     *      }
599
     *      try {
600
     *          RequestReportResponse response = future.get();
601
     *      // use response
602
     *      } catch (Exception e) {
603
     *          if (e instanceof MarketplaceWebServiceException) {
604
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
605
     *          // handle MarketplaceWebServiceException
606
     *          } else {
607
     *          // handle other exceptions
608
     *          }
609
     *      }
610
     *  }
611
     * </pre>
612
     *
613
     * @param request
614
     *          RequestReportRequest request
615
     * @return Future&lt;RequestReportResponse&gt; future pointer to RequestReportResponse
616
     * 
617
     */
618
    public Future<RequestReportResponse> requestReportAsync(RequestReportRequest request);
619
 
620
 
621
 
622
    /**
623
     * Get Feed Submission Count 
624
     *
625
     * returns the number of feeds matching all of the specified criteria
626
     *   
627
     * @param request
628
     *          GetFeedSubmissionCount Action
629
     * @return
630
     *          GetFeedSubmissionCount Response from the service
631
     *
632
     * @throws MarketplaceWebServiceException
633
     */
634
    public GetFeedSubmissionCountResponse getFeedSubmissionCount(GetFeedSubmissionCountRequest request) throws MarketplaceWebServiceException;
635
 
636
    /**
637
     * Non-blocking Get Feed Submission Count 
638
     * <p/>
639
     * Returns <code>future</code> pointer to GetFeedSubmissionCountResponse
640
     * <p/>
641
     * If response is ready, call to <code>future.get()</code> 
642
     * will return GetFeedSubmissionCountResponse. 
643
     * <p/>
644
     * If response is not ready, call to <code>future.get()</code> will block the 
645
     * calling thread until response is returned. 
646
     * <p/>
647
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
648
     * <p/>
649
     * If service error has occured, MarketplaceWebServiceException can be extracted with
650
     * <code>exception.getCause()</code>
651
     * <p/>
652
     * Usage example for parallel processing:
653
     * <pre>
654
     *
655
     *  List&lt;Future&lt;GetFeedSubmissionCountResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;GetFeedSubmissionCountResponse&gt;&gt;();
656
     *  for (GetFeedSubmissionCountRequest request : requests) {
657
     *      responses.add(client.getFeedSubmissionCountAsync(request));
658
     *  }
659
     *  for (Future&lt;GetFeedSubmissionCountResponse&gt; future : responses) {
660
     *      while (!future.isDone()) {
661
     *          Thread.yield();
662
     *      }
663
     *      try {
664
     *          GetFeedSubmissionCountResponse response = future.get();
665
     *      // use response
666
     *      } catch (Exception e) {
667
     *          if (e instanceof MarketplaceWebServiceException) {
668
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
669
     *          // handle MarketplaceWebServiceException
670
     *          } else {
671
     *          // handle other exceptions
672
     *          }
673
     *      }
674
     *  }
675
     * </pre>
676
     *
677
     * @param request
678
     *          GetFeedSubmissionCountRequest request
679
     * @return Future&lt;GetFeedSubmissionCountResponse&gt; future pointer to GetFeedSubmissionCountResponse
680
     * 
681
     */
682
    public Future<GetFeedSubmissionCountResponse> getFeedSubmissionCountAsync(GetFeedSubmissionCountRequest request);
683
 
684
 
685
 
686
    /**
687
     * Cancel Report Requests 
688
     *
689
     * cancels report requests that have not yet started processing,
690
     * by default all those within the last 90 days
691
     *   
692
     * @param request
693
     *          CancelReportRequests Action
694
     * @return
695
     *          CancelReportRequests Response from the service
696
     *
697
     * @throws MarketplaceWebServiceException
698
     */
699
    public CancelReportRequestsResponse cancelReportRequests(CancelReportRequestsRequest request) throws MarketplaceWebServiceException;
700
 
701
    /**
702
     * Non-blocking Cancel Report Requests 
703
     * <p/>
704
     * Returns <code>future</code> pointer to CancelReportRequestsResponse
705
     * <p/>
706
     * If response is ready, call to <code>future.get()</code> 
707
     * will return CancelReportRequestsResponse. 
708
     * <p/>
709
     * If response is not ready, call to <code>future.get()</code> will block the 
710
     * calling thread until response is returned. 
711
     * <p/>
712
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
713
     * <p/>
714
     * If service error has occured, MarketplaceWebServiceException can be extracted with
715
     * <code>exception.getCause()</code>
716
     * <p/>
717
     * Usage example for parallel processing:
718
     * <pre>
719
     *
720
     *  List&lt;Future&lt;CancelReportRequestsResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;CancelReportRequestsResponse&gt;&gt;();
721
     *  for (CancelReportRequestsRequest request : requests) {
722
     *      responses.add(client.cancelReportRequestsAsync(request));
723
     *  }
724
     *  for (Future&lt;CancelReportRequestsResponse&gt; future : responses) {
725
     *      while (!future.isDone()) {
726
     *          Thread.yield();
727
     *      }
728
     *      try {
729
     *          CancelReportRequestsResponse response = future.get();
730
     *      // use response
731
     *      } catch (Exception e) {
732
     *          if (e instanceof MarketplaceWebServiceException) {
733
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
734
     *          // handle MarketplaceWebServiceException
735
     *          } else {
736
     *          // handle other exceptions
737
     *          }
738
     *      }
739
     *  }
740
     * </pre>
741
     *
742
     * @param request
743
     *          CancelReportRequestsRequest request
744
     * @return Future&lt;CancelReportRequestsResponse&gt; future pointer to CancelReportRequestsResponse
745
     * 
746
     */
747
    public Future<CancelReportRequestsResponse> cancelReportRequestsAsync(CancelReportRequestsRequest request);
748
 
749
 
750
 
751
    /**
752
     * Get Report List 
753
     *
754
     * returns a list of reports; by default the most recent ten reports,
755
     * regardless of their acknowledgement status
756
     *   
757
     * @param request
758
     *          GetReportList Action
759
     * @return
760
     *          GetReportList Response from the service
761
     *
762
     * @throws MarketplaceWebServiceException
763
     */
764
    public GetReportListResponse getReportList(GetReportListRequest request) throws MarketplaceWebServiceException;
765
 
766
    /**
767
     * Non-blocking Get Report List 
768
     * <p/>
769
     * Returns <code>future</code> pointer to GetReportListResponse
770
     * <p/>
771
     * If response is ready, call to <code>future.get()</code> 
772
     * will return GetReportListResponse. 
773
     * <p/>
774
     * If response is not ready, call to <code>future.get()</code> will block the 
775
     * calling thread until response is returned. 
776
     * <p/>
777
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
778
     * <p/>
779
     * If service error has occured, MarketplaceWebServiceException can be extracted with
780
     * <code>exception.getCause()</code>
781
     * <p/>
782
     * Usage example for parallel processing:
783
     * <pre>
784
     *
785
     *  List&lt;Future&lt;GetReportListResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;GetReportListResponse&gt;&gt;();
786
     *  for (GetReportListRequest request : requests) {
787
     *      responses.add(client.getReportListAsync(request));
788
     *  }
789
     *  for (Future&lt;GetReportListResponse&gt; future : responses) {
790
     *      while (!future.isDone()) {
791
     *          Thread.yield();
792
     *      }
793
     *      try {
794
     *          GetReportListResponse response = future.get();
795
     *      // use response
796
     *      } catch (Exception e) {
797
     *          if (e instanceof MarketplaceWebServiceException) {
798
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
799
     *          // handle MarketplaceWebServiceException
800
     *          } else {
801
     *          // handle other exceptions
802
     *          }
803
     *      }
804
     *  }
805
     * </pre>
806
     *
807
     * @param request
808
     *          GetReportListRequest request
809
     * @return Future&lt;GetReportListResponse&gt; future pointer to GetReportListResponse
810
     * 
811
     */
812
    public Future<GetReportListResponse> getReportListAsync(GetReportListRequest request);
813
 
814
 
815
 
816
    /**
817
     * Get Feed Submission Result 
818
     *
819
     * retrieves the feed processing report
820
     *   
821
     * @param request
822
     *          GetFeedSubmissionResult Action
823
     * @return
824
     *          GetFeedSubmissionResult Response from the service
825
     *
826
     * @throws MarketplaceWebServiceException
827
     */
828
    public GetFeedSubmissionResultResponse getFeedSubmissionResult(GetFeedSubmissionResultRequest request) throws MarketplaceWebServiceException;
829
 
830
    /**
831
     * Non-blocking Get Feed Submission Result 
832
     * <p/>
833
     * Returns <code>future</code> pointer to GetFeedSubmissionResultResponse
834
     * <p/>
835
     * If response is ready, call to <code>future.get()</code> 
836
     * will return GetFeedSubmissionResultResponse. 
837
     * <p/>
838
     * If response is not ready, call to <code>future.get()</code> will block the 
839
     * calling thread until response is returned. 
840
     * <p/>
841
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
842
     * <p/>
843
     * If service error has occured, MarketplaceWebServiceException can be extracted with
844
     * <code>exception.getCause()</code>
845
     * <p/>
846
     * Usage example for parallel processing:
847
     * <pre>
848
     *
849
     *  List&lt;Future&lt;GetFeedSubmissionResultResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;GetFeedSubmissionResultResponse&gt;&gt;();
850
     *  for (GetFeedSubmissionResultRequest request : requests) {
851
     *      responses.add(client.getFeedSubmissionResultAsync(request));
852
     *  }
853
     *  for (Future&lt;GetFeedSubmissionResultResponse&gt; future : responses) {
854
     *      while (!future.isDone()) {
855
     *          Thread.yield();
856
     *      }
857
     *      try {
858
     *          GetFeedSubmissionResultResponse response = future.get();
859
     *      // use response
860
     *      } catch (Exception e) {
861
     *          if (e instanceof MarketplaceWebServiceException) {
862
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
863
     *          // handle MarketplaceWebServiceException
864
     *          } else {
865
     *          // handle other exceptions
866
     *          }
867
     *      }
868
     *  }
869
     * </pre>
870
     *
871
     * @param request
872
     *          GetFeedSubmissionResultRequest request
873
     * @return Future&lt;GetFeedSubmissionResultResponse&gt; future pointer to GetFeedSubmissionResultResponse
874
     * 
875
     */
876
    public Future<GetFeedSubmissionResultResponse> getFeedSubmissionResultAsync(GetFeedSubmissionResultRequest request);
877
 
878
 
879
 
880
    /**
881
     * Get Feed Submission List 
882
     *
883
     * returns a list of feed submission identifiers and their associated metadata
884
     *   
885
     * @param request
886
     *          GetFeedSubmissionList Action
887
     * @return
888
     *          GetFeedSubmissionList Response from the service
889
     *
890
     * @throws MarketplaceWebServiceException
891
     */
892
    public GetFeedSubmissionListResponse getFeedSubmissionList(GetFeedSubmissionListRequest request) throws MarketplaceWebServiceException;
893
 
894
    /**
895
     * Non-blocking Get Feed Submission List 
896
     * <p/>
897
     * Returns <code>future</code> pointer to GetFeedSubmissionListResponse
898
     * <p/>
899
     * If response is ready, call to <code>future.get()</code> 
900
     * will return GetFeedSubmissionListResponse. 
901
     * <p/>
902
     * If response is not ready, call to <code>future.get()</code> will block the 
903
     * calling thread until response is returned. 
904
     * <p/>
905
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
906
     * <p/>
907
     * If service error has occured, MarketplaceWebServiceException can be extracted with
908
     * <code>exception.getCause()</code>
909
     * <p/>
910
     * Usage example for parallel processing:
911
     * <pre>
912
     *
913
     *  List&lt;Future&lt;GetFeedSubmissionListResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;GetFeedSubmissionListResponse&gt;&gt;();
914
     *  for (GetFeedSubmissionListRequest request : requests) {
915
     *      responses.add(client.getFeedSubmissionListAsync(request));
916
     *  }
917
     *  for (Future&lt;GetFeedSubmissionListResponse&gt; future : responses) {
918
     *      while (!future.isDone()) {
919
     *          Thread.yield();
920
     *      }
921
     *      try {
922
     *          GetFeedSubmissionListResponse response = future.get();
923
     *      // use response
924
     *      } catch (Exception e) {
925
     *          if (e instanceof MarketplaceWebServiceException) {
926
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
927
     *          // handle MarketplaceWebServiceException
928
     *          } else {
929
     *          // handle other exceptions
930
     *          }
931
     *      }
932
     *  }
933
     * </pre>
934
     *
935
     * @param request
936
     *          GetFeedSubmissionListRequest request
937
     * @return Future&lt;GetFeedSubmissionListResponse&gt; future pointer to GetFeedSubmissionListResponse
938
     * 
939
     */
940
    public Future<GetFeedSubmissionListResponse> getFeedSubmissionListAsync(GetFeedSubmissionListRequest request);
941
 
942
 
943
 
944
    /**
945
     * Get Report Request List 
946
     *
947
     * returns a list of report requests ids and their associated metadata
948
     *   
949
     * @param request
950
     *          GetReportRequestList Action
951
     * @return
952
     *          GetReportRequestList Response from the service
953
     *
954
     * @throws MarketplaceWebServiceException
955
     */
956
    public GetReportRequestListResponse getReportRequestList(GetReportRequestListRequest request) throws MarketplaceWebServiceException;
957
 
958
    /**
959
     * Non-blocking Get Report Request List 
960
     * <p/>
961
     * Returns <code>future</code> pointer to GetReportRequestListResponse
962
     * <p/>
963
     * If response is ready, call to <code>future.get()</code> 
964
     * will return GetReportRequestListResponse. 
965
     * <p/>
966
     * If response is not ready, call to <code>future.get()</code> will block the 
967
     * calling thread until response is returned. 
968
     * <p/>
969
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
970
     * <p/>
971
     * If service error has occured, MarketplaceWebServiceException can be extracted with
972
     * <code>exception.getCause()</code>
973
     * <p/>
974
     * Usage example for parallel processing:
975
     * <pre>
976
     *
977
     *  List&lt;Future&lt;GetReportRequestListResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;GetReportRequestListResponse&gt;&gt;();
978
     *  for (GetReportRequestListRequest request : requests) {
979
     *      responses.add(client.getReportRequestListAsync(request));
980
     *  }
981
     *  for (Future&lt;GetReportRequestListResponse&gt; future : responses) {
982
     *      while (!future.isDone()) {
983
     *          Thread.yield();
984
     *      }
985
     *      try {
986
     *          GetReportRequestListResponse response = future.get();
987
     *      // use response
988
     *      } catch (Exception e) {
989
     *          if (e instanceof MarketplaceWebServiceException) {
990
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
991
     *          // handle MarketplaceWebServiceException
992
     *          } else {
993
     *          // handle other exceptions
994
     *          }
995
     *      }
996
     *  }
997
     * </pre>
998
     *
999
     * @param request
1000
     *          GetReportRequestListRequest request
1001
     * @return Future&lt;GetReportRequestListResponse&gt; future pointer to GetReportRequestListResponse
1002
     * 
1003
     */
1004
    public Future<GetReportRequestListResponse> getReportRequestListAsync(GetReportRequestListRequest request);
1005
 
1006
 
1007
 
1008
    /**
1009
     * Get Report Schedule List By Next Token 
1010
     *
1011
     * retrieve the next batch of list items and if there are more items to retrieve
1012
     *   
1013
     * @param request
1014
     *          GetReportScheduleListByNextToken Action
1015
     * @return
1016
     *          GetReportScheduleListByNextToken Response from the service
1017
     *
1018
     * @throws MarketplaceWebServiceException
1019
     */
1020
    public GetReportScheduleListByNextTokenResponse getReportScheduleListByNextToken(GetReportScheduleListByNextTokenRequest request) throws MarketplaceWebServiceException;
1021
 
1022
    /**
1023
     * Non-blocking Get Report Schedule List By Next Token 
1024
     * <p/>
1025
     * Returns <code>future</code> pointer to GetReportScheduleListByNextTokenResponse
1026
     * <p/>
1027
     * If response is ready, call to <code>future.get()</code> 
1028
     * will return GetReportScheduleListByNextTokenResponse. 
1029
     * <p/>
1030
     * If response is not ready, call to <code>future.get()</code> will block the 
1031
     * calling thread until response is returned. 
1032
     * <p/>
1033
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
1034
     * <p/>
1035
     * If service error has occured, MarketplaceWebServiceException can be extracted with
1036
     * <code>exception.getCause()</code>
1037
     * <p/>
1038
     * Usage example for parallel processing:
1039
     * <pre>
1040
     *
1041
     *  List&lt;Future&lt;GetReportScheduleListByNextTokenResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;GetReportScheduleListByNextTokenResponse&gt;&gt;();
1042
     *  for (GetReportScheduleListByNextTokenRequest request : requests) {
1043
     *      responses.add(client.getReportScheduleListByNextTokenAsync(request));
1044
     *  }
1045
     *  for (Future&lt;GetReportScheduleListByNextTokenResponse&gt; future : responses) {
1046
     *      while (!future.isDone()) {
1047
     *          Thread.yield();
1048
     *      }
1049
     *      try {
1050
     *          GetReportScheduleListByNextTokenResponse response = future.get();
1051
     *      // use response
1052
     *      } catch (Exception e) {
1053
     *          if (e instanceof MarketplaceWebServiceException) {
1054
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
1055
     *          // handle MarketplaceWebServiceException
1056
     *          } else {
1057
     *          // handle other exceptions
1058
     *          }
1059
     *      }
1060
     *  }
1061
     * </pre>
1062
     *
1063
     * @param request
1064
     *          GetReportScheduleListByNextTokenRequest request
1065
     * @return Future&lt;GetReportScheduleListByNextTokenResponse&gt; future pointer to GetReportScheduleListByNextTokenResponse
1066
     * 
1067
     */
1068
    public Future<GetReportScheduleListByNextTokenResponse> getReportScheduleListByNextTokenAsync(GetReportScheduleListByNextTokenRequest request);
1069
 
1070
 
1071
 
1072
    /**
1073
     * Get Report List By Next Token 
1074
     *
1075
     * retrieve the next batch of list items and if there are more items to retrieve
1076
     *   
1077
     * @param request
1078
     *          GetReportListByNextToken Action
1079
     * @return
1080
     *          GetReportListByNextToken Response from the service
1081
     *
1082
     * @throws MarketplaceWebServiceException
1083
     */
1084
    public GetReportListByNextTokenResponse getReportListByNextToken(GetReportListByNextTokenRequest request) throws MarketplaceWebServiceException;
1085
 
1086
    /**
1087
     * Non-blocking Get Report List By Next Token 
1088
     * <p/>
1089
     * Returns <code>future</code> pointer to GetReportListByNextTokenResponse
1090
     * <p/>
1091
     * If response is ready, call to <code>future.get()</code> 
1092
     * will return GetReportListByNextTokenResponse. 
1093
     * <p/>
1094
     * If response is not ready, call to <code>future.get()</code> will block the 
1095
     * calling thread until response is returned. 
1096
     * <p/>
1097
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
1098
     * <p/>
1099
     * If service error has occured, MarketplaceWebServiceException can be extracted with
1100
     * <code>exception.getCause()</code>
1101
     * <p/>
1102
     * Usage example for parallel processing:
1103
     * <pre>
1104
     *
1105
     *  List&lt;Future&lt;GetReportListByNextTokenResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;GetReportListByNextTokenResponse&gt;&gt;();
1106
     *  for (GetReportListByNextTokenRequest request : requests) {
1107
     *      responses.add(client.getReportListByNextTokenAsync(request));
1108
     *  }
1109
     *  for (Future&lt;GetReportListByNextTokenResponse&gt; future : responses) {
1110
     *      while (!future.isDone()) {
1111
     *          Thread.yield();
1112
     *      }
1113
     *      try {
1114
     *          GetReportListByNextTokenResponse response = future.get();
1115
     *      // use response
1116
     *      } catch (Exception e) {
1117
     *          if (e instanceof MarketplaceWebServiceException) {
1118
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
1119
     *          // handle MarketplaceWebServiceException
1120
     *          } else {
1121
     *          // handle other exceptions
1122
     *          }
1123
     *      }
1124
     *  }
1125
     * </pre>
1126
     *
1127
     * @param request
1128
     *          GetReportListByNextTokenRequest request
1129
     * @return Future&lt;GetReportListByNextTokenResponse&gt; future pointer to GetReportListByNextTokenResponse
1130
     * 
1131
     */
1132
    public Future<GetReportListByNextTokenResponse> getReportListByNextTokenAsync(GetReportListByNextTokenRequest request);
1133
 
1134
 
1135
 
1136
    /**
1137
     * Manage Report Schedule 
1138
     *
1139
     * Creates, updates, or deletes a report schedule
1140
     * for a given report type, such as order reports in particular.
1141
     *   
1142
     * @param request
1143
     *          ManageReportSchedule Action
1144
     * @return
1145
     *          ManageReportSchedule Response from the service
1146
     *
1147
     * @throws MarketplaceWebServiceException
1148
     */
1149
    public ManageReportScheduleResponse manageReportSchedule(ManageReportScheduleRequest request) throws MarketplaceWebServiceException;
1150
 
1151
    /**
1152
     * Non-blocking Manage Report Schedule 
1153
     * <p/>
1154
     * Returns <code>future</code> pointer to ManageReportScheduleResponse
1155
     * <p/>
1156
     * If response is ready, call to <code>future.get()</code> 
1157
     * will return ManageReportScheduleResponse. 
1158
     * <p/>
1159
     * If response is not ready, call to <code>future.get()</code> will block the 
1160
     * calling thread until response is returned. 
1161
     * <p/>
1162
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
1163
     * <p/>
1164
     * If service error has occured, MarketplaceWebServiceException can be extracted with
1165
     * <code>exception.getCause()</code>
1166
     * <p/>
1167
     * Usage example for parallel processing:
1168
     * <pre>
1169
     *
1170
     *  List&lt;Future&lt;ManageReportScheduleResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;ManageReportScheduleResponse&gt;&gt;();
1171
     *  for (ManageReportScheduleRequest request : requests) {
1172
     *      responses.add(client.manageReportScheduleAsync(request));
1173
     *  }
1174
     *  for (Future&lt;ManageReportScheduleResponse&gt; future : responses) {
1175
     *      while (!future.isDone()) {
1176
     *          Thread.yield();
1177
     *      }
1178
     *      try {
1179
     *          ManageReportScheduleResponse response = future.get();
1180
     *      // use response
1181
     *      } catch (Exception e) {
1182
     *          if (e instanceof MarketplaceWebServiceException) {
1183
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
1184
     *          // handle MarketplaceWebServiceException
1185
     *          } else {
1186
     *          // handle other exceptions
1187
     *          }
1188
     *      }
1189
     *  }
1190
     * </pre>
1191
     *
1192
     * @param request
1193
     *          ManageReportScheduleRequest request
1194
     * @return Future&lt;ManageReportScheduleResponse&gt; future pointer to ManageReportScheduleResponse
1195
     * 
1196
     */
1197
    public Future<ManageReportScheduleResponse> manageReportScheduleAsync(ManageReportScheduleRequest request);
1198
 
1199
 
1200
 
1201
    /**
1202
     * Get Report Request Count 
1203
     *
1204
     * returns a count of report requests; by default all the report
1205
     * requests in the last 90 days
1206
     *   
1207
     * @param request
1208
     *          GetReportRequestCount Action
1209
     * @return
1210
     *          GetReportRequestCount Response from the service
1211
     *
1212
     * @throws MarketplaceWebServiceException
1213
     */
1214
    public GetReportRequestCountResponse getReportRequestCount(GetReportRequestCountRequest request) throws MarketplaceWebServiceException;
1215
 
1216
    /**
1217
     * Non-blocking Get Report Request Count 
1218
     * <p/>
1219
     * Returns <code>future</code> pointer to GetReportRequestCountResponse
1220
     * <p/>
1221
     * If response is ready, call to <code>future.get()</code> 
1222
     * will return GetReportRequestCountResponse. 
1223
     * <p/>
1224
     * If response is not ready, call to <code>future.get()</code> will block the 
1225
     * calling thread until response is returned. 
1226
     * <p/>
1227
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
1228
     * <p/>
1229
     * If service error has occured, MarketplaceWebServiceException can be extracted with
1230
     * <code>exception.getCause()</code>
1231
     * <p/>
1232
     * Usage example for parallel processing:
1233
     * <pre>
1234
     *
1235
     *  List&lt;Future&lt;GetReportRequestCountResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;GetReportRequestCountResponse&gt;&gt;();
1236
     *  for (GetReportRequestCountRequest request : requests) {
1237
     *      responses.add(client.getReportRequestCountAsync(request));
1238
     *  }
1239
     *  for (Future&lt;GetReportRequestCountResponse&gt; future : responses) {
1240
     *      while (!future.isDone()) {
1241
     *          Thread.yield();
1242
     *      }
1243
     *      try {
1244
     *          GetReportRequestCountResponse response = future.get();
1245
     *      // use response
1246
     *      } catch (Exception e) {
1247
     *          if (e instanceof MarketplaceWebServiceException) {
1248
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
1249
     *          // handle MarketplaceWebServiceException
1250
     *          } else {
1251
     *          // handle other exceptions
1252
     *          }
1253
     *      }
1254
     *  }
1255
     * </pre>
1256
     *
1257
     * @param request
1258
     *          GetReportRequestCountRequest request
1259
     * @return Future&lt;GetReportRequestCountResponse&gt; future pointer to GetReportRequestCountResponse
1260
     * 
1261
     */
1262
    public Future<GetReportRequestCountResponse> getReportRequestCountAsync(GetReportRequestCountRequest request);
1263
 
1264
 
1265
 
1266
    /**
1267
     * Get Report Schedule List 
1268
     *
1269
     * returns the list of report schedules
1270
     *   
1271
     * @param request
1272
     *          GetReportScheduleList Action
1273
     * @return
1274
     *          GetReportScheduleList Response from the service
1275
     *
1276
     * @throws MarketplaceWebServiceException
1277
     */
1278
    public GetReportScheduleListResponse getReportScheduleList(GetReportScheduleListRequest request) throws MarketplaceWebServiceException;
1279
 
1280
    /**
1281
     * Non-blocking Get Report Schedule List 
1282
     * <p/>
1283
     * Returns <code>future</code> pointer to GetReportScheduleListResponse
1284
     * <p/>
1285
     * If response is ready, call to <code>future.get()</code> 
1286
     * will return GetReportScheduleListResponse. 
1287
     * <p/>
1288
     * If response is not ready, call to <code>future.get()</code> will block the 
1289
     * calling thread until response is returned. 
1290
     * <p/>
1291
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
1292
     * <p/>
1293
     * If service error has occured, MarketplaceWebServiceException can be extracted with
1294
     * <code>exception.getCause()</code>
1295
     * <p/>
1296
     * Usage example for parallel processing:
1297
     * <pre>
1298
     *
1299
     *  List&lt;Future&lt;GetReportScheduleListResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;GetReportScheduleListResponse&gt;&gt;();
1300
     *  for (GetReportScheduleListRequest request : requests) {
1301
     *      responses.add(client.getReportScheduleListAsync(request));
1302
     *  }
1303
     *  for (Future&lt;GetReportScheduleListResponse&gt; future : responses) {
1304
     *      while (!future.isDone()) {
1305
     *          Thread.yield();
1306
     *      }
1307
     *      try {
1308
     *          GetReportScheduleListResponse response = future.get();
1309
     *      // use response
1310
     *      } catch (Exception e) {
1311
     *          if (e instanceof MarketplaceWebServiceException) {
1312
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
1313
     *          // handle MarketplaceWebServiceException
1314
     *          } else {
1315
     *          // handle other exceptions
1316
     *          }
1317
     *      }
1318
     *  }
1319
     * </pre>
1320
     *
1321
     * @param request
1322
     *          GetReportScheduleListRequest request
1323
     * @return Future&lt;GetReportScheduleListResponse&gt; future pointer to GetReportScheduleListResponse
1324
     * 
1325
     */
1326
    public Future<GetReportScheduleListResponse> getReportScheduleListAsync(GetReportScheduleListRequest request);
1327
 
1328
    /**
1329
     * Submit Feed From File
1330
     *
1331
     * Uploads a file from disk for processing together with the necessary
1332
     * metadata to process the file, such as which type of feed it is.
1333
     * PurgeAndReplace if true means that your existing e.g. inventory is
1334
     * wiped out and replace with the contents of this feed - use with
1335
     * caution (the default is false).
1336
     * 
1337
     * This function assumes the Content MD5 value is unset in the request, and will
1338
     * set it before making the Submit Feed request. The Feed Content must be stored
1339
     * on disk, as the assumption is that the content is accessed through
1340
     * a FileInputStream.
1341
     * 
1342
     * @param request
1343
     *          SubmitFeedRequest request without the contentMd5 field set.
1344
     * @return
1345
     *          SubmitFeed Response from the service
1346
     *
1347
     * @throws MarketplaceWebServiceException
1348
     */
1349
    public SubmitFeedResponse submitFeedFromFile( SubmitFeedRequest request )
1350
      throws MarketplaceWebServiceException;
1351
 
1352
    /**
1353
     * Non-blocking Submit Feed From File 
1354
     * <p/>
1355
     * Returns <code>future</code> pointer to SubmitFeedResponse
1356
     * <p/>
1357
     * If response is ready, call to <code>future.get()</code> 
1358
     * will return SubmitFeedResponse. 
1359
     * <p/>
1360
     * If response is not ready, call to <code>future.get()</code> will block the 
1361
     * calling thread until response is returned. 
1362
     * <p/>
1363
     * Note, <code>future.get()</code> will throw wrapped runtime exception. 
1364
     * <p/>
1365
     * If service error has occured, MarketplaceWebServiceException can be extracted with
1366
     * <code>exception.getCause()</code>
1367
     * <p/>
1368
     * Usage example for parallel processing:
1369
     * <pre>
1370
     *
1371
     *  List&lt;Future&lt;SubmitFeedResponse&gt;&gt; responses = new ArrayList&lt;Future&lt;SubmitFeedResponse&gt;&gt;();
1372
     *  for (SubmitFeedRequest request : requests) {
1373
     *      responses.add(client.submitFeedFromFileAsync(request));
1374
     *  }
1375
     *  for (Future&lt;SubmitFeedResponse&gt; future : responses) {
1376
     *      while (!future.isDone()) {
1377
     *          Thread.yield();
1378
     *      }
1379
     *      try {
1380
     *          SubmitFeedResponse response = future.get();
1381
     *      // use response
1382
     *      } catch (Exception e) {
1383
     *          if (e instanceof MarketplaceWebServiceException) {
1384
     *              MarketplaceWebServiceException exception = MarketplaceWebServiceException.class.cast(e);
1385
     *          // handle MarketplaceWebServiceException
1386
     *          } else {
1387
     *          // handle other exceptions
1388
     *          }
1389
     *      }
1390
     *  }
1391
     * </pre>
1392
     *
1393
     * @param request
1394
     *          SubmitFeedRequest request
1395
     * @return Future&lt;SubmitFeedResponse&gt; future pointer to SubmitFeedResponse
1396
     * 
1397
     */
1398
    public Future<SubmitFeedResponse> submitFeedFromFileAsync(final SubmitFeedRequest request);
1399
 
1400
}