// Copyright 2016 Google Inc. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. /** * BiddingStrategyConfiguration.java * * This file was auto-generated from WSDL * by the Apache Axis 1.4 Mar 02, 2009 (07:08:06 PST) WSDL2Java emitter. */ package com.google.api.ads.adwords.axis.v201607.cm; /** * Encapsulates the information about bids and bidding strategies. * * <p>Bidding Strategy can be set on campaigns, ad groups * or ad group criteria. * <p>A bidding strategy can be set using one of the following: * <ul> * <li>{@linkplain BiddingStrategyConfiguration#biddingScheme * bidding scheme}</li> * <li>{@linkplain BiddingStrategyConfiguration#biddingStrategyType * bidding strategy type}</li> * <li>{@linkplain BiddingStrategyConfiguration#biddingStrategyId * bidding strategy ID} for * flexible bid strategies.</li> * </ul> * <p>If the bidding strategy type is used, then schemes * are created using default values. * * <p>Bids can be set only on ad groups and ad group criteria. * They cannot be set on campaigns. * Multiple bids can be set at the same time. Only the bids * that apply to the effective * bidding strategy will be used. Effective bidding strategy * is considered to be the directly * attached strategy or inherited strategy from above level(s) * when there is no directly attached * strategy. * * <p>For more information on flexible bidding, visit the * <a href="https://support.google.com/adwords/answer/2979071">Help Center</a>. */ public class BiddingStrategyConfiguration implements java.io.Serializable { /* Id of the bidding strategy to be associated with the campaign, * ad group or ad group criteria. * A bidding strategy is created using the BiddingStrategyService * ADD operation and is * assigned a BiddingStrategyId. The BiddingStrategyId * can be shared across campaigns, * ad groups and ad group criteria. * <span class="constraint AdxEnabled">This is disabled * for AdX.</span> */ private java.lang.Long biddingStrategyId; /* Name of the bidding strategy. This is applicable only for flexible * bidding strategies. * <span class="constraint ReadOnly">This field is read * only and will be ignored when sent to the API.</span> */ private java.lang.String biddingStrategyName; /* The type of the bidding strategy to be attached. * * <p>For details on portfolio vs. standard availability, * see the * <a href="https://developers.google.com/adwords/api/docs/guides/bidding">bidding * guide</a>. */ private com.google.api.ads.adwords.axis.v201607.cm.BiddingStrategyType biddingStrategyType; /* Indicates where the bidding strategy is associated i.e. campaign, * ad group or * ad group criterion. * <span class="constraint ReadOnly">This field is read * only and will be ignored when sent to the API.</span> */ private com.google.api.ads.adwords.axis.v201607.cm.BiddingStrategySource biddingStrategySource; /* The bidding strategy metadata. Bidding strategy can be associated * using the * {@linkplain BiddingStrategyConfiguration#biddingStrategyType} * or the bidding scheme. * * <p>For details on portfolio vs. standard availability, * see the * <a href="https://developers.google.com/adwords/api/docs/guides/bidding">bidding * guide</a>. */ private com.google.api.ads.adwords.axis.v201607.cm.BiddingScheme biddingScheme; /* Specifies the bids. Bids can be set only on ad groups and ad * group criteria. * Bids cannot be set on campaign. * * Default CPC and CPM bid values will be set if they * are not provided during {@linkplain AdGroup} * creation. Default CPC and CPM values are minimal billable * amounts in local currencies. * For example, for US Dollars CPC and CPM default values * are $0.01 and $0.01, respectively. */ private com.google.api.ads.adwords.axis.v201607.cm.Bids[] bids; public BiddingStrategyConfiguration() { } public BiddingStrategyConfiguration( java.lang.Long biddingStrategyId, java.lang.String biddingStrategyName, com.google.api.ads.adwords.axis.v201607.cm.BiddingStrategyType biddingStrategyType, com.google.api.ads.adwords.axis.v201607.cm.BiddingStrategySource biddingStrategySource, com.google.api.ads.adwords.axis.v201607.cm.BiddingScheme biddingScheme, com.google.api.ads.adwords.axis.v201607.cm.Bids[] bids) { this.biddingStrategyId = biddingStrategyId; this.biddingStrategyName = biddingStrategyName; this.biddingStrategyType = biddingStrategyType; this.biddingStrategySource = biddingStrategySource; this.biddingScheme = biddingScheme; this.bids = bids; } /** * Gets the biddingStrategyId value for this BiddingStrategyConfiguration. * * @return biddingStrategyId * Id of the bidding strategy to be associated with the campaign, * ad group or ad group criteria. * A bidding strategy is created using the BiddingStrategyService * ADD operation and is * assigned a BiddingStrategyId. The BiddingStrategyId * can be shared across campaigns, * ad groups and ad group criteria. * <span class="constraint AdxEnabled">This is disabled * for AdX.</span> */ public java.lang.Long getBiddingStrategyId() { return biddingStrategyId; } /** * Sets the biddingStrategyId value for this BiddingStrategyConfiguration. * * @param biddingStrategyId * Id of the bidding strategy to be associated with the campaign, * ad group or ad group criteria. * A bidding strategy is created using the BiddingStrategyService * ADD operation and is * assigned a BiddingStrategyId. The BiddingStrategyId * can be shared across campaigns, * ad groups and ad group criteria. * <span class="constraint AdxEnabled">This is disabled * for AdX.</span> */ public void setBiddingStrategyId(java.lang.Long biddingStrategyId) { this.biddingStrategyId = biddingStrategyId; } /** * Gets the biddingStrategyName value for this BiddingStrategyConfiguration. * * @return biddingStrategyName * Name of the bidding strategy. This is applicable only for flexible * bidding strategies. * <span class="constraint ReadOnly">This field is read * only and will be ignored when sent to the API.</span> */ public java.lang.String getBiddingStrategyName() { return biddingStrategyName; } /** * Sets the biddingStrategyName value for this BiddingStrategyConfiguration. * * @param biddingStrategyName * Name of the bidding strategy. This is applicable only for flexible * bidding strategies. * <span class="constraint ReadOnly">This field is read * only and will be ignored when sent to the API.</span> */ public void setBiddingStrategyName(java.lang.String biddingStrategyName) { this.biddingStrategyName = biddingStrategyName; } /** * Gets the biddingStrategyType value for this BiddingStrategyConfiguration. * * @return biddingStrategyType * The type of the bidding strategy to be attached. * * <p>For details on portfolio vs. standard availability, * see the * <a href="https://developers.google.com/adwords/api/docs/guides/bidding">bidding * guide</a>. */ public com.google.api.ads.adwords.axis.v201607.cm.BiddingStrategyType getBiddingStrategyType() { return biddingStrategyType; } /** * Sets the biddingStrategyType value for this BiddingStrategyConfiguration. * * @param biddingStrategyType * The type of the bidding strategy to be attached. * * <p>For details on portfolio vs. standard availability, * see the * <a href="https://developers.google.com/adwords/api/docs/guides/bidding">bidding * guide</a>. */ public void setBiddingStrategyType(com.google.api.ads.adwords.axis.v201607.cm.BiddingStrategyType biddingStrategyType) { this.biddingStrategyType = biddingStrategyType; } /** * Gets the biddingStrategySource value for this BiddingStrategyConfiguration. * * @return biddingStrategySource * Indicates where the bidding strategy is associated i.e. campaign, * ad group or * ad group criterion. * <span class="constraint ReadOnly">This field is read * only and will be ignored when sent to the API.</span> */ public com.google.api.ads.adwords.axis.v201607.cm.BiddingStrategySource getBiddingStrategySource() { return biddingStrategySource; } /** * Sets the biddingStrategySource value for this BiddingStrategyConfiguration. * * @param biddingStrategySource * Indicates where the bidding strategy is associated i.e. campaign, * ad group or * ad group criterion. * <span class="constraint ReadOnly">This field is read * only and will be ignored when sent to the API.</span> */ public void setBiddingStrategySource(com.google.api.ads.adwords.axis.v201607.cm.BiddingStrategySource biddingStrategySource) { this.biddingStrategySource = biddingStrategySource; } /** * Gets the biddingScheme value for this BiddingStrategyConfiguration. * * @return biddingScheme * The bidding strategy metadata. Bidding strategy can be associated * using the * {@linkplain BiddingStrategyConfiguration#biddingStrategyType} * or the bidding scheme. * * <p>For details on portfolio vs. standard availability, * see the * <a href="https://developers.google.com/adwords/api/docs/guides/bidding">bidding * guide</a>. */ public com.google.api.ads.adwords.axis.v201607.cm.BiddingScheme getBiddingScheme() { return biddingScheme; } /** * Sets the biddingScheme value for this BiddingStrategyConfiguration. * * @param biddingScheme * The bidding strategy metadata. Bidding strategy can be associated * using the * {@linkplain BiddingStrategyConfiguration#biddingStrategyType} * or the bidding scheme. * * <p>For details on portfolio vs. standard availability, * see the * <a href="https://developers.google.com/adwords/api/docs/guides/bidding">bidding * guide</a>. */ public void setBiddingScheme(com.google.api.ads.adwords.axis.v201607.cm.BiddingScheme biddingScheme) { this.biddingScheme = biddingScheme; } /** * Gets the bids value for this BiddingStrategyConfiguration. * * @return bids * Specifies the bids. Bids can be set only on ad groups and ad * group criteria. * Bids cannot be set on campaign. * * Default CPC and CPM bid values will be set if they * are not provided during {@linkplain AdGroup} * creation. Default CPC and CPM values are minimal billable * amounts in local currencies. * For example, for US Dollars CPC and CPM default values * are $0.01 and $0.01, respectively. */ public com.google.api.ads.adwords.axis.v201607.cm.Bids[] getBids() { return bids; } /** * Sets the bids value for this BiddingStrategyConfiguration. * * @param bids * Specifies the bids. Bids can be set only on ad groups and ad * group criteria. * Bids cannot be set on campaign. * * Default CPC and CPM bid values will be set if they * are not provided during {@linkplain AdGroup} * creation. Default CPC and CPM values are minimal billable * amounts in local currencies. * For example, for US Dollars CPC and CPM default values * are $0.01 and $0.01, respectively. */ public void setBids(com.google.api.ads.adwords.axis.v201607.cm.Bids[] bids) { this.bids = bids; } public com.google.api.ads.adwords.axis.v201607.cm.Bids getBids(int i) { return this.bids[i]; } public void setBids(int i, com.google.api.ads.adwords.axis.v201607.cm.Bids _value) { this.bids[i] = _value; } private java.lang.Object __equalsCalc = null; public synchronized boolean equals(java.lang.Object obj) { if (!(obj instanceof BiddingStrategyConfiguration)) return false; BiddingStrategyConfiguration other = (BiddingStrategyConfiguration) obj; if (obj == null) return false; if (this == obj) return true; if (__equalsCalc != null) { return (__equalsCalc == obj); } __equalsCalc = obj; boolean _equals; _equals = true && ((this.biddingStrategyId==null && other.getBiddingStrategyId()==null) || (this.biddingStrategyId!=null && this.biddingStrategyId.equals(other.getBiddingStrategyId()))) && ((this.biddingStrategyName==null && other.getBiddingStrategyName()==null) || (this.biddingStrategyName!=null && this.biddingStrategyName.equals(other.getBiddingStrategyName()))) && ((this.biddingStrategyType==null && other.getBiddingStrategyType()==null) || (this.biddingStrategyType!=null && this.biddingStrategyType.equals(other.getBiddingStrategyType()))) && ((this.biddingStrategySource==null && other.getBiddingStrategySource()==null) || (this.biddingStrategySource!=null && this.biddingStrategySource.equals(other.getBiddingStrategySource()))) && ((this.biddingScheme==null && other.getBiddingScheme()==null) || (this.biddingScheme!=null && this.biddingScheme.equals(other.getBiddingScheme()))) && ((this.bids==null && other.getBids()==null) || (this.bids!=null && java.util.Arrays.equals(this.bids, other.getBids()))); __equalsCalc = null; return _equals; } private boolean __hashCodeCalc = false; public synchronized int hashCode() { if (__hashCodeCalc) { return 0; } __hashCodeCalc = true; int _hashCode = 1; if (getBiddingStrategyId() != null) { _hashCode += getBiddingStrategyId().hashCode(); } if (getBiddingStrategyName() != null) { _hashCode += getBiddingStrategyName().hashCode(); } if (getBiddingStrategyType() != null) { _hashCode += getBiddingStrategyType().hashCode(); } if (getBiddingStrategySource() != null) { _hashCode += getBiddingStrategySource().hashCode(); } if (getBiddingScheme() != null) { _hashCode += getBiddingScheme().hashCode(); } if (getBids() != null) { for (int i=0; i<java.lang.reflect.Array.getLength(getBids()); i++) { java.lang.Object obj = java.lang.reflect.Array.get(getBids(), i); if (obj != null && !obj.getClass().isArray()) { _hashCode += obj.hashCode(); } } } __hashCodeCalc = false; return _hashCode; } // Type metadata private static org.apache.axis.description.TypeDesc typeDesc = new org.apache.axis.description.TypeDesc(BiddingStrategyConfiguration.class, true); static { typeDesc.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "BiddingStrategyConfiguration")); org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("biddingStrategyId"); elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "biddingStrategyId")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("biddingStrategyName"); elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "biddingStrategyName")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("biddingStrategyType"); elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "biddingStrategyType")); elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "BiddingStrategyType")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("biddingStrategySource"); elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "biddingStrategySource")); elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "BiddingStrategySource")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("biddingScheme"); elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "biddingScheme")); elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "BiddingScheme")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("bids"); elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "bids")); elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "Bids")); elemField.setMinOccurs(0); elemField.setNillable(false); elemField.setMaxOccursUnbounded(true); typeDesc.addFieldDesc(elemField); } /** * Return type metadata object */ public static org.apache.axis.description.TypeDesc getTypeDesc() { return typeDesc; } /** * Get Custom Serializer */ public static org.apache.axis.encoding.Serializer getSerializer( java.lang.String mechType, java.lang.Class _javaType, javax.xml.namespace.QName _xmlType) { return new org.apache.axis.encoding.ser.BeanSerializer( _javaType, _xmlType, typeDesc); } /** * Get Custom Deserializer */ public static org.apache.axis.encoding.Deserializer getDeserializer( java.lang.String mechType, java.lang.Class _javaType, javax.xml.namespace.QName _xmlType) { return new org.apache.axis.encoding.ser.BeanDeserializer( _javaType, _xmlType, typeDesc); } }