package Wholesale::Addon; =begin WSDL _ATTR productid $int doc for attr. _ATTR name $string doc for attr. _ATTR description $string doc for attr. _ATTR price $int doc for attr. _ATTR windowIncr $int doc for attr. _ATTR computerIncr $int doc for attr. _ATTR deferred $boolean doc for attr. _ATTR addonid $int doc for attr. _ATTR added $dateTime doc for attr. _ATTR username $string doc for attr. =end WSDL =cut sub new { my $class = shift; my ($productid, $name, $description, $price, $windowIncr, $computerIncr, $deferred, $addonid, $added, $username) = @_; bless { productid => $productid, name => $name, description => $description, price => $price, windowIncr => $windowIncr, computerIncr => $computerIncr, deferred => $deferred, addonid => $addonid, added => $added, username => $username }, $class; } #... methods omitted for brevity. 1; #### doc for attr. doc for attr. doc for attr. doc for attr. doc for attr. doc for attr. doc for attr. doc for attr. doc for attr. doc for attr. #### package Wholesale; use Wholesale::Addon; # other methods ommitted for brevity =begin WSDL _DOC doc for method. _IN username $string doc for param. _RETURN @Wholesale::Addon doc for returnval. =end WSDL =cut sub list_attached_addons { # process arguments my $self = shift; my ($username) = @_; my @addons; # # construct a list of Wholesale::Addon objects # here using Wholesale::Addon->new(...) passing # data retrieved from the database. # return @addons; } 1; #### doc for method. doc for param. doc for returnval.