File Coverage

lib/eBay/API/XML/DataType/CategoryType.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::CategoryType;
4              
5 1     1   1301 use strict;
  1         3  
  1         38  
6 1     1   6 use warnings;
  1         1  
  1         32  
7              
8             ##########################################################################
9             #
10             # Module: ............... eBay/API/XML
11             # File: ................. CategoryType.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::CategoryType
21              
22             =head1 DESCRIPTION
23              
24             Container for data on one listing category.
25              
26              
27              
28             =head1 SYNOPSIS
29              
30             =cut
31              
32              
33             =head1 INHERITANCE
34              
35             eBay::API::XML::DataType::CategoryType inherits from the L class
36              
37             =cut
38              
39 1     1   43 use eBay::API::XML::BaseDataType;
  0            
  0            
40             our @ISA = ("eBay::API::XML::BaseDataType");
41              
42             use eBay::API::XML::DataType::CharacteristicsSetType;
43             use eBay::API::XML::DataType::ExtendedProductFinderIDType;
44              
45              
46             my @gaProperties = ( [ 'AutoPayEnabled', 'xs:boolean', '', '', '' ]
47             , [ 'B2BVATEnabled', 'xs:boolean', '', '', '' ]
48             , [ 'BestOfferEnabled', 'xs:boolean', '', '', '' ]
49             , [ 'CatalogEnabled', 'xs:boolean', '', '', '' ]
50             , [ 'CategoryID', 'xs:string', '', '', '' ]
51             , [ 'CategoryLevel', 'xs:int', '', '', '' ]
52             , [ 'CategoryName', 'xs:string', '', '', '' ]
53             , [ 'CategoryParentID', 'xs:string', '1', '', '' ]
54             , [ 'CategoryParentName', 'xs:string', '1', '', '' ]
55             , [ 'CharacteristicsSets', 'ns:CharacteristicsSetType', '1'
56             ,'eBay::API::XML::DataType::CharacteristicsSetType', '1' ]
57             , [ 'Expired', 'xs:boolean', '', '', '' ]
58             , [ 'IntlAutosFixedCat', 'xs:boolean', '', '', '' ]
59             , [ 'Keywords', 'xs:string', '', '', '' ]
60             , [ 'LSD', 'xs:boolean', '', '', '' ]
61             , [ 'LeafCategory', 'xs:boolean', '', '', '' ]
62             , [ 'NumOfItems', 'xs:int', '', '', '' ]
63             , [ 'ORPA', 'xs:boolean', '', '', '' ]
64             , [ 'ORRA', 'xs:boolean', '', '', '' ]
65             , [ 'ProductFinderIDs', 'ns:ExtendedProductFinderIDType', '1'
66             ,'eBay::API::XML::DataType::ExtendedProductFinderIDType', '1' ]
67             , [ 'ProductSearchPageAvailable', 'xs:boolean', '', '', '' ]
68             , [ 'SellerGuaranteeEligible', 'xs:boolean', '', '', '' ]
69             , [ 'Virtual', 'xs:boolean', '', '', '' ]
70             );
71             push @gaProperties, @{eBay::API::XML::BaseDataType::getPropertiesList()};
72              
73             my @gaAttributes = (
74             );
75             push @gaAttributes, @{eBay::API::XML::BaseDataType::getAttributesList()};
76              
77             =head1 Subroutines:
78              
79             =cut
80              
81             sub new {
82             my $classname = shift;
83             my %args = @_;
84             my $self = $classname->SUPER::new(%args);
85             return $self;
86             }
87              
88             sub isScalar {
89             return 0;
90             }
91              
92              
93              
94             =head2 setAutoPayEnabled()
95              
96             If true, indicates that the category supports immediate payment.
97             If not present, the category does not support
98             immediate payment. Will not be returned if false.
99              
100             SeeLink: URL: http://developer.ebay.com/DevZone/XML/docs/WebHelp/index.htm?context=eBay_XML_API&topic=AutoPay
101             Title: Requiring Immediate Payment
102              
103             # Argument: 'xs:boolean'
104              
105             =cut
106              
107             sub setAutoPayEnabled {
108             my $self = shift;
109             $self->{'AutoPayEnabled'} = shift
110             }
111              
112             =head2 isAutoPayEnabled()
113              
114             Calls: GetCategories
115             Returned: Conditionally
116             Details: DetailLevel: ReturnAll
117              
118             # Returns: 'xs:boolean'
119              
120             =cut
121              
122             sub isAutoPayEnabled {
123             my $self = shift;
124             return $self->{'AutoPayEnabled'};
125             }
126              
127              
128             =head2 setB2BVATEnabled()
129              
130             If true, the category supports business-to-business (B2B) VAT
131             listings. Applicable to the eBay Germany (DE), Austria (AT),
132             and Switzerland CH) sites only. If not present,
133             the category does not support this feature. Will not be returned if false.
134              
135             SeeLink: URL: http://developer.ebay.com/DevZone/XML/docs/WebHelp/index.htm?context=eBay_XML_API&topic=B2BVAT
136             Title: Working with Business Features and VAT
137              
138             # Argument: 'xs:boolean'
139              
140             =cut
141              
142             sub setB2BVATEnabled {
143             my $self = shift;
144             $self->{'B2BVATEnabled'} = shift
145             }
146              
147             =head2 isB2BVATEnabled()
148              
149             Calls: GetCategories
150             Returned: Conditionally
151             Details: DetailLevel: ReturnAll
152              
153             # Returns: 'xs:boolean'
154              
155             =cut
156              
157             sub isB2BVATEnabled {
158             my $self = shift;
159             return $self->{'B2BVATEnabled'};
160             }
161              
162              
163             =head2 setBestOfferEnabled()
164              
165             If true, the category supports best offers.
166             If not present, the category does not support best offers.
167             Will not be returned if false.
168              
169             # Argument: 'xs:boolean'
170              
171             =cut
172              
173             sub setBestOfferEnabled {
174             my $self = shift;
175             $self->{'BestOfferEnabled'} = shift
176             }
177              
178             =head2 isBestOfferEnabled()
179              
180             Calls: GetCategories
181             Returned: Conditionally
182             Details: DetailLevel: ReturnAll
183              
184             # Returns: 'xs:boolean'
185              
186             =cut
187              
188             sub isBestOfferEnabled {
189             my $self = shift;
190             return $self->{'BestOfferEnabled'};
191             }
192              
193              
194             =head2 setCatalogEnabled()
195              
196             If true, the category is associated with catalog content
197             and the corresponding catalog is identified by the
198             characteristic set ID. See CharacteristicsSets.
199             As the Pre-filled Item Information feature uses the
200             Item Specifics feature, the set of catalog-enabled categories
201             is a subset of the categories that are mapped
202             to characteristic sets. Not returned if false.
203              
204             # Argument: 'xs:boolean'
205              
206             =cut
207              
208             sub setCatalogEnabled {
209             my $self = shift;
210             $self->{'CatalogEnabled'} = shift
211             }
212              
213             =head2 isCatalogEnabled()
214              
215             Calls: GetCategory2CS
216             Returned: Conditionally
217             Details: DetailLevel: ReturnAll
218             Context: MappedCategoryArray
219              
220             # Returns: 'xs:boolean'
221              
222             =cut
223              
224             sub isCatalogEnabled {
225             my $self = shift;
226             return $self->{'CatalogEnabled'};
227             }
228              
229              
230             =head2 setCategoryID()
231              
232             Distinct numeric ID for a category on eBay.
233             In GetItem and related calls, see CategoryName for the text name of
234             the category. Use GetCategories to look up the category parent ID.
235            
236             For GetPopularKeywords, -1 represents the root
237             category.
238            
239             For GetItem, Half.com items return the Half.com category ID
240             in PrimaryCategory. This ID is not necessarily returned in
241             GetCategories. If a Half.com listing is eligible for Express,
242             you can use SecondaryCategory to determine the eBay category ID.
243              
244             MaxLength: 10
245              
246             Calls: AddItem
247             GetItemRecommendations
248             AddLiveAuctionItem
249             VerifyAddItem
250             RequiredInput: Yes
251              
252             Calls: RelistItem
253             ReviseItem
254             ReviseLiveAuctionItem
255             RequiredInput: No
256              
257             # Argument: 'xs:string'
258              
259             =cut
260              
261             sub setCategoryID {
262             my $self = shift;
263             $self->{'CategoryID'} = shift
264             }
265              
266             =head2 getCategoryID()
267              
268             Calls: GetBidderList
269             Returned: Always
270             Context: PrimaryCategory
271              
272             Calls: GetBidderList
273             Returned: Conditionally
274             Context: FreeAddedCategory
275             SecondaryCategory
276              
277             Calls: GetCategories
278             Returned: Always
279             Details: DetailLevel: ReturnAll
280              
281             Calls: GetCategoryListings
282             GetContextualKeywords
283             GetPopularKeywords
284             Returned: Always
285              
286             Calls: GetCategory2CS
287             Returned: Always
288             Details: DetailLevel: ReturnAll
289             Context: MappedCategoryArray
290              
291             Calls: GetCategory2CS
292             Returned: Conditionally
293             Details: DetailLevel: ReturnAll
294             Context: UnmappedCategoryArray
295              
296             Calls: GetItem
297             Returned: Always
298             Details: DetailLevel: none, ItemReturnDescription, ItemReturnAttributes, ReturnAll
299             Context: PrimaryCategory
300              
301             Calls: GetItem
302             Returned: Conditionally
303             Details: DetailLevel: none, ItemReturnDescription, ItemReturnAttributes, ReturnAll
304             Context: FreeAddedCategory
305             SecondaryCategory
306              
307             Calls: GetItemTransactions
308             GetSellerTransactions
309             Returned: Always
310             Details: DetailLevel: ReturnAll
311              
312             Calls: GetItemTransactions
313             GetSellerTransactions
314             Returned: Conditionally
315             Details: DetailLevel: ReturnAll
316              
317             Calls: GetSuggestedCategories
318             GetProducts
319             Returned: Conditionally
320              
321             Calls: GetSearchResults
322             Returned: Conditionally
323             Details: DetailLevel: ItemReturnCategories
324              
325             Calls: GetSellerList
326             Returned: Conditionally
327             Details: DetailLevel: ItemReturnDescription, ReturnAll
328             Context: FreeAddedCategory
329             SecondaryCategory
330              
331             Calls: GetSellerList
332             Returned: Conditionally
333             Details: DetailLevel: ItemReturnDescription, ReturnAll
334             Context: PrimaryCategory
335             SecondaryCategory
336              
337             # Returns: 'xs:string'
338              
339             =cut
340              
341             sub getCategoryID {
342             my $self = shift;
343             return $self->{'CategoryID'};
344             }
345              
346              
347             =head2 setCategoryLevel()
348              
349             The level where the category fits in the site's category hierarchy.
350             For example, if this field has a value of 2, then the category is two
351             levels below the root category in the site's category hierarchy.
352             For the GetSearchResults response, NumOfItems indicates the total
353             quantity of matching items in a category. Matching categories at the
354             same level (i.e., in sibling categories) are sorted by NumOfItems,
355             descending order.
356              
357             # Argument: 'xs:int'
358              
359             =cut
360              
361             sub setCategoryLevel {
362             my $self = shift;
363             $self->{'CategoryLevel'} = shift
364             }
365              
366             =head2 getCategoryLevel()
367              
368             Calls: GetCategories
369             Returned: Always
370             Details: DetailLevel: ReturnAll
371              
372             Calls: GetSearchResults
373             Returned: Conditionally
374             Details: DetailLevel: ItemReturnAttributes, ItemReturnCategories, none, ReturnAll
375             Context: CategoryArray
376              
377             # Returns: 'xs:int'
378              
379             =cut
380              
381             sub getCategoryLevel {
382             my $self = shift;
383             return $self->{'CategoryLevel'};
384             }
385              
386              
387             =head2 setCategoryName()
388              
389             Display name of the category as it would appear on
390             the eBay Web site.
391             In GetItem, this is a fully qualified category name
392             (e.g., Collectibles:Decorative Collectibles:Hummel, Goebel).
393            
394             In GetItem, always returned for eBay.com listings.
395             Not returned in PrimaryCategory for Half.com listings. If a Half.com
396             listing is eligible for Express, you can use SecondaryCategory
397             to determine the eBay category name.
398              
399             MaxLength: 30
400              
401             # Argument: 'xs:string'
402              
403             =cut
404              
405             sub setCategoryName {
406             my $self = shift;
407             $self->{'CategoryName'} = shift
408             }
409              
410             =head2 getCategoryName()
411              
412             Calls: GetCategories
413             Returned: Always
414             Details: DetailLevel: ReturnAll
415              
416             Calls: GetCategoryListings
417             GetContextualKeywords
418             Returned: Always
419              
420             Calls: GetBidderList
421             Returned: Always
422             Context: PrimaryCategory
423              
424             Calls: GetBidderList
425             Returned: Conditionally
426             Context: FreeAddedCategory
427             SecondaryCategory
428              
429             Calls: GetItem
430             Returned: Conditionally
431             Details: DetailLevel: none, ItemReturnDescription, ItemReturnAttributes, ReturnAll
432             Context: PrimaryCategory
433              
434             Calls: GetItem
435             Returned: Conditionally
436             Details: DetailLevel: none, ItemReturnDescription, ItemReturnAttributes, ReturnAll
437             Context: FreeAddedCategory
438             SecondaryCategory
439              
440             Calls: GetSuggestedCategories
441             Returned: Conditionally
442              
443             Calls: GetSearchResults
444             Returned: Conditionally
445             Details: DetailLevel: ItemReturnAttributes, ItemReturnCategories, none, ReturnAll
446             Context: CategoryArray
447              
448             Calls: GetSellerList
449             Returned: Conditionally
450             Details: DetailLevel: ItemReturnDescription, ReturnAll
451              
452             # Returns: 'xs:string'
453              
454             =cut
455              
456             sub getCategoryName {
457             my $self = shift;
458             return $self->{'CategoryName'};
459             }
460              
461              
462             =head2 setCategoryParentID()
463              
464             Category ID identifying a category that is an ancestor of
465             the category indicated in CategoryID.
466             For GetCategories, returns the same value as CategoryID
467             if the CategoryLevel is 1.
468             For GetSuggestedCategories, multiple CategoryParentID fields
469             can be returned in sequence, starting with the root category
470             and ending with the category that is the direct parent of
471             the category specified in CategoryID.
472             Use these parent fields and the CategoryID field to build
473             the fully qualified category browse path or "breadcrumbs"
474             (e.g., 58058:3516:3517).
475             For GetPopularKeywords, -1 represents the root category.
476              
477             MaxLength: 10
478              
479             # Argument: reference to an array
480             of 'xs:string'
481              
482             =cut
483              
484             sub setCategoryParentID {
485             my $self = shift;
486             $self->{'CategoryParentID'} =
487             $self->convertArray_To_RefToArrayIfNeeded(@_);
488             }
489              
490             =head2 getCategoryParentID()
491              
492             Calls: GetCategories
493             Returned: Always
494             Details: DetailLevel: ReturnAll
495              
496             Calls: GetSearchResults
497             Returned: Conditionally
498             Details: DetailLevel: ItemReturnAttributes, ItemReturnCategories, none, ReturnAll
499             Context: CategoryArray
500              
501             Calls: GetSuggestedCategories
502             Returned: Conditionally
503              
504             # Returns: reference to an array
505             of 'xs:string'
506              
507             =cut
508              
509             sub getCategoryParentID {
510             my $self = shift;
511             return $self->_getDataTypeArray('CategoryParentID');
512             }
513              
514              
515             =head2 setCategoryParentName()
516              
517             Display name of the category indicated in CategoryParentID.
518             For GetSuggestedCategories, multiple CategoryParentName fields
519             can be returned in sequence, starting with the root category
520             and ending with the category that
521             is the direct parent of the category specified in CategoryName.
522             Use these parent fields and the CategoryName field to build the
523             fully qualified category browse path or "breadcrumbs"
524             (e.g., Computers & Networking > Technology Books > Certification).
525              
526             # Argument: reference to an array
527             of 'xs:string'
528              
529             =cut
530              
531             sub setCategoryParentName {
532             my $self = shift;
533             $self->{'CategoryParentName'} =
534             $self->convertArray_To_RefToArrayIfNeeded(@_);
535             }
536              
537             =head2 getCategoryParentName()
538              
539             Calls: GetSearchResults
540             Returned: Conditionally
541             Details: DetailLevel: ItemReturnAttributes, ItemReturnCategories, none, ReturnAll
542             Context: CategoryArray
543              
544             Calls: GetSuggestedCategories
545             Returned: Conditionally
546              
547             # Returns: reference to an array
548             of 'xs:string'
549              
550             =cut
551              
552             sub getCategoryParentName {
553             my $self = shift;
554             return $self->_getDataTypeArray('CategoryParentName');
555             }
556              
557              
558             =head2 setCharacteristicsSets()
559              
560             Returned from GetCategory2CS calls.
561             A list of one or more characteristics sets mapped to the category. Use this
562             information when working with Item Specifics (Attributes) and Pre-filled Item
563             Information (Catalogs) functionality. Output only.
564              
565             # Argument: reference to an array
566             of 'ns:CharacteristicsSetType'
567              
568             =cut
569              
570             sub setCharacteristicsSets {
571             my $self = shift;
572             $self->{'CharacteristicsSets'} =
573             $self->convertArray_To_RefToArrayIfNeeded(@_);
574             }
575              
576             =head2 getCharacteristicsSets()
577              
578             Calls: GetCategory2CS
579             Returned: Conditionally
580             Details: DetailLevel: ReturnAll
581             Context: MappedCategoryArray
582             SiteWideCharacteristicSets
583              
584             # Returns: reference to an array
585             of 'ns:CharacteristicsSetType'
586              
587             =cut
588              
589             sub getCharacteristicsSets {
590             my $self = shift;
591             return $self->_getDataTypeArray('CharacteristicsSets');
592             }
593              
594              
595             =head2 setExpired()
596              
597             If true, indicates a category that has expired and
598             to which items may not be listed. Will not be returned if false.
599              
600             # Argument: 'xs:boolean'
601              
602             =cut
603              
604             sub setExpired {
605             my $self = shift;
606             $self->{'Expired'} = shift
607             }
608              
609             =head2 isExpired()
610              
611             Calls: GetCategories
612             Returned: Always
613             Details: DetailLevel: ReturnAll
614              
615             # Returns: 'xs:boolean'
616              
617             =cut
618              
619             sub isExpired {
620             my $self = shift;
621             return $self->{'Expired'};
622             }
623              
624              
625             =head2 setIntlAutosFixedCat()
626              
627             If true, indicates that the category is a fixed-fee category. Use this
628             information to identify categories are not eligible for eBay Stores Inventory
629             format listings. You cannot list eBay Store Inventory format listings in
630             fixed-fee categories on international sites. Output only. Will not be returned if false.
631              
632             # Argument: 'xs:boolean'
633              
634             =cut
635              
636             sub setIntlAutosFixedCat {
637             my $self = shift;
638             $self->{'IntlAutosFixedCat'} = shift
639             }
640              
641             =head2 isIntlAutosFixedCat()
642              
643             Calls: GetCategories
644             Returned: Always
645             Details: DetailLevel: ReturnAll
646              
647             # Returns: 'xs:boolean'
648              
649             =cut
650              
651             sub isIntlAutosFixedCat {
652             my $self = shift;
653             return $self->{'IntlAutosFixedCat'};
654             }
655              
656              
657             =head2 setKeywords()
658              
659             The list of keywords returned by GetPopularKeywords.
660              
661             # Argument: 'xs:string'
662              
663             =cut
664              
665             sub setKeywords {
666             my $self = shift;
667             $self->{'Keywords'} = shift
668             }
669              
670             =head2 getKeywords()
671              
672             Calls: GetPopularKeywords
673             Returned: Always
674              
675             # Returns: 'xs:string'
676              
677             =cut
678              
679             sub getKeywords {
680             my $self = shift;
681             return $self->{'Keywords'};
682             }
683              
684              
685             =head2 setLSD()
686              
687             Item.LotSize is not permitted when you list in this category.
688             If true, indicates that lot sizes are disabled in the specified category. Will not be returned if false.
689              
690             # Argument: 'xs:boolean'
691              
692             =cut
693              
694             sub setLSD {
695             my $self = shift;
696             $self->{'LSD'} = shift
697             }
698              
699             =head2 isLSD()
700              
701             Calls: GetCategories
702             Returned: Always
703             Details: DetailLevel: ReturnAll
704              
705             # Returns: 'xs:boolean'
706              
707             =cut
708              
709             sub isLSD {
710             my $self = shift;
711             return $self->{'LSD'};
712             }
713              
714              
715             =head2 setLeafCategory()
716              
717             If true, indicates that the category indicated in CategoryID is a leaf category,
718             in which items may be listed (if the category is not also expired or virtual). Will not be returned if false.
719              
720             # Argument: 'xs:boolean'
721              
722             =cut
723              
724             sub setLeafCategory {
725             my $self = shift;
726             $self->{'LeafCategory'} = shift
727             }
728              
729             =head2 isLeafCategory()
730              
731             Calls: GetCategories
732             Returned: Always
733             Details: DetailLevel: ReturnAll
734              
735             # Returns: 'xs:boolean'
736              
737             =cut
738              
739             sub isLeafCategory {
740             my $self = shift;
741             return $self->{'LeafCategory'};
742             }
743              
744              
745             =head2 setNumOfItems()
746              
747             The total quantity of matching items in the category.
748             In the GetSearchResults response, matching categories at the same level
749             (i.e., sibling categories) are sorted by this value. That is, if the request
750             specifies that fewer categories or subcategories should be returned,
751             the ones with the most matching items are returned first.
752             See the Developer's guide for more information.
753              
754             # Argument: 'xs:int'
755              
756             =cut
757              
758             sub setNumOfItems {
759             my $self = shift;
760             $self->{'NumOfItems'} = shift
761             }
762              
763             =head2 getNumOfItems()
764              
765             Calls: GetCategoryListings
766             Returned: Conditionally
767             Context: CategoryArray
768              
769             Calls: GetSearchResults
770             Returned: Conditionally
771             Details: DetailLevel: ItemReturnAttributes, ItemReturnCategories, none, ReturnAll
772             Context: CategoryArray
773              
774             Calls: GetCategoryListings
775             Returned: Conditionally
776             Context: CategoryArray
777              
778             # Returns: 'xs:int'
779              
780             =cut
781              
782             sub getNumOfItems {
783             my $self = shift;
784             return $self->{'NumOfItems'};
785             }
786              
787              
788             =head2 setORPA()
789              
790             Indicates whether the category (and its subcategories)
791             allows or disallows listing with a reserve price,
792             depending on the prevailing site configuration indicated by
793             ReservePriceAllowed.
794             ORPA (override reserve price allowed) indicates when the category
795             is an exception to the site's ReservePriceAllowed policy.
796            
797             If ORPA is true, the category overrides (toggles or reverses) the
798             site's ReservePriceAllowed setting. In other words:
799             - If ReservePriceAllowed is true, reserve price is not allowed in this category.
800             - If ReservePriceAllowed is false, reserve price is allowed in this category.

