File Coverage

lib/Google/Ads/AdWords/v201710/ProductPartition.pm
Criterion Covered Total %
statement 9 11 81.8
branch n/a
condition n/a
subroutine 3 5 60.0
pod n/a
total 12 16 75.0


line stmt bran cond sub pod time code
1             package Google::Ads::AdWords::v201710::ProductPartition;
2 1     1   1570 use strict;
  1         2  
  1         24  
3 1     1   5 use warnings;
  1         2  
  1         72  
4              
5              
6             __PACKAGE__->_set_element_form_qualified(1);
7              
8 0     0     sub get_xmlns { 'https://adwords.google.com/api/adwords/cm/v201710' };
9              
10             our $XML_ATTRIBUTE_CLASS;
11             undef $XML_ATTRIBUTE_CLASS;
12              
13             sub __get_attr_class {
14 0     0     return $XML_ATTRIBUTE_CLASS;
15             }
16              
17              
18 1     1   6 use base qw(Google::Ads::AdWords::v201710::Criterion);
  1         2  
  1         97  
19             # Variety: sequence
20             use Class::Std::Fast::Storable constructor => 'none';
21             use base qw(Google::Ads::SOAP::Typelib::ComplexType);
22              
23             { # BLOCK to scope variables
24              
25             my %id_of :ATTR(:get);
26             my %type_of :ATTR(:get);
27             my %Criterion__Type_of :ATTR(:get);
28             my %partitionType_of :ATTR(:get);
29             my %parentCriterionId_of :ATTR(:get);
30             my %caseValue_of :ATTR(:get);
31              
32             __PACKAGE__->_factory(
33             [ qw( id
34             type
35             Criterion__Type
36             partitionType
37             parentCriterionId
38             caseValue
39              
40             ) ],
41             {
42             'id' => \%id_of,
43             'type' => \%type_of,
44             'Criterion__Type' => \%Criterion__Type_of,
45             'partitionType' => \%partitionType_of,
46             'parentCriterionId' => \%parentCriterionId_of,
47             'caseValue' => \%caseValue_of,
48             },
49             {
50             'id' => 'SOAP::WSDL::XSD::Typelib::Builtin::long',
51             'type' => 'Google::Ads::AdWords::v201710::Criterion::Type',
52             'Criterion__Type' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
53             'partitionType' => 'Google::Ads::AdWords::v201710::ProductPartitionType',
54             'parentCriterionId' => 'SOAP::WSDL::XSD::Typelib::Builtin::long',
55             'caseValue' => 'Google::Ads::AdWords::v201710::ProductDimension',
56             },
57             {
58              
59             'id' => 'id',
60             'type' => 'type',
61             'Criterion__Type' => 'Criterion.Type',
62             'partitionType' => 'partitionType',
63             'parentCriterionId' => 'parentCriterionId',
64             'caseValue' => 'caseValue',
65             }
66             );
67              
68             } # end BLOCK
69              
70              
71              
72              
73              
74              
75              
76             1;
77              
78              
79             =pod
80              
81             =head1 NAME
82              
83             Google::Ads::AdWords::v201710::ProductPartition
84              
85             =head1 DESCRIPTION
86              
87             Perl data type class for the XML Schema defined complexType
88             ProductPartition from the namespace https://adwords.google.com/api/adwords/cm/v201710.
89              
90             Product partition (product group) in a shopping campaign. Depending on its type, a product partition subdivides products along some product dimension, specifies a bid for products, or excludes products from bidding.

Inner nodes of a product partition hierarchy are always subdivisions. Each child is linked to the subdivision via the {@code parentCriterionId} and defines a {@code caseValue}. For all children of the same subdivision, the {@code caseValue}s must be mutually different but instances of the same class. To create a subdivision and child node in the same API request, they should refer to each other using temporary criterion IDs in the {@code parentCriterionId} of the child, and ID field of the subdivision. Temporary IDs are specified by using any negative integer. Temporary IDs only exist within the scope of a single API request. The API will assign real criterion IDs, and replace the temporary values, and the API response will reflect this. This is disabled for AdX when it is contained within Operators: ADD, SET.

91              
92              
93              
94              
95             =head2 PROPERTIES
96              
97             The following properties may be accessed using get_PROPERTY / set_PROPERTY
98             methods:
99              
100             =over
101              
102             =item * partitionType
103              
104              
105             =item * parentCriterionId
106              
107              
108             =item * caseValue
109              
110              
111              
112              
113             =back
114              
115              
116             =head1 METHODS
117              
118             =head2 new
119              
120             Constructor. The following data structure may be passed to new():
121              
122              
123              
124              
125              
126              
127             =head1 AUTHOR
128              
129             Generated by SOAP::WSDL
130              
131             =cut
132