| Net-Amazon documentation | Contained in the Net-Amazon distribution. |
Net::Amazon::Validate::ItemSearch - Validate ItemSearch requests.
Net::Amazon::Validate::ItemSearch; my $valid = Net::Amazon::Validate::ItemSearch::factory(search_index => 'Actor'); my $option = $itemsearch_valid->user_or_default($input); my $default = $itemsearch_valid->default();
Net::Amazon::Validate::ItemSearch is a class used to verify ItemSearch
operation based on the current version of the WSDL and locale. For example if
an Artist search is executed the user can search against Classical, Merchants,
or Music.
Constructs a new Net::Amazon::Validate::ItemSearch object, used to validate
user input for a SearchIndex. Valid types include Actor, Artist,
AudienceRating, Author Brand, BrowseNode, City, Composer, Condition, Conductor,
Count, Cuisine, DeliveryMethod, Director, ISPUPostalCode, ItemPage, Keywords,
MPAARating, Manufacturer, MaximumPrice, MerchantId, MinimumPrice, MusicLabel,
Neighborhood, Orchestra, Power, Publisher, Sort, TextStream and Title. Which
departments these search indexes are valid for is dependent upon locale.
Return the default value for a given SearchIndex. Default are determined in order of preference and existence from the following list: Books, Music, DVD, Software. If none of those items are valid for a given SearchIndex then the first valid department of said SearchIndex is used.
If user input is specified it validates the input, and return it, otherwise it returns the default value for the SearchIndex.
Christopher Boumenot, <boumenot@gmail.com>
Copyright 2006 by Christopher Boumenot, <boumenot@gmail.com>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Net::Amazon::Validate::ItemSearch - Validate user supplied options against known valid options.
use Net::Amazon::Validate::ItemSearch; # ... my $valid = Net::Amazon::Validate::ItemSearch::factory(search_index => 'Actor'); $valid->user_or_default($input); $valid->default();
The item's ASIN number.
Please check the subclasses of Net::Amazon::Validate for specialized
methods.
I should probably add a function to dispatch calls automatically, that way the user doesn't have to explicity call a function to verify an option. It would make it very easy to write loops to validate input.
This library was designed to validate ResponseGroup requests only. Support for other parameters were autogenerated but not verified. The biggest problems are with the intrepration of 'Integers 1 to 30', 'A Merchant ID', or 'Amazon (the default value)'.
Christopher Boumenot, <boumenot@gmail.com>
Copyright 2006 by Christopher Boumenot <boumenot@gmail.com>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Net-Amazon documentation | Contained in the Net-Amazon distribution. |
###################################################################### package Net::Amazon::Validate::ItemSearch; ###################################################################### use warnings; use strict; use Data::Dumper; use Log::Log4perl qw(:easy); use warnings; use strict; ################################################## sub factory { ################################################## my(%options) = (@_); DEBUG(sub {"Validate::Itemsearch factory options=" . Data::Dumper::Dumper(\%options) . "\n"}); # NOTE: if you want to support multiple versions of the WSDL then add this back. # # Transform 2005-10-05 into V2005_10_05 to ensure its a valid module name. # my $wsdl_version = $Net::Amazon::WsdlVersion; # my $ver = "V$wsdl_version"; # $ver =~ s|-|_|g; my $class = 'Net::Amazon::Validate::ItemSearch::'; # $class .= $ver; # $class .= "::"; $class .= $Net::Amazon::Locale; $class .= "::"; $class .= $options{search_index}; eval "require $class"; my $obj = $class->new(); return $obj; } 1; __END__
__END__