801             If ORPA is not present, there is no override.
802             That is, the category's setting is the same as the site's ReservePriceAllowed setting.
803            
This field will not be returned in the response if false.
804             This toggling logic is designed to reduce the size of the GetCategories
805             response by only returning ORPA when the category's policy is different
806             from the site's policy. (If ORPA is true for a category, you can assume
807             its subcategories inherit the same setting unless otherwise specified.)
808              
809             # Argument: 'xs:boolean'
810              
811             =cut
812              
813             sub setORPA {
814             my $self = shift;
815             $self->{'ORPA'} = shift
816             }
817              
818             =head2 isORPA()
819              
820             Calls: GetCategories
821             Returned: Always
822             Details: DetailLevel: ReturnAll
823              
824             # Returns: 'xs:boolean'
825              
826             =cut
827              
828             sub isORPA {
829             my $self = shift;
830             return $self->{'ORPA'};
831             }
832              
833              
834             =head2 setORRA()
835              
836             Indicates whether the category (and its subcategories) allows
837             or disallows reducing a listing's reserve price,
838             depending on the prevailing site configuration indicated by ReduceReserveAllowed.
839             ORRA (override reduce reserve allowed) indicates when the category is an exception
840             to the site's ReduceReserveAllowed policy.

841             If ORRA is true, the category overrides (toggles or reverses) the
842             site's ReduceReserveAllowed setting. In other words:
843             - If ReduceReserveAllowed is true, reserve price reduction is not allowed in this category.
844             - If ReduceReserveAllowed is false (because it is not present in the response), reserve price reduction is allowed in this category.

