// 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.
/**
* BiddableAdGroupCriterion.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;
/**
* A biddable (positive) criterion in an adgroup.
*/
public class BiddableAdGroupCriterion extends com.google.api.ads.adwords.axis.v201607.cm.AdGroupCriterion implements java.io.Serializable {
/* Current user-set state of criterion.
* UserStatus may not be set to {@code REMOVED} and
* is not supported for ProductPartition
* criterion. On add, defaults to {@code ENABLED}
* if unspecified. */
private com.google.api.ads.adwords.axis.v201607.cm.UserStatus userStatus;
/* Serving status.
* <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.SystemServingStatus systemServingStatus;
/* Approval status.
* <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.ApprovalStatus approvalStatus;
/* List of disapproval reasons.
* <span class="constraint ReadOnly">This field is
* read only and will be ignored when sent to the API.</span> */
private java.lang.String[] disapprovalReasons;
/* Destination URL override when Ad is triggered by this criterion.
*
* <p>Some sample valid URLs are: "http://www.website.com",
* "http://www.domain.com/somepath".
* <p>Set to the empty string ("") to clear the destination
* URL. */
private java.lang.String destinationUrl;
/* The campaign bidding strategy specific experiment data for
* this criterion. */
private com.google.api.ads.adwords.axis.v201607.cm.BiddableAdGroupCriterionExperimentData experimentData;
/* First page Cpc for this 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.Bid firstPageCpc;
/* An estimate of the cpc bid needed for your ad to appear above
* the
* first page of Google search results when a query
* matches the keywords exactly.
* Note that meeting this estimate is not a guarantee
* of ad position,
* which may depend on other factors.
* <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.Bid topOfPageCpc;
/* An estimate of the cpc bid needed for your ad to regularly
* appear in the top position above
* the search results on google.com when a query
* matches the keywords exactly. Note that meeting
* this estimate is not a guarantee of ad position,
* which may depend on other factors.
* <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.Bid firstPositionCpc;
/* Contains quality information about the 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.QualityInfo qualityInfo;
/* Bidding configuration for this ad group criterion. To set the
* bids on the ad groups
* use {@link BiddingStrategyConfiguration#bids}.
* Multiple bids can be set on
* ad group criterion at the same time. Only the
* bids that apply to the campaign's bidding
* strategy {@linkplain Campaign#biddingStrategyConfiguration
* bidding strategy}
* will be used. */
private com.google.api.ads.adwords.axis.v201607.cm.BiddingStrategyConfiguration biddingStrategyConfiguration;
/* Bid modifier of the criterion which is used when the criterion
* is not in an absolute bidding
* dimension. */
private java.lang.Double bidModifier;
/* A list of possible final URLs after all cross domain redirects. */
private com.google.api.ads.adwords.axis.v201607.cm.UrlList finalUrls;
/* A list of possible final mobile URLs after all cross domain
* redirects. */
private com.google.api.ads.adwords.axis.v201607.cm.UrlList finalMobileUrls;
/* A list of final app URLs that will be used on mobile if the
* user has the specific app
* installed. */
private com.google.api.ads.adwords.axis.v201607.cm.AppUrlList finalAppUrls;
/* URL template for constructing a tracking URL.
*
* <p>On update, empty string ("") indicates to clear
* the field. */
private java.lang.String trackingUrlTemplate;
/* A list of mappings to be used for substituting URL custom parameter
* tags in the
* trackingUrlTemplate, finalUrls, and/or finalMobileUrls. */
private com.google.api.ads.adwords.axis.v201607.cm.CustomParameters urlCustomParameters;
public BiddableAdGroupCriterion() {
}
public BiddableAdGroupCriterion(
java.lang.Long adGroupId,
com.google.api.ads.adwords.axis.v201607.cm.CriterionUse criterionUse,
com.google.api.ads.adwords.axis.v201607.cm.Criterion criterion,
com.google.api.ads.adwords.axis.v201607.cm.Label[] labels,
com.google.api.ads.adwords.axis.v201607.cm.String_StringMapEntry[] forwardCompatibilityMap,
java.lang.Long baseCampaignId,
java.lang.Long baseAdGroupId,
java.lang.String adGroupCriterionType,
com.google.api.ads.adwords.axis.v201607.cm.UserStatus userStatus,
com.google.api.ads.adwords.axis.v201607.cm.SystemServingStatus systemServingStatus,
com.google.api.ads.adwords.axis.v201607.cm.ApprovalStatus approvalStatus,
java.lang.String[] disapprovalReasons,
java.lang.String destinationUrl,
com.google.api.ads.adwords.axis.v201607.cm.BiddableAdGroupCriterionExperimentData experimentData,
com.google.api.ads.adwords.axis.v201607.cm.Bid firstPageCpc,
com.google.api.ads.adwords.axis.v201607.cm.Bid topOfPageCpc,
com.google.api.ads.adwords.axis.v201607.cm.Bid firstPositionCpc,
com.google.api.ads.adwords.axis.v201607.cm.QualityInfo qualityInfo,
com.google.api.ads.adwords.axis.v201607.cm.BiddingStrategyConfiguration biddingStrategyConfiguration,
java.lang.Double bidModifier,
com.google.api.ads.adwords.axis.v201607.cm.UrlList finalUrls,
com.google.api.ads.adwords.axis.v201607.cm.UrlList finalMobileUrls,
com.google.api.ads.adwords.axis.v201607.cm.AppUrlList finalAppUrls,
java.lang.String trackingUrlTemplate,
com.google.api.ads.adwords.axis.v201607.cm.CustomParameters urlCustomParameters) {
super(
adGroupId,
criterionUse,
criterion,
labels,
forwardCompatibilityMap,
baseCampaignId,
baseAdGroupId,
adGroupCriterionType);
this.userStatus = userStatus;
this.systemServingStatus = systemServingStatus;
this.approvalStatus = approvalStatus;
this.disapprovalReasons = disapprovalReasons;
this.destinationUrl = destinationUrl;
this.experimentData = experimentData;
this.firstPageCpc = firstPageCpc;
this.topOfPageCpc = topOfPageCpc;
this.firstPositionCpc = firstPositionCpc;
this.qualityInfo = qualityInfo;
this.biddingStrategyConfiguration = biddingStrategyConfiguration;
this.bidModifier = bidModifier;
this.finalUrls = finalUrls;
this.finalMobileUrls = finalMobileUrls;
this.finalAppUrls = finalAppUrls;
this.trackingUrlTemplate = trackingUrlTemplate;
this.urlCustomParameters = urlCustomParameters;
}
/**
* Gets the userStatus value for this BiddableAdGroupCriterion.
*
* @return userStatus * Current user-set state of criterion.
* UserStatus may not be set to {@code REMOVED} and
* is not supported for ProductPartition
* criterion. On add, defaults to {@code ENABLED}
* if unspecified.
*/
public com.google.api.ads.adwords.axis.v201607.cm.UserStatus getUserStatus() {
return userStatus;
}
/**
* Sets the userStatus value for this BiddableAdGroupCriterion.
*
* @param userStatus * Current user-set state of criterion.
* UserStatus may not be set to {@code REMOVED} and
* is not supported for ProductPartition
* criterion. On add, defaults to {@code ENABLED}
* if unspecified.
*/
public void setUserStatus(com.google.api.ads.adwords.axis.v201607.cm.UserStatus userStatus) {
this.userStatus = userStatus;
}
/**
* Gets the systemServingStatus value for this BiddableAdGroupCriterion.
*
* @return systemServingStatus * Serving status.
* <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.SystemServingStatus getSystemServingStatus() {
return systemServingStatus;
}
/**
* Sets the systemServingStatus value for this BiddableAdGroupCriterion.
*
* @param systemServingStatus * Serving status.
* <span class="constraint ReadOnly">This field is
* read only and will be ignored when sent to the API.</span>
*/
public void setSystemServingStatus(com.google.api.ads.adwords.axis.v201607.cm.SystemServingStatus systemServingStatus) {
this.systemServingStatus = systemServingStatus;
}
/**
* Gets the approvalStatus value for this BiddableAdGroupCriterion.
*
* @return approvalStatus * Approval status.
* <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.ApprovalStatus getApprovalStatus() {
return approvalStatus;
}
/**
* Sets the approvalStatus value for this BiddableAdGroupCriterion.
*
* @param approvalStatus * Approval status.
* <span class="constraint ReadOnly">This field is
* read only and will be ignored when sent to the API.</span>
*/
public void setApprovalStatus(com.google.api.ads.adwords.axis.v201607.cm.ApprovalStatus approvalStatus) {
this.approvalStatus = approvalStatus;
}
/**
* Gets the disapprovalReasons value for this BiddableAdGroupCriterion.
*
* @return disapprovalReasons * List of disapproval reasons.
* <span class="constraint ReadOnly">This field is
* read only and will be ignored when sent to the API.</span>
*/
public java.lang.String[] getDisapprovalReasons() {
return disapprovalReasons;
}
/**
* Sets the disapprovalReasons value for this BiddableAdGroupCriterion.
*
* @param disapprovalReasons * List of disapproval reasons.
* <span class="constraint ReadOnly">This field is
* read only and will be ignored when sent to the API.</span>
*/
public void setDisapprovalReasons(java.lang.String[] disapprovalReasons) {
this.disapprovalReasons = disapprovalReasons;
}
public java.lang.String getDisapprovalReasons(int i) {
return this.disapprovalReasons[i];
}
public void setDisapprovalReasons(int i, java.lang.String _value) {
this.disapprovalReasons[i] = _value;
}
/**
* Gets the destinationUrl value for this BiddableAdGroupCriterion.
*
* @return destinationUrl * Destination URL override when Ad is triggered by this criterion.
*
* <p>Some sample valid URLs are: "http://www.website.com",
* "http://www.domain.com/somepath".
* <p>Set to the empty string ("") to clear the destination
* URL.
*/
public java.lang.String getDestinationUrl() {
return destinationUrl;
}
/**
* Sets the destinationUrl value for this BiddableAdGroupCriterion.
*
* @param destinationUrl * Destination URL override when Ad is triggered by this criterion.
*
* <p>Some sample valid URLs are: "http://www.website.com",
* "http://www.domain.com/somepath".
* <p>Set to the empty string ("") to clear the destination
* URL.
*/
public void setDestinationUrl(java.lang.String destinationUrl) {
this.destinationUrl = destinationUrl;
}
/**
* Gets the experimentData value for this BiddableAdGroupCriterion.
*
* @return experimentData * The campaign bidding strategy specific experiment data for
* this criterion.
*/
public com.google.api.ads.adwords.axis.v201607.cm.BiddableAdGroupCriterionExperimentData getExperimentData() {
return experimentData;
}
/**
* Sets the experimentData value for this BiddableAdGroupCriterion.
*
* @param experimentData * The campaign bidding strategy specific experiment data for
* this criterion.
*/
public void setExperimentData(com.google.api.ads.adwords.axis.v201607.cm.BiddableAdGroupCriterionExperimentData experimentData) {
this.experimentData = experimentData;
}
/**
* Gets the firstPageCpc value for this BiddableAdGroupCriterion.
*
* @return firstPageCpc * First page Cpc for this 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.Bid getFirstPageCpc() {
return firstPageCpc;
}
/**
* Sets the firstPageCpc value for this BiddableAdGroupCriterion.
*
* @param firstPageCpc * First page Cpc for this criterion.
* <span class="constraint ReadOnly">This field is
* read only and will be ignored when sent to the API.</span>
*/
public void setFirstPageCpc(com.google.api.ads.adwords.axis.v201607.cm.Bid firstPageCpc) {
this.firstPageCpc = firstPageCpc;
}
/**
* Gets the topOfPageCpc value for this BiddableAdGroupCriterion.
*
* @return topOfPageCpc * An estimate of the cpc bid needed for your ad to appear above
* the
* first page of Google search results when a query
* matches the keywords exactly.
* Note that meeting this estimate is not a guarantee
* of ad position,
* which may depend on other factors.
* <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.Bid getTopOfPageCpc() {
return topOfPageCpc;
}
/**
* Sets the topOfPageCpc value for this BiddableAdGroupCriterion.
*
* @param topOfPageCpc * An estimate of the cpc bid needed for your ad to appear above
* the
* first page of Google search results when a query
* matches the keywords exactly.
* Note that meeting this estimate is not a guarantee
* of ad position,
* which may depend on other factors.
* <span class="constraint ReadOnly">This field is
* read only and will be ignored when sent to the API.</span>
*/
public void setTopOfPageCpc(com.google.api.ads.adwords.axis.v201607.cm.Bid topOfPageCpc) {
this.topOfPageCpc = topOfPageCpc;
}
/**
* Gets the firstPositionCpc value for this BiddableAdGroupCriterion.
*
* @return firstPositionCpc * An estimate of the cpc bid needed for your ad to regularly
* appear in the top position above
* the search results on google.com when a query
* matches the keywords exactly. Note that meeting
* this estimate is not a guarantee of ad position,
* which may depend on other factors.
* <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.Bid getFirstPositionCpc() {
return firstPositionCpc;
}
/**
* Sets the firstPositionCpc value for this BiddableAdGroupCriterion.
*
* @param firstPositionCpc * An estimate of the cpc bid needed for your ad to regularly
* appear in the top position above
* the search results on google.com when a query
* matches the keywords exactly. Note that meeting
* this estimate is not a guarantee of ad position,
* which may depend on other factors.
* <span class="constraint ReadOnly">This field is
* read only and will be ignored when sent to the API.</span>
*/
public void setFirstPositionCpc(com.google.api.ads.adwords.axis.v201607.cm.Bid firstPositionCpc) {
this.firstPositionCpc = firstPositionCpc;
}
/**
* Gets the qualityInfo value for this BiddableAdGroupCriterion.
*
* @return qualityInfo * Contains quality information about the 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.QualityInfo getQualityInfo() {
return qualityInfo;
}
/**
* Sets the qualityInfo value for this BiddableAdGroupCriterion.
*
* @param qualityInfo * Contains quality information about the criterion.
* <span class="constraint ReadOnly">This field is
* read only and will be ignored when sent to the API.</span>
*/
public void setQualityInfo(com.google.api.ads.adwords.axis.v201607.cm.QualityInfo qualityInfo) {
this.qualityInfo = qualityInfo;
}
/**
* Gets the biddingStrategyConfiguration value for this BiddableAdGroupCriterion.
*
* @return biddingStrategyConfiguration * Bidding configuration for this ad group criterion. To set the
* bids on the ad groups
* use {@link BiddingStrategyConfiguration#bids}.
* Multiple bids can be set on
* ad group criterion at the same time. Only the
* bids that apply to the campaign's bidding
* strategy {@linkplain Campaign#biddingStrategyConfiguration
* bidding strategy}
* will be used.
*/
public com.google.api.ads.adwords.axis.v201607.cm.BiddingStrategyConfiguration getBiddingStrategyConfiguration() {
return biddingStrategyConfiguration;
}
/**
* Sets the biddingStrategyConfiguration value for this BiddableAdGroupCriterion.
*
* @param biddingStrategyConfiguration * Bidding configuration for this ad group criterion. To set the
* bids on the ad groups
* use {@link BiddingStrategyConfiguration#bids}.
* Multiple bids can be set on
* ad group criterion at the same time. Only the
* bids that apply to the campaign's bidding
* strategy {@linkplain Campaign#biddingStrategyConfiguration
* bidding strategy}
* will be used.
*/
public void setBiddingStrategyConfiguration(com.google.api.ads.adwords.axis.v201607.cm.BiddingStrategyConfiguration biddingStrategyConfiguration) {
this.biddingStrategyConfiguration = biddingStrategyConfiguration;
}
/**
* Gets the bidModifier value for this BiddableAdGroupCriterion.
*
* @return bidModifier * Bid modifier of the criterion which is used when the criterion
* is not in an absolute bidding
* dimension.
*/
public java.lang.Double getBidModifier() {
return bidModifier;
}
/**
* Sets the bidModifier value for this BiddableAdGroupCriterion.
*
* @param bidModifier * Bid modifier of the criterion which is used when the criterion
* is not in an absolute bidding
* dimension.
*/
public void setBidModifier(java.lang.Double bidModifier) {
this.bidModifier = bidModifier;
}
/**
* Gets the finalUrls value for this BiddableAdGroupCriterion.
*
* @return finalUrls * A list of possible final URLs after all cross domain redirects.
*/
public com.google.api.ads.adwords.axis.v201607.cm.UrlList getFinalUrls() {
return finalUrls;
}
/**
* Sets the finalUrls value for this BiddableAdGroupCriterion.
*
* @param finalUrls * A list of possible final URLs after all cross domain redirects.
*/
public void setFinalUrls(com.google.api.ads.adwords.axis.v201607.cm.UrlList finalUrls) {
this.finalUrls = finalUrls;
}
/**
* Gets the finalMobileUrls value for this BiddableAdGroupCriterion.
*
* @return finalMobileUrls * A list of possible final mobile URLs after all cross domain
* redirects.
*/
public com.google.api.ads.adwords.axis.v201607.cm.UrlList getFinalMobileUrls() {
return finalMobileUrls;
}
/**
* Sets the finalMobileUrls value for this BiddableAdGroupCriterion.
*
* @param finalMobileUrls * A list of possible final mobile URLs after all cross domain
* redirects.
*/
public void setFinalMobileUrls(com.google.api.ads.adwords.axis.v201607.cm.UrlList finalMobileUrls) {
this.finalMobileUrls = finalMobileUrls;
}
/**
* Gets the finalAppUrls value for this BiddableAdGroupCriterion.
*
* @return finalAppUrls * A list of final app URLs that will be used on mobile if the
* user has the specific app
* installed.
*/
public com.google.api.ads.adwords.axis.v201607.cm.AppUrlList getFinalAppUrls() {
return finalAppUrls;
}
/**
* Sets the finalAppUrls value for this BiddableAdGroupCriterion.
*
* @param finalAppUrls * A list of final app URLs that will be used on mobile if the
* user has the specific app
* installed.
*/
public void setFinalAppUrls(com.google.api.ads.adwords.axis.v201607.cm.AppUrlList finalAppUrls) {
this.finalAppUrls = finalAppUrls;
}
/**
* Gets the trackingUrlTemplate value for this BiddableAdGroupCriterion.
*
* @return trackingUrlTemplate * URL template for constructing a tracking URL.
*
* <p>On update, empty string ("") indicates to clear
* the field.
*/
public java.lang.String getTrackingUrlTemplate() {
return trackingUrlTemplate;
}
/**
* Sets the trackingUrlTemplate value for this BiddableAdGroupCriterion.
*
* @param trackingUrlTemplate * URL template for constructing a tracking URL.
*
* <p>On update, empty string ("") indicates to clear
* the field.
*/
public void setTrackingUrlTemplate(java.lang.String trackingUrlTemplate) {
this.trackingUrlTemplate = trackingUrlTemplate;
}
/**
* Gets the urlCustomParameters value for this BiddableAdGroupCriterion.
*
* @return urlCustomParameters * A list of mappings to be used for substituting URL custom parameter
* tags in the
* trackingUrlTemplate, finalUrls, and/or finalMobileUrls.
*/
public com.google.api.ads.adwords.axis.v201607.cm.CustomParameters getUrlCustomParameters() {
return urlCustomParameters;
}
/**
* Sets the urlCustomParameters value for this BiddableAdGroupCriterion.
*
* @param urlCustomParameters * A list of mappings to be used for substituting URL custom parameter
* tags in the
* trackingUrlTemplate, finalUrls, and/or finalMobileUrls.
*/
public void setUrlCustomParameters(com.google.api.ads.adwords.axis.v201607.cm.CustomParameters urlCustomParameters) {
this.urlCustomParameters = urlCustomParameters;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) {
if (!(obj instanceof BiddableAdGroupCriterion)) return false;
BiddableAdGroupCriterion other = (BiddableAdGroupCriterion) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) {
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = super.equals(obj) &&
((this.userStatus==null && other.getUserStatus()==null) ||
(this.userStatus!=null &&
this.userStatus.equals(other.getUserStatus()))) &&
((this.systemServingStatus==null && other.getSystemServingStatus()==null) ||
(this.systemServingStatus!=null &&
this.systemServingStatus.equals(other.getSystemServingStatus()))) &&
((this.approvalStatus==null && other.getApprovalStatus()==null) ||
(this.approvalStatus!=null &&
this.approvalStatus.equals(other.getApprovalStatus()))) &&
((this.disapprovalReasons==null && other.getDisapprovalReasons()==null) ||
(this.disapprovalReasons!=null &&
java.util.Arrays.equals(this.disapprovalReasons, other.getDisapprovalReasons()))) &&
((this.destinationUrl==null && other.getDestinationUrl()==null) ||
(this.destinationUrl!=null &&
this.destinationUrl.equals(other.getDestinationUrl()))) &&
((this.experimentData==null && other.getExperimentData()==null) ||
(this.experimentData!=null &&
this.experimentData.equals(other.getExperimentData()))) &&
((this.firstPageCpc==null && other.getFirstPageCpc()==null) ||
(this.firstPageCpc!=null &&
this.firstPageCpc.equals(other.getFirstPageCpc()))) &&
((this.topOfPageCpc==null && other.getTopOfPageCpc()==null) ||
(this.topOfPageCpc!=null &&
this.topOfPageCpc.equals(other.getTopOfPageCpc()))) &&
((this.firstPositionCpc==null && other.getFirstPositionCpc()==null) ||
(this.firstPositionCpc!=null &&
this.firstPositionCpc.equals(other.getFirstPositionCpc()))) &&
((this.qualityInfo==null && other.getQualityInfo()==null) ||
(this.qualityInfo!=null &&
this.qualityInfo.equals(other.getQualityInfo()))) &&
((this.biddingStrategyConfiguration==null && other.getBiddingStrategyConfiguration()==null) ||
(this.biddingStrategyConfiguration!=null &&
this.biddingStrategyConfiguration.equals(other.getBiddingStrategyConfiguration()))) &&
((this.bidModifier==null && other.getBidModifier()==null) ||
(this.bidModifier!=null &&
this.bidModifier.equals(other.getBidModifier()))) &&
((this.finalUrls==null && other.getFinalUrls()==null) ||
(this.finalUrls!=null &&
this.finalUrls.equals(other.getFinalUrls()))) &&
((this.finalMobileUrls==null && other.getFinalMobileUrls()==null) ||
(this.finalMobileUrls!=null &&
this.finalMobileUrls.equals(other.getFinalMobileUrls()))) &&
((this.finalAppUrls==null && other.getFinalAppUrls()==null) ||
(this.finalAppUrls!=null &&
this.finalAppUrls.equals(other.getFinalAppUrls()))) &&
((this.trackingUrlTemplate==null && other.getTrackingUrlTemplate()==null) ||
(this.trackingUrlTemplate!=null &&
this.trackingUrlTemplate.equals(other.getTrackingUrlTemplate()))) &&
((this.urlCustomParameters==null && other.getUrlCustomParameters()==null) ||
(this.urlCustomParameters!=null &&
this.urlCustomParameters.equals(other.getUrlCustomParameters())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() {
if (__hashCodeCalc) {
return 0;
}
__hashCodeCalc = true;
int _hashCode = super.hashCode();
if (getUserStatus() != null) {
_hashCode += getUserStatus().hashCode();
}
if (getSystemServingStatus() != null) {
_hashCode += getSystemServingStatus().hashCode();
}
if (getApprovalStatus() != null) {
_hashCode += getApprovalStatus().hashCode();
}
if (getDisapprovalReasons() != null) {
for (int i=0;
i<java.lang.reflect.Array.getLength(getDisapprovalReasons());
i++) {
java.lang.Object obj = java.lang.reflect.Array.get(getDisapprovalReasons(), i);
if (obj != null &&
!obj.getClass().isArray()) {
_hashCode += obj.hashCode();
}
}
}
if (getDestinationUrl() != null) {
_hashCode += getDestinationUrl().hashCode();
}
if (getExperimentData() != null) {
_hashCode += getExperimentData().hashCode();
}
if (getFirstPageCpc() != null) {
_hashCode += getFirstPageCpc().hashCode();
}
if (getTopOfPageCpc() != null) {
_hashCode += getTopOfPageCpc().hashCode();
}
if (getFirstPositionCpc() != null) {
_hashCode += getFirstPositionCpc().hashCode();
}
if (getQualityInfo() != null) {
_hashCode += getQualityInfo().hashCode();
}
if (getBiddingStrategyConfiguration() != null) {
_hashCode += getBiddingStrategyConfiguration().hashCode();
}
if (getBidModifier() != null) {
_hashCode += getBidModifier().hashCode();
}
if (getFinalUrls() != null) {
_hashCode += getFinalUrls().hashCode();
}
if (getFinalMobileUrls() != null) {
_hashCode += getFinalMobileUrls().hashCode();
}
if (getFinalAppUrls() != null) {
_hashCode += getFinalAppUrls().hashCode();
}
if (getTrackingUrlTemplate() != null) {
_hashCode += getTrackingUrlTemplate().hashCode();
}
if (getUrlCustomParameters() != null) {
_hashCode += getUrlCustomParameters().hashCode();
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(BiddableAdGroupCriterion.class, true);
static {
typeDesc.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "BiddableAdGroupCriterion"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("userStatus");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "userStatus"));
elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "UserStatus"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("systemServingStatus");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "systemServingStatus"));
elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "SystemServingStatus"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("approvalStatus");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "approvalStatus"));
elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "ApprovalStatus"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("disapprovalReasons");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "disapprovalReasons"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
elemField.setMaxOccursUnbounded(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("destinationUrl");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "destinationUrl"));
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("experimentData");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "experimentData"));
elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "BiddableAdGroupCriterionExperimentData"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("firstPageCpc");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "firstPageCpc"));
elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "Bid"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("topOfPageCpc");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "topOfPageCpc"));
elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "Bid"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("firstPositionCpc");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "firstPositionCpc"));
elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "Bid"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("qualityInfo");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "qualityInfo"));
elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "QualityInfo"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("biddingStrategyConfiguration");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "biddingStrategyConfiguration"));
elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "BiddingStrategyConfiguration"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("bidModifier");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "bidModifier"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("finalUrls");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "finalUrls"));
elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "UrlList"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("finalMobileUrls");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "finalMobileUrls"));
elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "UrlList"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("finalAppUrls");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "finalAppUrls"));
elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "AppUrlList"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("trackingUrlTemplate");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "trackingUrlTemplate"));
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("urlCustomParameters");
elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "urlCustomParameters"));
elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201607", "CustomParameters"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
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);
}
}