File Coverage

lib/eBay/API/XML/DataType/ExternalProductIDType.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::ExternalProductIDType;
4              
5 1     1   1302 use strict;
  1         3  
  1         36  
6 1     1   4 use warnings;
  1         2  
  1         33  
7              
8             ##########################################################################
9             #
10             # Module: ............... eBay/API/XML
11             # File: ................. ExternalProductIDType.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::ExternalProductIDType
21              
22             =head1 DESCRIPTION
23              
24             Contains an ISBN value, EAN value, UPC value, ticket keywords, or eBay
25             catalog product ID, plus other meta-data. For event tickets, this type
26             can contain a set of keywords that uniquely identify the product. Only
27             applicable to certain categories that support Pre-filled Item
28             Information.
29              
30              
31              
32             =head1 SYNOPSIS
33              
34             =cut
35              
36              
37             =head1 INHERITANCE
38              
39             eBay::API::XML::DataType::ExternalProductIDType inherits from the L class
40              
41             =cut
42              
43 1     1   45 use eBay::API::XML::BaseDataType;
  0            
  0            
44             our @ISA = ("eBay::API::XML::BaseDataType");
45              
46             use eBay::API::XML::DataType::Enum::ExternalProductCodeType;
47              
48              
49             my @gaProperties = ( [ 'AlternateValue', 'xs:string', '1', '', '' ]
50             , [ 'ReturnSearchResultOnDuplicates', 'xs:boolean', '', '', '' ]
51             , [ 'Type', 'ns:ExternalProductCodeType', ''
52             ,'eBay::API::XML::DataType::Enum::ExternalProductCodeType', '' ]
53             , [ 'Value', 'xs:string', '', '', '' ]
54             );
55             push @gaProperties, @{eBay::API::XML::BaseDataType::getPropertiesList()};
56              
57             my @gaAttributes = (
58             );
59             push @gaAttributes, @{eBay::API::XML::BaseDataType::getAttributesList()};
60              
61             =head1 Subroutines:
62              
63             =cut
64              
65             sub new {
66             my $classname = shift;
67             my %args = @_;
68             my $self = $classname->SUPER::new(%args);
69             return $self;
70             }
71              
72             sub isScalar {
73             return 0;
74             }
75              
76              
77              
78             =head2 setAlternateValue()
79              
80             An industry-standard value that provides an alternate identification for
81             the product, if any. Currently, this only returns an alternate ISBN
82             value. If the catalog defines both an ISBN-13 and ISBN-10,
83             then the ISBN-13 is returned in Value and the ISBN-10 is returned in
84             AlternateValue. (That is, the ISBN-13 is considered to be the preferred
85             identifier.) If the catalog only defines one ISBN, it is returned in
86             Value (and AlternateValue is not returned). Please note that some
87             catalogs return ISBN values that are not 10 or 13 characters,
88             and some values contain non-alphanumeric symbols (e.g., $).
89              
90             MaxLength: 4000
91              
92             # Argument: reference to an array
93             of 'xs:string'
94              
95             =cut
96              
97             sub setAlternateValue {
98             my $self = shift;
99             $self->{'AlternateValue'} =
100             $self->convertArray_To_RefToArrayIfNeeded(@_);
101             }
102              
103             =head2 getAlternateValue()
104              
105             Calls: GetProducts
106             GetSellerPayments
107             Returned: Conditionally
108              
109             # Returns: reference to an array
110             of 'xs:string'
111              
112             =cut
113              
114             sub getAlternateValue {
115             my $self = shift;
116             return $self->_getDataTypeArray('AlternateValue');
117             }
118              
119              
120             =head2 setReturnSearchResultOnDuplicates()
121              
122             Applicable for listing use cases only (not buy-side searching).
123             Indicates what eBay should do if more than one product matches
124             the value passed in Value. Only takes effect when more than one
125             match is found. If true, the response should include an error
126             and all matching product IDs. If false, the response should include
127             an error but should not return the matching product IDs.
128             This field is also applicable when listing Half.com items.
129              
130             Calls: AddItem
131             GetItemRecommendations
132             VerifyAddItem
133             RequiredInput: No
134             Context: Item.ExternalProductID
135              
136             # Argument: 'xs:boolean'
137              
138             =cut
139              
140             sub setReturnSearchResultOnDuplicates {
141             my $self = shift;
142             $self->{'ReturnSearchResultOnDuplicates'} = shift
143             }
144              
145             =head2 isReturnSearchResultOnDuplicates()
146              
147             # Returns: 'xs:boolean'
148              
149             =cut
150              
151             sub isReturnSearchResultOnDuplicates {
152             my $self = shift;
153             return $self->{'ReturnSearchResultOnDuplicates'};
154             }
155              
156              
157             =head2 setType()
158              
159             The kind of identifier being used. The choices are listed
160             For requests, required if Value is specified.
161             For Half.com listing use cases, only ISBN, UPC, and EAN are supported.
162            
163             GetSearchResultsExpress returns this value in ProductArray.Product.ExternalProductID.Type.
164             To pass an external product ID in the request, use ExternalProductIDType and ExternalProductIDValue instead.
165            
166             GetProducts supports ISBN, UPC, and EAN.
167              
168             Calls: AddItem
169             GetItemRecommendations
170             VerifyAddItem
171             RequiredInput: Conditionally
172             AllValuesExcept: MPN
173             Context: Item.ExternalProductID
174              
175             Calls: GetProducts
176             RequiredInput: Conditionally
177             Returned: Conditionally
178             OnlyTheseValues: ISBN, UPC, EAN
179              
180             Calls: GetSearchResults
181             RequiredInput: Conditionally
182             OnlyTheseValues: ISBN, UPC, EAN
183              
184             # Argument: 'ns:ExternalProductCodeType'
185              
186             =cut
187              
188             sub setType {
189             my $self = shift;
190             $self->{'Type'} = shift
191             }
192              
193             =head2 getType()
194              
195             Calls: GetProducts
196             RequiredInput: Conditionally
197             Returned: Conditionally
198             OnlyTheseValues: ISBN, UPC, EAN
199              
200             Calls: GetSellerPayments
201             Returned: Conditionally
202             OnlyTheseValues: ISBN, UPC, EAN
203              
204             # Returns: 'ns:ExternalProductCodeType'
205              
206             =cut
207              
208             sub getType {
209             my $self = shift;
210             return $self->{'Type'};
211             }
212              
213              
214             =head2 setValue()
215              
216             An industry-standard value that uniquely identifies the product. The
217             valid values are dictated by the Type property.
218             Required if Type is specified.
219             Max length 13 for ISBN (as of February 2007), 13 for EAN,
220             12 for UPC, and 4000 for ProductID. No max length for ticket keywords
221             (but passing too much data can result in "no match found"
222             errors).
223            
224             For AddItem and related calls:
225             If the primary and secondary categories are both catalog-enabled,
226             the value must apply to the primary category.
227             Event tickets listings support a set of keywords
228             that uniquely identify the listing. The ticket keywords specify the
229             event name (the title shown on the ticket), venue name, and event
230             date and time. See the eBay Web Services guide for more information
231             and validation rules. For convenience, you can pass an eBay product ID
232             as input (not limited to media categories).
233            
234             Required for Half.com listing use cases, and this can only be an
235             ISBN, UPC, or EAN value.
236            
237             For GetSearchResults and GetProducts input only:
238             Only ISBN, EAN, and UPC values are currently supported as
239             input.
240            
241             For GetSearchResultsExpress input only:
242             To pass an external product ID in the request, use
243             ExternalProductIDValue and ExternalProductIDType instead.
244            
245             For GetSearchResultsExpress, GetProducts, and GetSellerPayments
246             output only: Also see AlternateValue, which is
247             returned if the catalog defines multiple ISBN values (e.g., one for
248             ISBN-13 and one for ISBN-10). Please note that some catalogs return ISBN
249             values that are not 10 or 13 characters, and some values contain
250             non-alphanumeric symbols (e.g., $).
251              
252             MaxLength: See description
253              
254             Calls: AddItem
255             GetItemRecommendations
256             VerifyAddItem
257             RequiredInput: Conditionally
258             Context: Item.ExternalProductID
259              
260             Calls: GetProducts
261             RequiredInput: Conditionally
262             Returned: Conditionally
263              
264             Calls: GetSearchResults
265             RequiredInput: Conditionally
266              
267             # Argument: 'xs:string'
268              
269             =cut
270              
271             sub setValue {
272             my $self = shift;
273             $self->{'Value'} = shift
274             }
275              
276             =head2 getValue()
277              
278             Calls: GetProducts
279             RequiredInput: Conditionally
280             Returned: Conditionally
281              
282             Calls: GetSellerPayments
283             Returned: Conditionally
284              
285             # Returns: 'xs:string'
286              
287             =cut
288              
289             sub getValue {
290             my $self = shift;
291             return $self->{'Value'};
292             }
293              
294              
295              
296              
297              
298             ## Attribute and Property lists
299             sub getPropertiesList {
300             my $self = shift;
301             return \@gaProperties;
302             }
303              
304             sub getAttributesList {
305             my $self = shift;
306             return \@gaAttributes;
307             }
308              
309              
310              
311             1;