845             If ORRA is not present, there is no override. Will not be returned in the response if false.
846             That is, the category's setting is the same as the site's ReduceReserveAllowed setting.
847            
848             This toggling logic is designed to reduce the size of the GetCategories
849             response by only returning ORRA when the category's policy is different
850             from the site's policy. (If ORRA is true for a category, you can assume
851             its subcategories inherit the same setting unless otherwise specified.)
852              
853             # Argument: 'xs:boolean'
854              
855             =cut
856              
857             sub setORRA {
858             my $self = shift;
859             $self->{'ORRA'} = shift
860             }
861              
862             =head2 isORRA()
863              
864             Calls: GetCategories
865             Returned: Conditionally
866             Details: DetailLevel: ReturnAll
867              
868             # Returns: 'xs:boolean'
869              
870             =cut
871              
872             sub isORRA {
873             my $self = shift;
874             return $self->{'ORRA'};
875             }
876              
877              
878             =head2 setProductFinderIDs()
879              
880             The category supports listing with Pre-filled Item Information.
881             Specifies the buy-side and/or sell-side product finder IDs associated with this category, if any.
882              
883             # Argument: reference to an array
884             of 'ns:ExtendedProductFinderIDType'
885              
886             =cut
887              
888             sub setProductFinderIDs {
889             my $self = shift;
890             $self->{'ProductFinderIDs'} =
891             $self->convertArray_To_RefToArrayIfNeeded(@_);
892             }
893              
894             =head2 getProductFinderIDs()
895              
896             Calls: GetCategory2CS
897             Returned: Conditionally
898             Details: DetailLevel: ReturnAll
899             Context: MappedCategoryArray
900              
901             # Returns: reference to an array
902             of 'ns:ExtendedProductFinderIDType'
903              
904             =cut
905              
906             sub getProductFinderIDs {
907             my $self = shift;
908             return $self->_getDataTypeArray('ProductFinderIDs');
909             }
910              
911              
912             =head2 setProductSearchPageAvailable()
913              
914             Returned from GetCategory2CS calls. Supports listing with Pre-filled Item Information.
915             If the category supports single-attribute search, this field returns a value of
916             true. Otherwise this field not returned or returned as false.
917              
918             # Argument: 'xs:boolean'
919              
920             =cut
921              
922             sub setProductSearchPageAvailable {
923             my $self = shift;
924             $self->{'ProductSearchPageAvailable'} = shift
925             }
926              
927             =head2 isProductSearchPageAvailable()
928              
929             Calls: GetCategory2CS
930             Returned: Conditionally
931             Details: DetailLevel: ReturnAll
932             Context: MappedCategoryArray
933              
934             # Returns: 'xs:boolean'
935              
936             =cut
937              
938             sub isProductSearchPageAvailable {
939             my $self = shift;
940             return $self->{'ProductSearchPageAvailable'};
941             }
942              
943              
944             =head2 setSellerGuaranteeEligible()
945              
946             Indicates whether this category is eligible for Motors Seller Guarantee program.
947             This tag is emitted for eligible categories only on the eBay Motors site. Will not be returned if false.
948              
949             # Argument: 'xs:boolean'
950              
951             =cut
952              
953             sub setSellerGuaranteeEligible {
954             my $self = shift;
955             $self->{'SellerGuaranteeEligible'} = shift
956             }
957              
958             =head2 isSellerGuaranteeEligible()
959              
960             Calls: GetCategories
961             Returned: Conditionally
962             Details: DetailLevel: ReturnAll
963              
964             # Returns: 'xs:boolean'
965              
966             =cut
967              
968             sub isSellerGuaranteeEligible {
969             my $self = shift;
970             return $self->{'SellerGuaranteeEligible'};
971             }
972              
973              
974             =head2 setVirtual()
975              
976             If true, indicates the category indicated in CategoryID is a
977             virtual category, to which items may not be listed. Will not be returned if false.
978              
979             # Argument: 'xs:boolean'
980              
981             =cut
982              
983             sub setVirtual {
984             my $self = shift;
985             $self->{'Virtual'} = shift
986             }
987              
988             =head2 isVirtual()
989              
990             Calls: GetCategories
991             Returned: Always
992             Details: DetailLevel: ReturnAll
993              
994             # Returns: 'xs:boolean'
995              
996             =cut
997              
998             sub isVirtual {
999             my $self = shift;
1000             return $self->{'Virtual'};
1001             }
1002              
1003              
1004              
1005              
1006              
1007             ## Attribute and Property lists
1008             sub getPropertiesList {
1009             my $self = shift;
1010             return \@gaProperties;
1011             }
1012              
1013             sub getAttributesList {
1014             my $self = shift;
1015             return \@gaAttributes;
1016             }
1017              
1018              
1019              
1020             1;