File Coverage

lib/eBay/API/XML/DataType/ProductType.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::ProductType;
4              
5 1     1   1064 use strict;
  1         1  
  1         26  
6 1     1   4 use warnings;
  1         2  
  1         26  
7              
8             ##########################################################################
9             #
10             # Module: ............... eBay/API/XML
11             # File: ................. ProductType.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::ProductType
21              
22             =head1 DESCRIPTION
23              
24             A prototype description of a well-known type of item, such as a popular book.
25             Applicable when working with eBay's Pre-filled Item Information feature.
26              
27              
28              
29             =head1 SYNOPSIS
30              
31             =cut
32              
33              
34             =head1 INHERITANCE
35              
36             eBay::API::XML::DataType::ProductType inherits from the L class
37              
38             =cut
39              
40 1     1   41 use eBay::API::XML::BaseDataType;
  0            
  0            
41             our @ISA = ("eBay::API::XML::BaseDataType");
42              
43             use eBay::API::XML::DataType::AmountType;
44             use eBay::API::XML::DataType::CharacteristicsSetType;
45              
46              
47             my @gaProperties = ( [ 'CharacteristicsSet', 'ns:CharacteristicsSetType', ''
48             ,'eBay::API::XML::DataType::CharacteristicsSetType', '1' ]
49             , [ 'DetailsURL', 'xs:anyURI', '', '', '' ]
50             , [ 'MaxPrice', 'ns:AmountType', ''
51             ,'eBay::API::XML::DataType::AmountType', '1' ]
52             , [ 'MinPrice', 'ns:AmountType', ''
53             ,'eBay::API::XML::DataType::AmountType', '1' ]
54             , [ 'NumItems', 'xs:int', '', '', '' ]
55             );
56             push @gaProperties, @{eBay::API::XML::BaseDataType::getPropertiesList()};
57              
58             my @gaAttributes = ( [ 'productID', 'xs:string', '', '', '' ]
59             , [ 'stockPhotoURL', 'xs:anyURI', '', '', '' ]
60             , [ 'title', 'xs:string', '', '', '' ]
61             );
62             push @gaAttributes, @{eBay::API::XML::BaseDataType::getAttributesList()};
63              
64             =head1 Subroutines:
65              
66             =cut
67              
68             sub new {
69             my $classname = shift;
70             my %args = @_;
71             my $self = $classname->SUPER::new(%args);
72             return $self;
73             }
74              
75             sub isScalar {
76             return 0;
77             }
78              
79              
80              
81             =head2 setCharacteristicsSet()
82              
83             A set of characteristics that describe the product in a standardized way.
84             In responses, only the attributes and values that applicable for the
85             specified product are returned.
86              
87             Calls: GetProductSellingPages
88             RequiredInput: Yes
89              
90             # Argument: 'ns:CharacteristicsSetType'
91              
92             =cut
93              
94             sub setCharacteristicsSet {
95             my $self = shift;
96             $self->{'CharacteristicsSet'} = shift
97             }
98              
99             =head2 getCharacteristicsSet()
100              
101             Calls: GetProductFamilyMembers
102             GetProductSearchResults
103             Returned: Always
104              
105             # Returns: 'ns:CharacteristicsSetType'
106              
107             =cut
108              
109             sub getCharacteristicsSet {
110             my $self = shift;
111             return $self->_getDataTypeInstance( 'CharacteristicsSet'
112             ,'eBay::API::XML::DataType::CharacteristicsSetType');
113             }
114              
115              
116             =head2 setDetailsURL()
117              
118             Fully qualified URL for optional information about the product,
119             such as a movie's description or film credits. This information
120             is hosted through the eBay site and cannot be edited.
121             Applications can include this URL as a link in product search results
122             so that end users can view additional descriptive details about the product.
123              
124             # Argument: 'xs:anyURI'
125              
126             =cut
127              
128             sub setDetailsURL {
129             my $self = shift;
130             $self->{'DetailsURL'} = shift
131             }
132              
133             =head2 getDetailsURL()
134              
135             Calls: GetProductFamilyMembers
136             Returned: Always
137             Context: FamilyMembers
138              
139             Calls: GetProductSearchResults
140             Returned: Always
141              
142             # Returns: 'xs:anyURI'
143              
144             =cut
145              
146             sub getDetailsURL {
147             my $self = shift;
148             return $self->{'DetailsURL'};
149             }
150              
151              
152             =head2 setMaxPrice()
153              
154             Highest current price of active and ended listings on the specified eBay site that were
155             pre-filled based on this product. The value is in the specified site's currency.
156             Round numbers (such as 15.0) may only show one zero after the decimal (as with any double in the schema).
157              
158             # Argument: 'ns:AmountType'
159              
160             =cut
161              
162             sub setMaxPrice {
163             my $self = shift;
164             $self->{'MaxPrice'} = shift
165             }
166              
167             =head2 getMaxPrice()
168              
169             Calls: GetProductSearchResults
170             Returned: Always
171             Max:
172             Min: 0.0
173             Context: FamilyMembers
174              
175             # Returns: 'ns:AmountType'
176              
177             =cut
178              
179             sub getMaxPrice {
180             my $self = shift;
181             return $self->_getDataTypeInstance( 'MaxPrice'
182             ,'eBay::API::XML::DataType::AmountType');
183             }
184              
185              
186             =head2 setMinPrice()
187              
188             Lowest current price of active and ended listings on the specified eBay site that were
189             pre-filled based on this product. The value is in the specified site's currency.
190              
191             # Argument: 'ns:AmountType'
192              
193             =cut
194              
195             sub setMinPrice {
196             my $self = shift;
197             $self->{'MinPrice'} = shift
198             }
199              
200             =head2 getMinPrice()
201              
202             Calls: GetProductSearchResults
203             Returned: Always
204             Max:
205             Min: 0.0
206             Context: FamilyMembers
207              
208             # Returns: 'ns:AmountType'
209              
210             =cut
211              
212             sub getMinPrice {
213             my $self = shift;
214             return $self->_getDataTypeInstance( 'MinPrice'
215             ,'eBay::API::XML::DataType::AmountType');
216             }
217              
218              
219             =head2 setNumItems()
220              
221             Total number of active listings on the specified eBay site
222             that were pre-filled based on this product.
223              
224             # Argument: 'xs:int'
225              
226             =cut
227              
228             sub setNumItems {
229             my $self = shift;
230             $self->{'NumItems'} = shift
231             }
232              
233             =head2 getNumItems()
234              
235             Calls: GetProductSearchResults
236             Returned: Always
237             Max:
238             Min: 0
239             Context: FamilyMembers
240              
241             # Returns: 'xs:int'
242              
243             =cut
244              
245             sub getNumItems {
246             my $self = shift;
247             return $self->{'NumItems'};
248             }
249              
250              
251              
252              
253             =head2 setProductID()
254              
255             For GetProductFamilyMembers, GetProductSearchResults, and GetProductSellingPages,
256             a unique identifier for the product. The ID is defined in an eBay catalog.
257             Product IDs may change over time. Therefore, use the catalog search calls
258             (GetProductSearchResults and GetProductFamilyMembers)
259             to update any product IDs that you store locally.
260              
261             MaxLength: 4000
262              
263             Calls: GetProductSellingPages
264             RequiredInput: Yes
265              
266             # Argument: 'xs:string'
267              
268             =cut
269              
270             sub setProductID {
271             my $self = shift;
272             $self->{'productID'} = shift
273             }
274              
275             =head2 getProductID()
276              
277             Calls: GetProductFamilyMembers
278             GetProductSearchResults
279             Returned: Always
280              
281             # Returns: 'xs:string'
282              
283             =cut
284              
285             sub getProductID {
286             my $self = shift;
287             return $self->{'productID'};
288             }
289              
290              
291             =head2 setStockPhotoURL()
292              
293             Fully qualified URL for a standard image that is associated with the product, if available.
294             Allows the user to preview the image from your application.
295             A user can choose to include the stock photo in a listing.
296              
297             # Argument: 'xs:anyURI'
298              
299             =cut
300              
301             sub setStockPhotoURL {
302             my $self = shift;
303             $self->{'stockPhotoURL'} = shift
304             }
305              
306             =head2 getStockPhotoURL()
307              
308             Calls: GetProductFamilyMembers
309             GetProductSearchResults
310             GetProductSearchPage
311             Returned: Conditionally
312              
313             # Returns: 'xs:anyURI'
314              
315             =cut
316              
317             sub getStockPhotoURL {
318             my $self = shift;
319             return $self->{'stockPhotoURL'};
320             }
321              
322              
323             =head2 setTitle()
324              
325             The name of the product, as defined within the catalog. Not necessarily the
326             same as the "Title" attribute in the characteristics set meta-data, if any.
327             On the eBay site, this title serves as the basis for the suggested item title
328             (truncated to the max length permitted for Title in item-listing calls).
329             Applications can use this value to supply a suggested listing title to users.
330              
331             # Argument: 'xs:string'
332              
333             =cut
334              
335             sub setTitle {
336             my $self = shift;
337             $self->{'title'} = shift
338             }
339              
340             =head2 getTitle()
341              
342             Calls: GetProductFamilyMembers
343             Returned: Always
344             Context: FamilyMembers
345              
346             Calls: GetProductSearchResults
347             Returned: Always
348              
349             # Returns: 'xs:string'
350              
351             =cut
352              
353             sub getTitle {
354             my $self = shift;
355             return $self->{'title'};
356             }
357              
358              
359              
360             ## Attribute and Property lists
361             sub getPropertiesList {
362             my $self = shift;
363             return \@gaProperties;
364             }
365              
366             sub getAttributesList {
367             my $self = shift;
368             return \@gaAttributes;
369             }
370              
371              
372              
373             1;