File Coverage

lib/eBay/API/XML/DataType/CatalogProductType.pm
Criterion Covered Total %
statement 7 9 77.7
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 10 12 83.3


line stmt bran cond sub pod time code
1             #!/usr/bin/perl
2              
3             package eBay::API::XML::DataType::CatalogProductType;
4              
5 1     1   1057 use strict;
  1         2  
  1         29  
6 1     1   5 use warnings;
  1         2  
  1         32  
7              
8             ##########################################################################
9             #
10             # Module: ............... eBay/API/XML
11             # File: ................. CatalogProductType.pm
12             # Generated by: ......... genEBayApiDataTypes.pl
13             # Last Generated: ....... 08/24/2008 16:44
14             # API Release Number: ... 579
15             #
16             ##########################################################################
17              
18             =head1 NAME
19              
20             eBay::API::XML::DataType::CatalogProductType
21              
22             =head1 DESCRIPTION
23              
24             Information about an eBay catalog product.
25              
26              
27              
28             =head1 SYNOPSIS
29              
30             =cut
31              
32              
33             =head1 INHERITANCE
34              
35             eBay::API::XML::DataType::CatalogProductType inherits from the L class
36              
37             =cut
38              
39 1     1   37 use eBay::API::XML::BaseDataType;
  0            
  0            
