File Coverage

lib/Google/Ads/AdWords/v201702/Function.pm
Criterion Covered Total %
statement 12 14 85.7
branch n/a
condition n/a
subroutine 4 6 66.6
pod n/a
total 16 20 80.0


line stmt bran cond sub pod time code
1             package Google::Ads::AdWords::v201702::Function;
2 1     1   733 use strict;
  1         2  
  1         23  
3 1     1   4 use warnings;
  1         2  
  1         115  
4              
5              
6             __PACKAGE__->_set_element_form_qualified(1);
7              
8 0     0     sub get_xmlns { 'https://adwords.google.com/api/adwords/cm/v201702' };
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 1     1   9 use Class::Std::Fast::Storable constructor => 'none';
  1         4  
  1         16  
18 1     1   197 use base qw(Google::Ads::SOAP::Typelib::ComplexType);
  1         2  
  1         133  
19              
20             { # BLOCK to scope variables
21              
22             my %operator_of :ATTR(:get);
23             my %lhsOperand_of :ATTR(:get);
24             my %rhsOperand_of :ATTR(:get);
25             my %functionString_of :ATTR(:get);
26              
27             __PACKAGE__->_factory(
28             [ qw( operator
29             lhsOperand
30             rhsOperand
31             functionString
32              
33             ) ],
34             {
35             'operator' => \%operator_of,
36             'lhsOperand' => \%lhsOperand_of,
37             'rhsOperand' => \%rhsOperand_of,
38             'functionString' => \%functionString_of,
39             },
40             {
41             'operator' => 'Google::Ads::AdWords::v201702::Function::Operator',
42             'lhsOperand' => 'Google::Ads::AdWords::v201702::FunctionArgumentOperand',
43             'rhsOperand' => 'Google::Ads::AdWords::v201702::FunctionArgumentOperand',
44             'functionString' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
45             },
46             {
47              
48             'operator' => 'operator',
49             'lhsOperand' => 'lhsOperand',
50             'rhsOperand' => 'rhsOperand',
51             'functionString' => 'functionString',
52             }
53             );
54              
55             } # end BLOCK
56              
57              
58              
59              
60              
61              
62              
63             1;
64              
65              
66             =pod
67              
68             =head1 NAME
69              
70             Google::Ads::AdWords::v201702::Function
71              
72             =head1 DESCRIPTION
73              
74             Perl data type class for the XML Schema defined complexType
75             Function from the namespace https://adwords.google.com/api/adwords/cm/v201702.
76              
77             Represents a function where its operator is applied to its argument operands resulting in a return value. It has the form (Operand... Operator Operand...). The type of the return value depends on the operator being applied and the type of the operands.

Operands per function is limited to 20.

Here is a code example:

 // For example "feed_attribute == 30" can be represented as: FeedId feedId = (FeedId of Feed associated with feed_attribute) FeedAttributeId feedAttributeId = (FeedAttributeId of feed_attribute) Function function = new Function(); function.setLhsOperand( Arrays.asList((Operand) new FeedAttributeOperand(feedId, feedAttributeId))); function.setOperator(Operator.IN); function.setRhsOperand( Arrays.asList((Operand) new ConstantOperand(30L))); // Another example matching on multiple values: "feed_item_id IN (10, 20, 30)" can be represented as: Function function = new Function(); function.setLhsOperand( Arrays.asList((Operand) new RequestContextOperand(ContextType.FEED_ITEM_ID))); function.setOperator(Operator.IN); function.setRhsOperand(Arrays.asList( (Operand) new ConstantOperand(10L), new ConstantOperand(20L), new ConstantOperand(30L))); 
78              
79              
80              
81              
82             =head2 PROPERTIES
83              
84             The following properties may be accessed using get_PROPERTY / set_PROPERTY
85             methods:
86              
87             =over
88              
89             =item * operator
90              
91              
92             =item * lhsOperand
93              
94              
95             =item * rhsOperand
96              
97              
98             =item * functionString
99              
100              
101              
102              
103             =back
104              
105              
106             =head1 METHODS
107              
108             =head2 new
109              
110             Constructor. The following data structure may be passed to new():
111              
112              
113              
114              
115              
116              
117             =head1 AUTHOR
118              
119             Generated by SOAP::WSDL
120              
121             =cut
122