package SUSHI::SUSHITypes::CounterReportResponse;
use strict;
use warnings;


__PACKAGE__->_set_element_form_qualified(0);

sub get_xmlns { 'http://www.niso.org/schemas/sushi/counter' };

our $XML_ATTRIBUTE_CLASS;
undef $XML_ATTRIBUTE_CLASS;

sub __get_attr_class {
    return $XML_ATTRIBUTE_CLASS;
}


use base qw(SUSHI::SUSHITypes::ReportResponse);
# Variety: sequence
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);

Class::Std::initialize();

{ # BLOCK to scope variables

my %Exception_of :ATTR(:get<Exception>);
my %Requestor_of :ATTR(:get<Requestor>);
my %CustomerReference_of :ATTR(:get<CustomerReference>);
my %ReportDefinition_of :ATTR(:get<ReportDefinition>);
my %Report_of :ATTR(:get<Report>);

__PACKAGE__->_factory(
    [ qw(        Exception
        Requestor
        CustomerReference
        ReportDefinition
        Report

    ) ],
    {
        'Exception' => \%Exception_of,
        'Requestor' => \%Requestor_of,
        'CustomerReference' => \%CustomerReference_of,
        'ReportDefinition' => \%ReportDefinition_of,
        'Report' => \%Report_of,
    },
    {
        'Exception' => 'SUSHI::SUSHITypes::Exception',
        'Requestor' => 'SUSHI::SUSHITypes::Requestor',
        'CustomerReference' => 'SUSHI::SUSHITypes::CustomerReference',
        'ReportDefinition' => 'SUSHI::SUSHITypes::ReportDefinition',
        'Report' => 'SUSHI::SUSHITypes::Reports',
    },
    {

        'Exception' => 'Exception',
        'Requestor' => 'Requestor',
        'CustomerReference' => 'CustomerReference',
        'ReportDefinition' => 'ReportDefinition',
        'Report' => 'Report',
    }
);

} # end BLOCK







1;


=pod

=head1 NAME

SUSHI::SUSHITypes::CounterReportResponse

=head1 DESCRIPTION

Perl data type class for the XML Schema defined complexType
CounterReportResponse from the namespace http://www.niso.org/schemas/sushi/counter.

This is the actual response expected from a COUNTER_SUSHI::SUSHI service. A combination of the SUSHI::SUSHI ReportResponse with the COUNTER "Report" added. NOTE: The ReportRequest and ReportResponse are defined in the SUSHI::SUSHI1_6.xsd and the COUNTER report is defined in the Counter3_0.xsd.




=head2 PROPERTIES

The following properties may be accessed using get_PROPERTY / set_PROPERTY
methods:

=over

=item * Report




=back


=head1 METHODS

=head2 new

Constructor. The following data structure may be passed to new():

 { # SUSHI::SUSHITypes::CounterReportResponse
   Report =>  { # SUSHI::SUSHITypes::Reports
     Report =>  { # SUSHI::SUSHITypes::Report
       Vendor =>  { # SUSHI::SUSHITypes::Vendor
       },
       Customer =>  {
         ReportItems =>  { # SUSHI::SUSHITypes::ReportItem
           ItemIdentifier =>  { # SUSHI::SUSHITypes::Identifier
             Type => $some_value, # IdentifierType
             Value =>  $some_value, # string
           },
           ItemPlatform =>  $some_value, # string
           ItemPublisher =>  $some_value, # string
           ItemName =>  $some_value, # string
           ItemDataType => $some_value, # DataType
           ItemPerformance =>  { # SUSHI::SUSHITypes::Metric
             Period =>  { # SUSHI::SUSHITypes::DateRange
               Begin =>  $some_value, # date
               End =>  $some_value, # date
             },
             Category => $some_value, # Category
             Instance =>  { # SUSHI::SUSHITypes::PerformanceCounter
               MetricType => $some_value, # MetricType
               Count =>  $some_value, # nonNegativeInteger
             },
           },
         },
       },
     },
   },
 },




=head1 AUTHOR

Generated by SOAP::WSDL

=cut

