| Net-Amazon documentation | Contained in the Net-Amazon distribution. |
Net::Amazon::Validate - Validate user supplied options against known valid options.
use Net::Amazon::Validate;
# ...
my $valid = Net::Amazon::Validate::factory(operation => 'ResponseGroup',
);
$valid->ResponseGroup([qw(Small Request)]);
$valid->ResponseGroup('Large');
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::Type; ###################################################################### use warnings; use strict; use Data::Dumper; use Log::Log4perl qw(:easy); use warnings; use strict; ################################################## sub factory { ################################################## my(%options) = @_; die "'operation' is a mandatory parameter!\n" unless defined $options{operation}; #DEBUG(sub {"Validate::Type factory options=" . Data::Dumper::Dumper(\%options) . "\n"}); # NOTE: if you want to validate different versions of the WSDL add this back in. # # Transform 2005-10-05 into V2005_10_05 to ensure its a valid module name. # my $ver = "V$options{version}"; # $ver =~ s|-|_|g; # # my $class = 'Net::Amazon::Validate::Type::'.$ver.'::'.$options{operation}; my $class = 'Net::Amazon::Validate::Type::'.$options{operation}; eval "require $class"; my $obj = $class->new(); return $obj; } 1; __END__