40             our @ISA = ("eBay::API::XML::BaseDataType");
41              
42             use eBay::API::XML::DataType::ExternalProductIDType;
43             use eBay::API::XML::DataType::NameValueListArrayType;
44             use eBay::API::XML::DataType::ReviewDetailsType;
45             use eBay::API::XML::DataType::Enum::ProductStateCodeType;
46              
47              
48             my @gaProperties = ( [ 'AttributeSetID', 'xs:int', '', '', '' ]
49             , [ 'DetailsURL', 'xs:anyURI', '', '', '' ]
50             , [ 'DisplayStockPhotos', 'xs:boolean', '', '', '' ]
51             , [ 'ExternalProductID', 'ns:ExternalProductIDType', ''
52             ,'eBay::API::XML::DataType::ExternalProductIDType', '1' ]
53             , [ 'ItemCount', 'xs:int', '', '', '' ]
54             , [ 'ItemSpecifics', 'ns:NameValueListArrayType', ''
55             ,'eBay::API::XML::DataType::NameValueListArrayType', '1' ]
56             , [ 'ProductReferenceID', 'xs:long', '', '', '' ]
57             , [ 'ProductState', 'ns:ProductStateCodeType', ''
58             ,'eBay::API::XML::DataType::Enum::ProductStateCodeType', '' ]
59             , [ 'ReviewCount', 'xs:int', '', '', '' ]
60             , [ 'ReviewDetails', 'ns:ReviewDetailsType', ''
61             ,'eBay::API::XML::DataType::ReviewDetailsType', '1' ]
62             , [ 'StockPhotoURL', 'xs:anyURI', '', '', '' ]
63             , [ 'Title', 'xs:string', '', '', '' ]
64             );
65             push @gaProperties, @{eBay::API::XML::BaseDataType::getPropertiesList()};
66              
67             my @gaAttributes = (
68             );
69             push @gaAttributes, @{eBay::API::XML::BaseDataType::getAttributesList()};
70              
71             =head1 Subroutines:
72              
73             =cut
74              
75             sub new {
76             my $classname = shift;
77             my %args = @_;
78             my $self = $classname->SUPER::new(%args);
79             return $self;
80             }
81              
82             sub isScalar {
83             return 0;
84             }
85              
86              
87              
88             =head2 setAttributeSetID()
89              
90             Numeric ID for the product's domain (characteristic set).
91             When you use GetProducts by itself, this can be useful when
92             you want to group product results
93             by domain (e.g., all book products together).
94             For a mapping of attribute set IDs to names, see the
95             eBay Web Services guide. Alternatively, use GetCategory2CS
96             to retrieve the mappings periodically (e.g., once a day) and
97             store them locally. (We do not recommend using the product histogram,
98             for this purpose.)
99              
100             # Argument: 'xs:int'
101              
102             =cut
103              
104             sub setAttributeSetID {
105             my $self = shift;
106             $self->{'AttributeSetID'} = shift
107             }
108              
109             =head2 getAttributeSetID()
110              
111             Calls: GetProducts
112             Returned: Conditionally
113              
114             # Returns: 'xs:int'
115              
116             =cut
117              
118             sub getAttributeSetID {
119             my $self = shift;
120             return $self->{'AttributeSetID'};
121             }
122              
123              
124             =head2 setDetailsURL()
125              
126             Fully qualified URL for optional information about the product,
127             such as a movie's description or film credits. This information
128             is hosted through the eBay Web site and it cannot be edited.
129             Portions of the content are protected by copyright.
130             Applications can include this URL as a link in product search results
131             so that end users can view additional descriptive details about
132             the product.
133            
134             Note: You can use
135             the ProductMementoString parameter in this URL as the ProductID value in
136             GetSearchResults requests. This parameter is a colon-delimited
137             alphanumeric value. For an example of how to use this string,
138             see the GetProducts samples in the eBay Web Services guide.
139              
140             # Argument: 'xs:anyURI'
141              
142             =cut
143              
144             sub setDetailsURL {
145             my $self = shift;
146             $self->{'DetailsURL'} = shift
147             }
148              
149             =head2 getDetailsURL()
150              
151             Calls: GetProducts
152             Returned: Always
153              
154             # Returns: 'xs:anyURI'
155              
156             =cut
157              
158             sub getDetailsURL {
159             my $self = shift;
160             return $self->{'DetailsURL'};
161             }
162              
163              
164             =head2 setDisplayStockPhotos()
165              
166             If true, your application can attempt to display stock photos that
167             are returned. If false, your application should not attempt to display
168             any stock photos that are returned. This recommendation is useful for
169             catalog data related to products like coins, where stock photos are not
170             necessarily applicable or available. An application with a graphical
171             user interface can use this flag to determine
172             when to hide customized stock photo widgets.
173              
174             # Argument: 'xs:boolean'
175              
176             =cut
177              
178             sub setDisplayStockPhotos {
179             my $self = shift;
180             $self->{'DisplayStockPhotos'} = shift
181             }
182              
183             =head2 isDisplayStockPhotos()
184              
185             Calls: GetProducts
186             Returned: Always
187              
188             # Returns: 'xs:boolean'
189              
190             =cut
191              
192             sub isDisplayStockPhotos {
193             my $self = shift;
194             return $self->{'DisplayStockPhotos'};
195             }
196              
197              
198             =head2 setExternalProductID()
199              
200             An ISBN, UPC, or EAN value that is associated with this
201             eBay catalog product (if any). These values are only returned
202             for products in "media" domains (Books, DVDs and Movies, Music, and
203             Video Games). Products in other domains don't return this value
204             (even if a UPC is available in the Item Specifics.)
205             Please note that in February 2007, GetProducts may temporarily return
206             two ExternalProductID nodes for ISBN for some sites (one with a 13-digit
207             value and one with a 10-digit value). This is a bug and it will be fixed in
208             an upcoming release. Instead, one ExternalProductID node will be returned
209             with an additional field. Do not code your application to expect multiple
210             ExternalProductID nodes to be returned for ISBN values on an ongoing basis.
211              
212             # Argument: 'ns:ExternalProductIDType'
213              
214             =cut
215              
216             sub setExternalProductID {
217             my $self = shift;
218             $self->{'ExternalProductID'} = shift
219             }
220              
221             =head2 getExternalProductID()
222              
223             Calls: GetProducts
224             Returned: Conditionally
225              
226             # Returns: 'ns:ExternalProductIDType'
227              
228             =cut
229              
230             sub getExternalProductID {
231             my $self = shift;
232             return $self->_getDataTypeInstance( 'ExternalProductID'
233             ,'eBay::API::XML::DataType::ExternalProductIDType');
234             }
235              
236              
237             =head2 setItemCount()
238              
239             Total number of listings on the specified eBay site that use
240             stock information from this catalog product. This value can be greater
241             than the number of listings returned in ItemArray. To retrieve more
242             listings, use GetSearchResults.
243             Only returned when you use ExternalProductID or ProductReferenceID
244             and you set IncludeItemArray to true.
245              
246             # Argument: 'xs:int'
247              
248             =cut
249              
250             sub setItemCount {
251             my $self = shift;
252             $self->{'ItemCount'} = shift
253             }
254              
255             =head2 getItemCount()
256              
257             Calls: GetProducts
258             Returned: Always
259              
260             # Returns: 'xs:int'
261              
262             =cut
263              
264             sub getItemCount {
265             my $self = shift;
266             return $self->{'ItemCount'};
267             }
268              
269              
270             =head2 setItemSpecifics()
271              
272             A list of attribute and value pairs that are included in the product's
273             pre-filled Item Specifics.
274             Also see ExternalProductID for ISBN, UPC, or MPN values, if applicable.
275             This is usually returned. (We are not aware of any cases in which this
276             node is not be returned. However, it may be safest to check for the
277             existence of this node.)
278              
279             # Argument: 'ns:NameValueListArrayType'
280              
281             =cut
282              
283             sub setItemSpecifics {
284             my $self = shift;
285             $self->{'ItemSpecifics'} = shift
286             }
287              
288             =head2 getItemSpecifics()
289              
290             Calls: GetProducts
291             Returned: Conditionally
292              
293             # Returns: 'ns:NameValueListArrayType'
294              
295             =cut
296              
297             sub getItemSpecifics {
298             my $self = shift;
299             return $self->_getDataTypeInstance( 'ItemSpecifics'
300             ,'eBay::API::XML::DataType::NameValueListArrayType');
301             }
302              
303              
304             =head2 setProductReferenceID()
305              
306             The numeric ID for the eBay catalog product. After selecting a product
307             returned from a keyword query, pass this value in GetProducts to
308             retrieve more information about that product.
309              
310             # Argument: 'xs:long'
311              
312             =cut
313              
314             sub setProductReferenceID {
315             my $self = shift;
316             $self->{'ProductReferenceID'} = shift
317             }
318              
319             =head2 getProductReferenceID()
320              
321             Calls: GetProducts
322             Returned: Conditionally
323              
324             # Returns: 'xs:long'
325              
326             =cut
327              
328             sub getProductReferenceID {
329             my $self = shift;
330             return $self->{'ProductReferenceID'};
331             }
332              
333              
334             =head2 setProductState()
335              
336             Indicates that the product has changed or will soon change (usually due to a migration
337             from one catalog to another catalog). Typically, this field is
338             returned for up to 90 days for a given product. After that, the product either no
339             longer returns this field or the product is no longer returned (depending on the
340             state change).
341             As of mid-2008, this data is primarily applicable to catalogs used by the
342             US, Germany, Austria, and Switzerland sites.
343             Other sites may undergo catalog changes in the future.
344              
345             # Argument: 'ns:ProductStateCodeType'
346              
347             =cut
348              
349             sub setProductState {
350             my $self = shift;
351             $self->{'ProductState'} = shift
352             }
353              
354             =head2 getProductState()
355              
356             Calls: GetProducts
357             Returned: Conditionally
358              
359             # Returns: 'ns:ProductStateCodeType'
360              
361             =cut
362              
363             sub getProductState {
364             my $self = shift;
365             return $self->{'ProductState'};
366             }
367              
368              
369             =head2 setReviewCount()
370              
371             The total number of reviews that are available for this product
372             on the eBay Web site. This can be greater than the number of
373             reviews returned by GetProducts. See ReviewDetails.Review.URL
374             for information about viewing more reviews.
375              
376             # Argument: 'xs:int'
377              
378             =cut
379              
380             sub setReviewCount {
381             my $self = shift;
382             $self->{'ReviewCount'} = shift
383             }
384              
385             =head2 getReviewCount()
386              
387             Calls: GetProducts
388             Returned: Always
389             Max:
390             Min: 0
391              
392             # Returns: 'xs:int'
393              
394             =cut
395              
396             sub getReviewCount {
397             my $self = shift;
398             return $self->{'ReviewCount'};
399             }
400              
401              
402             =head2 setReviewDetails()
403              
404             The product's most helpful reviews, if any.
405             The reviews are sorted by most helpful review (most votes) first.
406             Only returned when you pass in ExternalProductID or
407             ProductReferenceID and you set IncludeReviewDetails to true.
408             Up to 20 of the reviews are returned. If more reviews are available,
409             (that is, if ReviewCount is greater than 20), the user can look at
410             additional reviews on the eBay Web site.
411             See ReviewDetails.Review.URL for information about viewing more
412             reviews.
413              
414             # Argument: 'ns:ReviewDetailsType'
415              
416             =cut
417              
418             sub setReviewDetails {
419             my $self = shift;
420             $self->{'ReviewDetails'} = shift
421             }
422              
423             =head2 getReviewDetails()
424              
425             Calls: GetProducts
426             Returned: Conditionally
427              
428             # Returns: 'ns:ReviewDetailsType'
429              
430             =cut
431              
432             sub getReviewDetails {
433             my $self = shift;
434             return $self->_getDataTypeInstance( 'ReviewDetails'
435             ,'eBay::API::XML::DataType::ReviewDetailsType');
436             }
437              
438              
439             =head2 setStockPhotoURL()
440              
441             Fully qualified URL for a stock image (if any) that is associated
442             with the eBay catalog product. The URL is for the image eBay
443             usually displays in product search results (usually 70px tall).
444             It may be helpful to calculate the dimensions of the photo
445             programmatically before displaying it.
446              
447             # Argument: 'xs:anyURI'
448              
449             =cut
450              
451             sub setStockPhotoURL {
452             my $self = shift;
453             $self->{'StockPhotoURL'} = shift
454             }
455              
456             =head2 getStockPhotoURL()
457              
458             Calls: GetProducts
459             Returned: Conditionally
460              
461             # Returns: 'xs:anyURI'
462              
463             =cut
464              
465             sub getStockPhotoURL {
466             my $self = shift;
467             return $self->{'StockPhotoURL'};
468             }
469              
470              
471             =head2 setTitle()
472              
473             The title of the product. Always returned when Product is returned.
474              
475             # Argument: 'xs:string'
476              
477             =cut
478              
479             sub setTitle {
480             my $self = shift;
481             $self->{'Title'} = shift
482             }
483              
484             =head2 getTitle()
485              
486             Calls: GetProducts
487             Returned: Always
488              
489             # Returns: 'xs:string'
490              
491             =cut
492              
493             sub getTitle {
494             my $self = shift;
495             return $self->{'Title'};
496             }
497              
498              
499              
500              
501              
502             ## Attribute and Property lists
503             sub getPropertiesList {
504             my $self = shift;
505             return \@gaProperties;
506             }
507              
508             sub getAttributesList {
509             my $self = shift;
510             return \@gaAttributes;
511             }
512              
513              
514              
515             1;