All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.ads.googleads.v17.services.GenerateRecommendationsRequest Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/ads/googleads/v17/services/recommendation_service.proto

// Protobuf Java Version: 3.25.3
package com.google.ads.googleads.v17.services;

/**
 * 
 * Request message for
 * [RecommendationService.GenerateRecommendations][google.ads.googleads.v17.services.RecommendationService.GenerateRecommendations].
 * 
* * Protobuf type {@code google.ads.googleads.v17.services.GenerateRecommendationsRequest} */ public final class GenerateRecommendationsRequest extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:google.ads.googleads.v17.services.GenerateRecommendationsRequest) GenerateRecommendationsRequestOrBuilder { private static final long serialVersionUID = 0L; // Use GenerateRecommendationsRequest.newBuilder() to construct. private GenerateRecommendationsRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private GenerateRecommendationsRequest() { customerId_ = ""; recommendationTypes_ = java.util.Collections.emptyList(); advertisingChannelType_ = 0; conversionTrackingStatus_ = 0; adGroupInfo_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new GenerateRecommendationsRequest(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.class, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.Builder.class); } public interface BiddingInfoOrBuilder extends // @@protoc_insertion_point(interface_extends:google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo) com.google.protobuf.MessageOrBuilder { /** *
     * Current bidding strategy.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 1; * @return Whether the biddingStrategyType field is set. */ boolean hasBiddingStrategyType(); /** *
     * Current bidding strategy.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 1; * @return The enum numeric value on the wire for biddingStrategyType. */ int getBiddingStrategyTypeValue(); /** *
     * Current bidding strategy.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 1; * @return The biddingStrategyType. */ com.google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType getBiddingStrategyType(); /** *
     * Current target_cpa in micros.
     * This can be populated for campaigns with a bidding strategy type of
     * TARGET_CPA or MAXIMIZE_CONVERSIONS.
     * 
* * int64 target_cpa_micros = 2; * @return Whether the targetCpaMicros field is set. */ boolean hasTargetCpaMicros(); /** *
     * Current target_cpa in micros.
     * This can be populated for campaigns with a bidding strategy type of
     * TARGET_CPA or MAXIMIZE_CONVERSIONS.
     * 
* * int64 target_cpa_micros = 2; * @return The targetCpaMicros. */ long getTargetCpaMicros(); /** *
     * Current target_roas.
     * This can be populated for campaigns with a bidding strategy type of
     * TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE.
     * 
* * double target_roas = 3; * @return Whether the targetRoas field is set. */ boolean hasTargetRoas(); /** *
     * Current target_roas.
     * This can be populated for campaigns with a bidding strategy type of
     * TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE.
     * 
* * double target_roas = 3; * @return The targetRoas. */ double getTargetRoas(); com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.BiddingStrategyTargetInfoCase getBiddingStrategyTargetInfoCase(); } /** *
   * Current bidding information of the campaign. Provides a wrapper for
   * bidding-related signals that inform recommendations.
   * 
* * Protobuf type {@code google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo} */ public static final class BiddingInfo extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo) BiddingInfoOrBuilder { private static final long serialVersionUID = 0L; // Use BiddingInfo.newBuilder() to construct. private BiddingInfo(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private BiddingInfo() { biddingStrategyType_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new BiddingInfo(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_BiddingInfo_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_BiddingInfo_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.class, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.Builder.class); } private int bitField0_; private int biddingStrategyTargetInfoCase_ = 0; @SuppressWarnings("serial") private java.lang.Object biddingStrategyTargetInfo_; public enum BiddingStrategyTargetInfoCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum { TARGET_CPA_MICROS(2), TARGET_ROAS(3), BIDDINGSTRATEGYTARGETINFO_NOT_SET(0); private final int value; private BiddingStrategyTargetInfoCase(int value) { this.value = value; } /** * @param value The number of the enum to look for. * @return The enum associated with the given number. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static BiddingStrategyTargetInfoCase valueOf(int value) { return forNumber(value); } public static BiddingStrategyTargetInfoCase forNumber(int value) { switch (value) { case 2: return TARGET_CPA_MICROS; case 3: return TARGET_ROAS; case 0: return BIDDINGSTRATEGYTARGETINFO_NOT_SET; default: return null; } } public int getNumber() { return this.value; } }; public BiddingStrategyTargetInfoCase getBiddingStrategyTargetInfoCase() { return BiddingStrategyTargetInfoCase.forNumber( biddingStrategyTargetInfoCase_); } public static final int BIDDING_STRATEGY_TYPE_FIELD_NUMBER = 1; private int biddingStrategyType_ = 0; /** *
     * Current bidding strategy.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 1; * @return Whether the biddingStrategyType field is set. */ @java.lang.Override public boolean hasBiddingStrategyType() { return ((bitField0_ & 0x00000001) != 0); } /** *
     * Current bidding strategy.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 1; * @return The enum numeric value on the wire for biddingStrategyType. */ @java.lang.Override public int getBiddingStrategyTypeValue() { return biddingStrategyType_; } /** *
     * Current bidding strategy.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 1; * @return The biddingStrategyType. */ @java.lang.Override public com.google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType getBiddingStrategyType() { com.google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType result = com.google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType.forNumber(biddingStrategyType_); return result == null ? com.google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType.UNRECOGNIZED : result; } public static final int TARGET_CPA_MICROS_FIELD_NUMBER = 2; /** *
     * Current target_cpa in micros.
     * This can be populated for campaigns with a bidding strategy type of
     * TARGET_CPA or MAXIMIZE_CONVERSIONS.
     * 
* * int64 target_cpa_micros = 2; * @return Whether the targetCpaMicros field is set. */ @java.lang.Override public boolean hasTargetCpaMicros() { return biddingStrategyTargetInfoCase_ == 2; } /** *
     * Current target_cpa in micros.
     * This can be populated for campaigns with a bidding strategy type of
     * TARGET_CPA or MAXIMIZE_CONVERSIONS.
     * 
* * int64 target_cpa_micros = 2; * @return The targetCpaMicros. */ @java.lang.Override public long getTargetCpaMicros() { if (biddingStrategyTargetInfoCase_ == 2) { return (java.lang.Long) biddingStrategyTargetInfo_; } return 0L; } public static final int TARGET_ROAS_FIELD_NUMBER = 3; /** *
     * Current target_roas.
     * This can be populated for campaigns with a bidding strategy type of
     * TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE.
     * 
* * double target_roas = 3; * @return Whether the targetRoas field is set. */ @java.lang.Override public boolean hasTargetRoas() { return biddingStrategyTargetInfoCase_ == 3; } /** *
     * Current target_roas.
     * This can be populated for campaigns with a bidding strategy type of
     * TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE.
     * 
* * double target_roas = 3; * @return The targetRoas. */ @java.lang.Override public double getTargetRoas() { if (biddingStrategyTargetInfoCase_ == 3) { return (java.lang.Double) biddingStrategyTargetInfo_; } return 0D; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { output.writeEnum(1, biddingStrategyType_); } if (biddingStrategyTargetInfoCase_ == 2) { output.writeInt64( 2, (long)((java.lang.Long) biddingStrategyTargetInfo_)); } if (biddingStrategyTargetInfoCase_ == 3) { output.writeDouble( 3, (double)((java.lang.Double) biddingStrategyTargetInfo_)); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(1, biddingStrategyType_); } if (biddingStrategyTargetInfoCase_ == 2) { size += com.google.protobuf.CodedOutputStream .computeInt64Size( 2, (long)((java.lang.Long) biddingStrategyTargetInfo_)); } if (biddingStrategyTargetInfoCase_ == 3) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize( 3, (double)((java.lang.Double) biddingStrategyTargetInfo_)); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo)) { return super.equals(obj); } com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo other = (com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo) obj; if (hasBiddingStrategyType() != other.hasBiddingStrategyType()) return false; if (hasBiddingStrategyType()) { if (biddingStrategyType_ != other.biddingStrategyType_) return false; } if (!getBiddingStrategyTargetInfoCase().equals(other.getBiddingStrategyTargetInfoCase())) return false; switch (biddingStrategyTargetInfoCase_) { case 2: if (getTargetCpaMicros() != other.getTargetCpaMicros()) return false; break; case 3: if (java.lang.Double.doubleToLongBits(getTargetRoas()) != java.lang.Double.doubleToLongBits( other.getTargetRoas())) return false; break; case 0: default: } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasBiddingStrategyType()) { hash = (37 * hash) + BIDDING_STRATEGY_TYPE_FIELD_NUMBER; hash = (53 * hash) + biddingStrategyType_; } switch (biddingStrategyTargetInfoCase_) { case 2: hash = (37 * hash) + TARGET_CPA_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getTargetCpaMicros()); break; case 3: hash = (37 * hash) + TARGET_ROAS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getTargetRoas())); break; case 0: default: } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Current bidding information of the campaign. Provides a wrapper for
     * bidding-related signals that inform recommendations.
     * 
* * Protobuf type {@code google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo) com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfoOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_BiddingInfo_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_BiddingInfo_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.class, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.Builder.class); } // Construct using com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; biddingStrategyType_ = 0; biddingStrategyTargetInfoCase_ = 0; biddingStrategyTargetInfo_ = null; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_BiddingInfo_descriptor; } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo getDefaultInstanceForType() { return com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.getDefaultInstance(); } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo build() { com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo buildPartial() { com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo result = new com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo(this); if (bitField0_ != 0) { buildPartial0(result); } buildPartialOneofs(result); onBuilt(); return result; } private void buildPartial0(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.biddingStrategyType_ = biddingStrategyType_; to_bitField0_ |= 0x00000001; } result.bitField0_ |= to_bitField0_; } private void buildPartialOneofs(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo result) { result.biddingStrategyTargetInfoCase_ = biddingStrategyTargetInfoCase_; result.biddingStrategyTargetInfo_ = this.biddingStrategyTargetInfo_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo) { return mergeFrom((com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo other) { if (other == com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.getDefaultInstance()) return this; if (other.hasBiddingStrategyType()) { setBiddingStrategyType(other.getBiddingStrategyType()); } switch (other.getBiddingStrategyTargetInfoCase()) { case TARGET_CPA_MICROS: { setTargetCpaMicros(other.getTargetCpaMicros()); break; } case TARGET_ROAS: { setTargetRoas(other.getTargetRoas()); break; } case BIDDINGSTRATEGYTARGETINFO_NOT_SET: { break; } } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 8: { biddingStrategyType_ = input.readEnum(); bitField0_ |= 0x00000001; break; } // case 8 case 16: { biddingStrategyTargetInfo_ = input.readInt64(); biddingStrategyTargetInfoCase_ = 2; break; } // case 16 case 25: { biddingStrategyTargetInfo_ = input.readDouble(); biddingStrategyTargetInfoCase_ = 3; break; } // case 25 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int biddingStrategyTargetInfoCase_ = 0; private java.lang.Object biddingStrategyTargetInfo_; public BiddingStrategyTargetInfoCase getBiddingStrategyTargetInfoCase() { return BiddingStrategyTargetInfoCase.forNumber( biddingStrategyTargetInfoCase_); } public Builder clearBiddingStrategyTargetInfo() { biddingStrategyTargetInfoCase_ = 0; biddingStrategyTargetInfo_ = null; onChanged(); return this; } private int bitField0_; private int biddingStrategyType_ = 0; /** *
       * Current bidding strategy.
       * This field is necessary for the following recommendation_types:
       * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
       * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
       * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
       * 
* * optional .google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 1; * @return Whether the biddingStrategyType field is set. */ @java.lang.Override public boolean hasBiddingStrategyType() { return ((bitField0_ & 0x00000001) != 0); } /** *
       * Current bidding strategy.
       * This field is necessary for the following recommendation_types:
       * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
       * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
       * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
       * 
* * optional .google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 1; * @return The enum numeric value on the wire for biddingStrategyType. */ @java.lang.Override public int getBiddingStrategyTypeValue() { return biddingStrategyType_; } /** *
       * Current bidding strategy.
       * This field is necessary for the following recommendation_types:
       * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
       * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
       * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
       * 
* * optional .google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 1; * @param value The enum numeric value on the wire for biddingStrategyType to set. * @return This builder for chaining. */ public Builder setBiddingStrategyTypeValue(int value) { biddingStrategyType_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * Current bidding strategy.
       * This field is necessary for the following recommendation_types:
       * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
       * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
       * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
       * 
* * optional .google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 1; * @return The biddingStrategyType. */ @java.lang.Override public com.google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType getBiddingStrategyType() { com.google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType result = com.google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType.forNumber(biddingStrategyType_); return result == null ? com.google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType.UNRECOGNIZED : result; } /** *
       * Current bidding strategy.
       * This field is necessary for the following recommendation_types:
       * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
       * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
       * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
       * 
* * optional .google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 1; * @param value The biddingStrategyType to set. * @return This builder for chaining. */ public Builder setBiddingStrategyType(com.google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000001; biddingStrategyType_ = value.getNumber(); onChanged(); return this; } /** *
       * Current bidding strategy.
       * This field is necessary for the following recommendation_types:
       * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
       * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
       * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
       * 
* * optional .google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 1; * @return This builder for chaining. */ public Builder clearBiddingStrategyType() { bitField0_ = (bitField0_ & ~0x00000001); biddingStrategyType_ = 0; onChanged(); return this; } /** *
       * Current target_cpa in micros.
       * This can be populated for campaigns with a bidding strategy type of
       * TARGET_CPA or MAXIMIZE_CONVERSIONS.
       * 
* * int64 target_cpa_micros = 2; * @return Whether the targetCpaMicros field is set. */ public boolean hasTargetCpaMicros() { return biddingStrategyTargetInfoCase_ == 2; } /** *
       * Current target_cpa in micros.
       * This can be populated for campaigns with a bidding strategy type of
       * TARGET_CPA or MAXIMIZE_CONVERSIONS.
       * 
* * int64 target_cpa_micros = 2; * @return The targetCpaMicros. */ public long getTargetCpaMicros() { if (biddingStrategyTargetInfoCase_ == 2) { return (java.lang.Long) biddingStrategyTargetInfo_; } return 0L; } /** *
       * Current target_cpa in micros.
       * This can be populated for campaigns with a bidding strategy type of
       * TARGET_CPA or MAXIMIZE_CONVERSIONS.
       * 
* * int64 target_cpa_micros = 2; * @param value The targetCpaMicros to set. * @return This builder for chaining. */ public Builder setTargetCpaMicros(long value) { biddingStrategyTargetInfoCase_ = 2; biddingStrategyTargetInfo_ = value; onChanged(); return this; } /** *
       * Current target_cpa in micros.
       * This can be populated for campaigns with a bidding strategy type of
       * TARGET_CPA or MAXIMIZE_CONVERSIONS.
       * 
* * int64 target_cpa_micros = 2; * @return This builder for chaining. */ public Builder clearTargetCpaMicros() { if (biddingStrategyTargetInfoCase_ == 2) { biddingStrategyTargetInfoCase_ = 0; biddingStrategyTargetInfo_ = null; onChanged(); } return this; } /** *
       * Current target_roas.
       * This can be populated for campaigns with a bidding strategy type of
       * TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE.
       * 
* * double target_roas = 3; * @return Whether the targetRoas field is set. */ public boolean hasTargetRoas() { return biddingStrategyTargetInfoCase_ == 3; } /** *
       * Current target_roas.
       * This can be populated for campaigns with a bidding strategy type of
       * TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE.
       * 
* * double target_roas = 3; * @return The targetRoas. */ public double getTargetRoas() { if (biddingStrategyTargetInfoCase_ == 3) { return (java.lang.Double) biddingStrategyTargetInfo_; } return 0D; } /** *
       * Current target_roas.
       * This can be populated for campaigns with a bidding strategy type of
       * TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE.
       * 
* * double target_roas = 3; * @param value The targetRoas to set. * @return This builder for chaining. */ public Builder setTargetRoas(double value) { biddingStrategyTargetInfoCase_ = 3; biddingStrategyTargetInfo_ = value; onChanged(); return this; } /** *
       * Current target_roas.
       * This can be populated for campaigns with a bidding strategy type of
       * TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE.
       * 
* * double target_roas = 3; * @return This builder for chaining. */ public Builder clearTargetRoas() { if (biddingStrategyTargetInfoCase_ == 3) { biddingStrategyTargetInfoCase_ = 0; biddingStrategyTargetInfo_ = null; onChanged(); } return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo) } // @@protoc_insertion_point(class_scope:google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo) private static final com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo(); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public BiddingInfo parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface AdGroupInfoOrBuilder extends // @@protoc_insertion_point(interface_extends:google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo) com.google.protobuf.MessageOrBuilder { /** *
     * Optional. AdGroup Type of the AdGroup.
     * This field is necessary for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * optional .google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType ad_group_type = 1 [(.google.api.field_behavior) = OPTIONAL]; * @return Whether the adGroupType field is set. */ boolean hasAdGroupType(); /** *
     * Optional. AdGroup Type of the AdGroup.
     * This field is necessary for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * optional .google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType ad_group_type = 1 [(.google.api.field_behavior) = OPTIONAL]; * @return The enum numeric value on the wire for adGroupType. */ int getAdGroupTypeValue(); /** *
     * Optional. AdGroup Type of the AdGroup.
     * This field is necessary for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * optional .google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType ad_group_type = 1 [(.google.api.field_behavior) = OPTIONAL]; * @return The adGroupType. */ com.google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType getAdGroupType(); /** *
     * Optional. Current keywords.
     * This field is optional for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ java.util.List getKeywordsList(); /** *
     * Optional. Current keywords.
     * This field is optional for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ com.google.ads.googleads.v17.common.KeywordInfo getKeywords(int index); /** *
     * Optional. Current keywords.
     * This field is optional for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ int getKeywordsCount(); /** *
     * Optional. Current keywords.
     * This field is optional for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ java.util.List getKeywordsOrBuilderList(); /** *
     * Optional. Current keywords.
     * This field is optional for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ com.google.ads.googleads.v17.common.KeywordInfoOrBuilder getKeywordsOrBuilder( int index); } /** *
   * Current AdGroup Information of the campaign.
   * 
* * Protobuf type {@code google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo} */ public static final class AdGroupInfo extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo) AdGroupInfoOrBuilder { private static final long serialVersionUID = 0L; // Use AdGroupInfo.newBuilder() to construct. private AdGroupInfo(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private AdGroupInfo() { adGroupType_ = 0; keywords_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new AdGroupInfo(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_AdGroupInfo_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_AdGroupInfo_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.class, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.Builder.class); } private int bitField0_; public static final int AD_GROUP_TYPE_FIELD_NUMBER = 1; private int adGroupType_ = 0; /** *
     * Optional. AdGroup Type of the AdGroup.
     * This field is necessary for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * optional .google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType ad_group_type = 1 [(.google.api.field_behavior) = OPTIONAL]; * @return Whether the adGroupType field is set. */ @java.lang.Override public boolean hasAdGroupType() { return ((bitField0_ & 0x00000001) != 0); } /** *
     * Optional. AdGroup Type of the AdGroup.
     * This field is necessary for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * optional .google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType ad_group_type = 1 [(.google.api.field_behavior) = OPTIONAL]; * @return The enum numeric value on the wire for adGroupType. */ @java.lang.Override public int getAdGroupTypeValue() { return adGroupType_; } /** *
     * Optional. AdGroup Type of the AdGroup.
     * This field is necessary for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * optional .google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType ad_group_type = 1 [(.google.api.field_behavior) = OPTIONAL]; * @return The adGroupType. */ @java.lang.Override public com.google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType getAdGroupType() { com.google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType result = com.google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType.forNumber(adGroupType_); return result == null ? com.google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType.UNRECOGNIZED : result; } public static final int KEYWORDS_FIELD_NUMBER = 2; @SuppressWarnings("serial") private java.util.List keywords_; /** *
     * Optional. Current keywords.
     * This field is optional for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ @java.lang.Override public java.util.List getKeywordsList() { return keywords_; } /** *
     * Optional. Current keywords.
     * This field is optional for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ @java.lang.Override public java.util.List getKeywordsOrBuilderList() { return keywords_; } /** *
     * Optional. Current keywords.
     * This field is optional for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ @java.lang.Override public int getKeywordsCount() { return keywords_.size(); } /** *
     * Optional. Current keywords.
     * This field is optional for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ @java.lang.Override public com.google.ads.googleads.v17.common.KeywordInfo getKeywords(int index) { return keywords_.get(index); } /** *
     * Optional. Current keywords.
     * This field is optional for the following recommendation_types if
     * ad_group_info is set:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ @java.lang.Override public com.google.ads.googleads.v17.common.KeywordInfoOrBuilder getKeywordsOrBuilder( int index) { return keywords_.get(index); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { output.writeEnum(1, adGroupType_); } for (int i = 0; i < keywords_.size(); i++) { output.writeMessage(2, keywords_.get(i)); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(1, adGroupType_); } for (int i = 0; i < keywords_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, keywords_.get(i)); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo)) { return super.equals(obj); } com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo other = (com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo) obj; if (hasAdGroupType() != other.hasAdGroupType()) return false; if (hasAdGroupType()) { if (adGroupType_ != other.adGroupType_) return false; } if (!getKeywordsList() .equals(other.getKeywordsList())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasAdGroupType()) { hash = (37 * hash) + AD_GROUP_TYPE_FIELD_NUMBER; hash = (53 * hash) + adGroupType_; } if (getKeywordsCount() > 0) { hash = (37 * hash) + KEYWORDS_FIELD_NUMBER; hash = (53 * hash) + getKeywordsList().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Current AdGroup Information of the campaign.
     * 
* * Protobuf type {@code google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo) com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfoOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_AdGroupInfo_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_AdGroupInfo_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.class, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.Builder.class); } // Construct using com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; adGroupType_ = 0; if (keywordsBuilder_ == null) { keywords_ = java.util.Collections.emptyList(); } else { keywords_ = null; keywordsBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000002); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_AdGroupInfo_descriptor; } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo getDefaultInstanceForType() { return com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.getDefaultInstance(); } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo build() { com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo buildPartial() { com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo result = new com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo result) { if (keywordsBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { keywords_ = java.util.Collections.unmodifiableList(keywords_); bitField0_ = (bitField0_ & ~0x00000002); } result.keywords_ = keywords_; } else { result.keywords_ = keywordsBuilder_.build(); } } private void buildPartial0(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.adGroupType_ = adGroupType_; to_bitField0_ |= 0x00000001; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo) { return mergeFrom((com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo other) { if (other == com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.getDefaultInstance()) return this; if (other.hasAdGroupType()) { setAdGroupType(other.getAdGroupType()); } if (keywordsBuilder_ == null) { if (!other.keywords_.isEmpty()) { if (keywords_.isEmpty()) { keywords_ = other.keywords_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureKeywordsIsMutable(); keywords_.addAll(other.keywords_); } onChanged(); } } else { if (!other.keywords_.isEmpty()) { if (keywordsBuilder_.isEmpty()) { keywordsBuilder_.dispose(); keywordsBuilder_ = null; keywords_ = other.keywords_; bitField0_ = (bitField0_ & ~0x00000002); keywordsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getKeywordsFieldBuilder() : null; } else { keywordsBuilder_.addAllMessages(other.keywords_); } } } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 8: { adGroupType_ = input.readEnum(); bitField0_ |= 0x00000001; break; } // case 8 case 18: { com.google.ads.googleads.v17.common.KeywordInfo m = input.readMessage( com.google.ads.googleads.v17.common.KeywordInfo.parser(), extensionRegistry); if (keywordsBuilder_ == null) { ensureKeywordsIsMutable(); keywords_.add(m); } else { keywordsBuilder_.addMessage(m); } break; } // case 18 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private int adGroupType_ = 0; /** *
       * Optional. AdGroup Type of the AdGroup.
       * This field is necessary for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * optional .google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType ad_group_type = 1 [(.google.api.field_behavior) = OPTIONAL]; * @return Whether the adGroupType field is set. */ @java.lang.Override public boolean hasAdGroupType() { return ((bitField0_ & 0x00000001) != 0); } /** *
       * Optional. AdGroup Type of the AdGroup.
       * This field is necessary for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * optional .google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType ad_group_type = 1 [(.google.api.field_behavior) = OPTIONAL]; * @return The enum numeric value on the wire for adGroupType. */ @java.lang.Override public int getAdGroupTypeValue() { return adGroupType_; } /** *
       * Optional. AdGroup Type of the AdGroup.
       * This field is necessary for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * optional .google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType ad_group_type = 1 [(.google.api.field_behavior) = OPTIONAL]; * @param value The enum numeric value on the wire for adGroupType to set. * @return This builder for chaining. */ public Builder setAdGroupTypeValue(int value) { adGroupType_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * Optional. AdGroup Type of the AdGroup.
       * This field is necessary for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * optional .google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType ad_group_type = 1 [(.google.api.field_behavior) = OPTIONAL]; * @return The adGroupType. */ @java.lang.Override public com.google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType getAdGroupType() { com.google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType result = com.google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType.forNumber(adGroupType_); return result == null ? com.google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType.UNRECOGNIZED : result; } /** *
       * Optional. AdGroup Type of the AdGroup.
       * This field is necessary for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * optional .google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType ad_group_type = 1 [(.google.api.field_behavior) = OPTIONAL]; * @param value The adGroupType to set. * @return This builder for chaining. */ public Builder setAdGroupType(com.google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000001; adGroupType_ = value.getNumber(); onChanged(); return this; } /** *
       * Optional. AdGroup Type of the AdGroup.
       * This field is necessary for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * optional .google.ads.googleads.v17.enums.AdGroupTypeEnum.AdGroupType ad_group_type = 1 [(.google.api.field_behavior) = OPTIONAL]; * @return This builder for chaining. */ public Builder clearAdGroupType() { bitField0_ = (bitField0_ & ~0x00000001); adGroupType_ = 0; onChanged(); return this; } private java.util.List keywords_ = java.util.Collections.emptyList(); private void ensureKeywordsIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { keywords_ = new java.util.ArrayList(keywords_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.ads.googleads.v17.common.KeywordInfo, com.google.ads.googleads.v17.common.KeywordInfo.Builder, com.google.ads.googleads.v17.common.KeywordInfoOrBuilder> keywordsBuilder_; /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public java.util.List getKeywordsList() { if (keywordsBuilder_ == null) { return java.util.Collections.unmodifiableList(keywords_); } else { return keywordsBuilder_.getMessageList(); } } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public int getKeywordsCount() { if (keywordsBuilder_ == null) { return keywords_.size(); } else { return keywordsBuilder_.getCount(); } } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public com.google.ads.googleads.v17.common.KeywordInfo getKeywords(int index) { if (keywordsBuilder_ == null) { return keywords_.get(index); } else { return keywordsBuilder_.getMessage(index); } } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder setKeywords( int index, com.google.ads.googleads.v17.common.KeywordInfo value) { if (keywordsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureKeywordsIsMutable(); keywords_.set(index, value); onChanged(); } else { keywordsBuilder_.setMessage(index, value); } return this; } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder setKeywords( int index, com.google.ads.googleads.v17.common.KeywordInfo.Builder builderForValue) { if (keywordsBuilder_ == null) { ensureKeywordsIsMutable(); keywords_.set(index, builderForValue.build()); onChanged(); } else { keywordsBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder addKeywords(com.google.ads.googleads.v17.common.KeywordInfo value) { if (keywordsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureKeywordsIsMutable(); keywords_.add(value); onChanged(); } else { keywordsBuilder_.addMessage(value); } return this; } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder addKeywords( int index, com.google.ads.googleads.v17.common.KeywordInfo value) { if (keywordsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureKeywordsIsMutable(); keywords_.add(index, value); onChanged(); } else { keywordsBuilder_.addMessage(index, value); } return this; } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder addKeywords( com.google.ads.googleads.v17.common.KeywordInfo.Builder builderForValue) { if (keywordsBuilder_ == null) { ensureKeywordsIsMutable(); keywords_.add(builderForValue.build()); onChanged(); } else { keywordsBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder addKeywords( int index, com.google.ads.googleads.v17.common.KeywordInfo.Builder builderForValue) { if (keywordsBuilder_ == null) { ensureKeywordsIsMutable(); keywords_.add(index, builderForValue.build()); onChanged(); } else { keywordsBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder addAllKeywords( java.lang.Iterable values) { if (keywordsBuilder_ == null) { ensureKeywordsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, keywords_); onChanged(); } else { keywordsBuilder_.addAllMessages(values); } return this; } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder clearKeywords() { if (keywordsBuilder_ == null) { keywords_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { keywordsBuilder_.clear(); } return this; } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder removeKeywords(int index) { if (keywordsBuilder_ == null) { ensureKeywordsIsMutable(); keywords_.remove(index); onChanged(); } else { keywordsBuilder_.remove(index); } return this; } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public com.google.ads.googleads.v17.common.KeywordInfo.Builder getKeywordsBuilder( int index) { return getKeywordsFieldBuilder().getBuilder(index); } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public com.google.ads.googleads.v17.common.KeywordInfoOrBuilder getKeywordsOrBuilder( int index) { if (keywordsBuilder_ == null) { return keywords_.get(index); } else { return keywordsBuilder_.getMessageOrBuilder(index); } } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public java.util.List getKeywordsOrBuilderList() { if (keywordsBuilder_ != null) { return keywordsBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(keywords_); } } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public com.google.ads.googleads.v17.common.KeywordInfo.Builder addKeywordsBuilder() { return getKeywordsFieldBuilder().addBuilder( com.google.ads.googleads.v17.common.KeywordInfo.getDefaultInstance()); } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public com.google.ads.googleads.v17.common.KeywordInfo.Builder addKeywordsBuilder( int index) { return getKeywordsFieldBuilder().addBuilder( index, com.google.ads.googleads.v17.common.KeywordInfo.getDefaultInstance()); } /** *
       * Optional. Current keywords.
       * This field is optional for the following recommendation_types if
       * ad_group_info is set:
       * KEYWORD
       * 
* * repeated .google.ads.googleads.v17.common.KeywordInfo keywords = 2 [(.google.api.field_behavior) = OPTIONAL]; */ public java.util.List getKeywordsBuilderList() { return getKeywordsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.ads.googleads.v17.common.KeywordInfo, com.google.ads.googleads.v17.common.KeywordInfo.Builder, com.google.ads.googleads.v17.common.KeywordInfoOrBuilder> getKeywordsFieldBuilder() { if (keywordsBuilder_ == null) { keywordsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.google.ads.googleads.v17.common.KeywordInfo, com.google.ads.googleads.v17.common.KeywordInfo.Builder, com.google.ads.googleads.v17.common.KeywordInfoOrBuilder>( keywords_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); keywords_ = null; } return keywordsBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo) } // @@protoc_insertion_point(class_scope:google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo) private static final com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo(); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public AdGroupInfo parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface SeedInfoOrBuilder extends // @@protoc_insertion_point(interface_extends:google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo) com.google.protobuf.MessageOrBuilder { /** *
     * A specific url to generate ideas from, for example: www.example.com/cars.
     * 
* * optional string url_seed = 2; * @return Whether the urlSeed field is set. */ boolean hasUrlSeed(); /** *
     * A specific url to generate ideas from, for example: www.example.com/cars.
     * 
* * optional string url_seed = 2; * @return The urlSeed. */ java.lang.String getUrlSeed(); /** *
     * A specific url to generate ideas from, for example: www.example.com/cars.
     * 
* * optional string url_seed = 2; * @return The bytes for urlSeed. */ com.google.protobuf.ByteString getUrlSeedBytes(); /** *
     * Optional. Keywords or phrases to generate ideas from, for example: cars
     * or "car dealership near me".
     * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @return A list containing the keywordSeeds. */ java.util.List getKeywordSeedsList(); /** *
     * Optional. Keywords or phrases to generate ideas from, for example: cars
     * or "car dealership near me".
     * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @return The count of keywordSeeds. */ int getKeywordSeedsCount(); /** *
     * Optional. Keywords or phrases to generate ideas from, for example: cars
     * or "car dealership near me".
     * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @param index The index of the element to return. * @return The keywordSeeds at the given index. */ java.lang.String getKeywordSeeds(int index); /** *
     * Optional. Keywords or phrases to generate ideas from, for example: cars
     * or "car dealership near me".
     * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @param index The index of the value to return. * @return The bytes of the keywordSeeds at the given index. */ com.google.protobuf.ByteString getKeywordSeedsBytes(int index); } /** *
   * A keyword seed and a specific url to generate keywords from.
   * 
* * Protobuf type {@code google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo} */ public static final class SeedInfo extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo) SeedInfoOrBuilder { private static final long serialVersionUID = 0L; // Use SeedInfo.newBuilder() to construct. private SeedInfo(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private SeedInfo() { urlSeed_ = ""; keywordSeeds_ = com.google.protobuf.LazyStringArrayList.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new SeedInfo(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_SeedInfo_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_SeedInfo_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.class, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.Builder.class); } private int bitField0_; public static final int URL_SEED_FIELD_NUMBER = 2; @SuppressWarnings("serial") private volatile java.lang.Object urlSeed_ = ""; /** *
     * A specific url to generate ideas from, for example: www.example.com/cars.
     * 
* * optional string url_seed = 2; * @return Whether the urlSeed field is set. */ @java.lang.Override public boolean hasUrlSeed() { return ((bitField0_ & 0x00000001) != 0); } /** *
     * A specific url to generate ideas from, for example: www.example.com/cars.
     * 
* * optional string url_seed = 2; * @return The urlSeed. */ @java.lang.Override public java.lang.String getUrlSeed() { java.lang.Object ref = urlSeed_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); urlSeed_ = s; return s; } } /** *
     * A specific url to generate ideas from, for example: www.example.com/cars.
     * 
* * optional string url_seed = 2; * @return The bytes for urlSeed. */ @java.lang.Override public com.google.protobuf.ByteString getUrlSeedBytes() { java.lang.Object ref = urlSeed_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); urlSeed_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int KEYWORD_SEEDS_FIELD_NUMBER = 3; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList keywordSeeds_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** *
     * Optional. Keywords or phrases to generate ideas from, for example: cars
     * or "car dealership near me".
     * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @return A list containing the keywordSeeds. */ public com.google.protobuf.ProtocolStringList getKeywordSeedsList() { return keywordSeeds_; } /** *
     * Optional. Keywords or phrases to generate ideas from, for example: cars
     * or "car dealership near me".
     * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @return The count of keywordSeeds. */ public int getKeywordSeedsCount() { return keywordSeeds_.size(); } /** *
     * Optional. Keywords or phrases to generate ideas from, for example: cars
     * or "car dealership near me".
     * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @param index The index of the element to return. * @return The keywordSeeds at the given index. */ public java.lang.String getKeywordSeeds(int index) { return keywordSeeds_.get(index); } /** *
     * Optional. Keywords or phrases to generate ideas from, for example: cars
     * or "car dealership near me".
     * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @param index The index of the value to return. * @return The bytes of the keywordSeeds at the given index. */ public com.google.protobuf.ByteString getKeywordSeedsBytes(int index) { return keywordSeeds_.getByteString(index); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, urlSeed_); } for (int i = 0; i < keywordSeeds_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, keywordSeeds_.getRaw(i)); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, urlSeed_); } { int dataSize = 0; for (int i = 0; i < keywordSeeds_.size(); i++) { dataSize += computeStringSizeNoTag(keywordSeeds_.getRaw(i)); } size += dataSize; size += 1 * getKeywordSeedsList().size(); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo)) { return super.equals(obj); } com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo other = (com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo) obj; if (hasUrlSeed() != other.hasUrlSeed()) return false; if (hasUrlSeed()) { if (!getUrlSeed() .equals(other.getUrlSeed())) return false; } if (!getKeywordSeedsList() .equals(other.getKeywordSeedsList())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasUrlSeed()) { hash = (37 * hash) + URL_SEED_FIELD_NUMBER; hash = (53 * hash) + getUrlSeed().hashCode(); } if (getKeywordSeedsCount() > 0) { hash = (37 * hash) + KEYWORD_SEEDS_FIELD_NUMBER; hash = (53 * hash) + getKeywordSeedsList().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * A keyword seed and a specific url to generate keywords from.
     * 
* * Protobuf type {@code google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo) com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfoOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_SeedInfo_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_SeedInfo_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.class, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.Builder.class); } // Construct using com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; urlSeed_ = ""; keywordSeeds_ = com.google.protobuf.LazyStringArrayList.emptyList(); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_SeedInfo_descriptor; } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo getDefaultInstanceForType() { return com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.getDefaultInstance(); } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo build() { com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo buildPartial() { com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo result = new com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.urlSeed_ = urlSeed_; to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000002) != 0)) { keywordSeeds_.makeImmutable(); result.keywordSeeds_ = keywordSeeds_; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo) { return mergeFrom((com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo other) { if (other == com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.getDefaultInstance()) return this; if (other.hasUrlSeed()) { urlSeed_ = other.urlSeed_; bitField0_ |= 0x00000001; onChanged(); } if (!other.keywordSeeds_.isEmpty()) { if (keywordSeeds_.isEmpty()) { keywordSeeds_ = other.keywordSeeds_; bitField0_ |= 0x00000002; } else { ensureKeywordSeedsIsMutable(); keywordSeeds_.addAll(other.keywordSeeds_); } onChanged(); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 18: { urlSeed_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000001; break; } // case 18 case 26: { java.lang.String s = input.readStringRequireUtf8(); ensureKeywordSeedsIsMutable(); keywordSeeds_.add(s); break; } // case 26 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private java.lang.Object urlSeed_ = ""; /** *
       * A specific url to generate ideas from, for example: www.example.com/cars.
       * 
* * optional string url_seed = 2; * @return Whether the urlSeed field is set. */ public boolean hasUrlSeed() { return ((bitField0_ & 0x00000001) != 0); } /** *
       * A specific url to generate ideas from, for example: www.example.com/cars.
       * 
* * optional string url_seed = 2; * @return The urlSeed. */ public java.lang.String getUrlSeed() { java.lang.Object ref = urlSeed_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); urlSeed_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * A specific url to generate ideas from, for example: www.example.com/cars.
       * 
* * optional string url_seed = 2; * @return The bytes for urlSeed. */ public com.google.protobuf.ByteString getUrlSeedBytes() { java.lang.Object ref = urlSeed_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); urlSeed_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * A specific url to generate ideas from, for example: www.example.com/cars.
       * 
* * optional string url_seed = 2; * @param value The urlSeed to set. * @return This builder for chaining. */ public Builder setUrlSeed( java.lang.String value) { if (value == null) { throw new NullPointerException(); } urlSeed_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * A specific url to generate ideas from, for example: www.example.com/cars.
       * 
* * optional string url_seed = 2; * @return This builder for chaining. */ public Builder clearUrlSeed() { urlSeed_ = getDefaultInstance().getUrlSeed(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** *
       * A specific url to generate ideas from, for example: www.example.com/cars.
       * 
* * optional string url_seed = 2; * @param value The bytes for urlSeed to set. * @return This builder for chaining. */ public Builder setUrlSeedBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); urlSeed_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } private com.google.protobuf.LazyStringArrayList keywordSeeds_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureKeywordSeedsIsMutable() { if (!keywordSeeds_.isModifiable()) { keywordSeeds_ = new com.google.protobuf.LazyStringArrayList(keywordSeeds_); } bitField0_ |= 0x00000002; } /** *
       * Optional. Keywords or phrases to generate ideas from, for example: cars
       * or "car dealership near me".
       * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @return A list containing the keywordSeeds. */ public com.google.protobuf.ProtocolStringList getKeywordSeedsList() { keywordSeeds_.makeImmutable(); return keywordSeeds_; } /** *
       * Optional. Keywords or phrases to generate ideas from, for example: cars
       * or "car dealership near me".
       * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @return The count of keywordSeeds. */ public int getKeywordSeedsCount() { return keywordSeeds_.size(); } /** *
       * Optional. Keywords or phrases to generate ideas from, for example: cars
       * or "car dealership near me".
       * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @param index The index of the element to return. * @return The keywordSeeds at the given index. */ public java.lang.String getKeywordSeeds(int index) { return keywordSeeds_.get(index); } /** *
       * Optional. Keywords or phrases to generate ideas from, for example: cars
       * or "car dealership near me".
       * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @param index The index of the value to return. * @return The bytes of the keywordSeeds at the given index. */ public com.google.protobuf.ByteString getKeywordSeedsBytes(int index) { return keywordSeeds_.getByteString(index); } /** *
       * Optional. Keywords or phrases to generate ideas from, for example: cars
       * or "car dealership near me".
       * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @param index The index to set the value at. * @param value The keywordSeeds to set. * @return This builder for chaining. */ public Builder setKeywordSeeds( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureKeywordSeedsIsMutable(); keywordSeeds_.set(index, value); bitField0_ |= 0x00000002; onChanged(); return this; } /** *
       * Optional. Keywords or phrases to generate ideas from, for example: cars
       * or "car dealership near me".
       * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @param value The keywordSeeds to add. * @return This builder for chaining. */ public Builder addKeywordSeeds( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureKeywordSeedsIsMutable(); keywordSeeds_.add(value); bitField0_ |= 0x00000002; onChanged(); return this; } /** *
       * Optional. Keywords or phrases to generate ideas from, for example: cars
       * or "car dealership near me".
       * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @param values The keywordSeeds to add. * @return This builder for chaining. */ public Builder addAllKeywordSeeds( java.lang.Iterable values) { ensureKeywordSeedsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, keywordSeeds_); bitField0_ |= 0x00000002; onChanged(); return this; } /** *
       * Optional. Keywords or phrases to generate ideas from, for example: cars
       * or "car dealership near me".
       * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @return This builder for chaining. */ public Builder clearKeywordSeeds() { keywordSeeds_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField0_ = (bitField0_ & ~0x00000002);; onChanged(); return this; } /** *
       * Optional. Keywords or phrases to generate ideas from, for example: cars
       * or "car dealership near me".
       * 
* * repeated string keyword_seeds = 3 [(.google.api.field_behavior) = OPTIONAL]; * @param value The bytes of the keywordSeeds to add. * @return This builder for chaining. */ public Builder addKeywordSeedsBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureKeywordSeedsIsMutable(); keywordSeeds_.add(value); bitField0_ |= 0x00000002; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo) } // @@protoc_insertion_point(class_scope:google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo) private static final com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo(); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public SeedInfo parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } private int bitField0_; public static final int CUSTOMER_ID_FIELD_NUMBER = 1; @SuppressWarnings("serial") private volatile java.lang.Object customerId_ = ""; /** *
   * Required. The ID of the customer generating recommendations.
   * 
* * string customer_id = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The customerId. */ @java.lang.Override public java.lang.String getCustomerId() { java.lang.Object ref = customerId_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); customerId_ = s; return s; } } /** *
   * Required. The ID of the customer generating recommendations.
   * 
* * string customer_id = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The bytes for customerId. */ @java.lang.Override public com.google.protobuf.ByteString getCustomerIdBytes() { java.lang.Object ref = customerId_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); customerId_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int RECOMMENDATION_TYPES_FIELD_NUMBER = 2; @SuppressWarnings("serial") private java.util.List recommendationTypes_; private static final com.google.protobuf.Internal.ListAdapter.Converter< java.lang.Integer, com.google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType> recommendationTypes_converter_ = new com.google.protobuf.Internal.ListAdapter.Converter< java.lang.Integer, com.google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType>() { public com.google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType convert(java.lang.Integer from) { com.google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType result = com.google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType.forNumber(from); return result == null ? com.google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType.UNRECOGNIZED : result; } }; /** *
   * Required. List of eligible recommendation_types to generate. If the
   * uploaded criteria isn't sufficient to make a recommendation, or the
   * campaign is already in the recommended state, no recommendation will be
   * returned for that type. Generally, a recommendation is returned if all
   * required fields for that recommendation_type are uploaded, but there are
   * cases where this is still not sufficient.
   *
   * The following recommendation_types are supported for recommendation
   * generation:
   * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
   * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
   * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
   * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @return A list containing the recommendationTypes. */ @java.lang.Override public java.util.List getRecommendationTypesList() { return new com.google.protobuf.Internal.ListAdapter< java.lang.Integer, com.google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType>(recommendationTypes_, recommendationTypes_converter_); } /** *
   * Required. List of eligible recommendation_types to generate. If the
   * uploaded criteria isn't sufficient to make a recommendation, or the
   * campaign is already in the recommended state, no recommendation will be
   * returned for that type. Generally, a recommendation is returned if all
   * required fields for that recommendation_type are uploaded, but there are
   * cases where this is still not sufficient.
   *
   * The following recommendation_types are supported for recommendation
   * generation:
   * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
   * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
   * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
   * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @return The count of recommendationTypes. */ @java.lang.Override public int getRecommendationTypesCount() { return recommendationTypes_.size(); } /** *
   * Required. List of eligible recommendation_types to generate. If the
   * uploaded criteria isn't sufficient to make a recommendation, or the
   * campaign is already in the recommended state, no recommendation will be
   * returned for that type. Generally, a recommendation is returned if all
   * required fields for that recommendation_type are uploaded, but there are
   * cases where this is still not sufficient.
   *
   * The following recommendation_types are supported for recommendation
   * generation:
   * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
   * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
   * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
   * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @param index The index of the element to return. * @return The recommendationTypes at the given index. */ @java.lang.Override public com.google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType getRecommendationTypes(int index) { return recommendationTypes_converter_.convert(recommendationTypes_.get(index)); } /** *
   * Required. List of eligible recommendation_types to generate. If the
   * uploaded criteria isn't sufficient to make a recommendation, or the
   * campaign is already in the recommended state, no recommendation will be
   * returned for that type. Generally, a recommendation is returned if all
   * required fields for that recommendation_type are uploaded, but there are
   * cases where this is still not sufficient.
   *
   * The following recommendation_types are supported for recommendation
   * generation:
   * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
   * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
   * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
   * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @return A list containing the enum numeric values on the wire for recommendationTypes. */ @java.lang.Override public java.util.List getRecommendationTypesValueList() { return recommendationTypes_; } /** *
   * Required. List of eligible recommendation_types to generate. If the
   * uploaded criteria isn't sufficient to make a recommendation, or the
   * campaign is already in the recommended state, no recommendation will be
   * returned for that type. Generally, a recommendation is returned if all
   * required fields for that recommendation_type are uploaded, but there are
   * cases where this is still not sufficient.
   *
   * The following recommendation_types are supported for recommendation
   * generation:
   * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
   * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
   * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
   * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @param index The index of the value to return. * @return The enum numeric value on the wire of recommendationTypes at the given index. */ @java.lang.Override public int getRecommendationTypesValue(int index) { return recommendationTypes_.get(index); } private int recommendationTypesMemoizedSerializedSize; public static final int ADVERTISING_CHANNEL_TYPE_FIELD_NUMBER = 3; private int advertisingChannelType_ = 0; /** *
   * Required. Advertising channel type of the campaign.
   * The following advertising_channel_types are supported for recommendation
   * generation:
   * PERFORMANCE_MAX and SEARCH
   * 
* * .google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 3 [(.google.api.field_behavior) = REQUIRED]; * @return The enum numeric value on the wire for advertisingChannelType. */ @java.lang.Override public int getAdvertisingChannelTypeValue() { return advertisingChannelType_; } /** *
   * Required. Advertising channel type of the campaign.
   * The following advertising_channel_types are supported for recommendation
   * generation:
   * PERFORMANCE_MAX and SEARCH
   * 
* * .google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 3 [(.google.api.field_behavior) = REQUIRED]; * @return The advertisingChannelType. */ @java.lang.Override public com.google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType getAdvertisingChannelType() { com.google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType result = com.google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType.forNumber(advertisingChannelType_); return result == null ? com.google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType.UNRECOGNIZED : result; } public static final int CAMPAIGN_SITELINK_COUNT_FIELD_NUMBER = 4; private int campaignSitelinkCount_ = 0; /** *
   * Optional. Number of sitelinks on the campaign.
   * This field is necessary for the following recommendation_types:
   * SITELINK_ASSET
   * 
* * optional int32 campaign_sitelink_count = 4 [(.google.api.field_behavior) = OPTIONAL]; * @return Whether the campaignSitelinkCount field is set. */ @java.lang.Override public boolean hasCampaignSitelinkCount() { return ((bitField0_ & 0x00000001) != 0); } /** *
   * Optional. Number of sitelinks on the campaign.
   * This field is necessary for the following recommendation_types:
   * SITELINK_ASSET
   * 
* * optional int32 campaign_sitelink_count = 4 [(.google.api.field_behavior) = OPTIONAL]; * @return The campaignSitelinkCount. */ @java.lang.Override public int getCampaignSitelinkCount() { return campaignSitelinkCount_; } public static final int CONVERSION_TRACKING_STATUS_FIELD_NUMBER = 5; private int conversionTrackingStatus_ = 0; /** *
   * Optional. Current conversion tracking status.
   * This field is necessary for the following recommendation_types:
   * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
   * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
   * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
   * 
* * optional .google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus conversion_tracking_status = 5 [(.google.api.field_behavior) = OPTIONAL]; * @return Whether the conversionTrackingStatus field is set. */ @java.lang.Override public boolean hasConversionTrackingStatus() { return ((bitField0_ & 0x00000002) != 0); } /** *
   * Optional. Current conversion tracking status.
   * This field is necessary for the following recommendation_types:
   * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
   * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
   * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
   * 
* * optional .google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus conversion_tracking_status = 5 [(.google.api.field_behavior) = OPTIONAL]; * @return The enum numeric value on the wire for conversionTrackingStatus. */ @java.lang.Override public int getConversionTrackingStatusValue() { return conversionTrackingStatus_; } /** *
   * Optional. Current conversion tracking status.
   * This field is necessary for the following recommendation_types:
   * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
   * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
   * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
   * 
* * optional .google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus conversion_tracking_status = 5 [(.google.api.field_behavior) = OPTIONAL]; * @return The conversionTrackingStatus. */ @java.lang.Override public com.google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus getConversionTrackingStatus() { com.google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus result = com.google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus.forNumber(conversionTrackingStatus_); return result == null ? com.google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus.UNRECOGNIZED : result; } public static final int BIDDING_INFO_FIELD_NUMBER = 6; private com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo biddingInfo_; /** *
   * Optional. Current bidding information of the campaign.
   * This field is necessary for the following recommendation_types:
   * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
   * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
   * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
   * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo bidding_info = 6 [(.google.api.field_behavior) = OPTIONAL]; * @return Whether the biddingInfo field is set. */ @java.lang.Override public boolean hasBiddingInfo() { return ((bitField0_ & 0x00000004) != 0); } /** *
   * Optional. Current bidding information of the campaign.
   * This field is necessary for the following recommendation_types:
   * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
   * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
   * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
   * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo bidding_info = 6 [(.google.api.field_behavior) = OPTIONAL]; * @return The biddingInfo. */ @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo getBiddingInfo() { return biddingInfo_ == null ? com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.getDefaultInstance() : biddingInfo_; } /** *
   * Optional. Current bidding information of the campaign.
   * This field is necessary for the following recommendation_types:
   * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
   * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
   * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
   * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo bidding_info = 6 [(.google.api.field_behavior) = OPTIONAL]; */ @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfoOrBuilder getBiddingInfoOrBuilder() { return biddingInfo_ == null ? com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.getDefaultInstance() : biddingInfo_; } public static final int AD_GROUP_INFO_FIELD_NUMBER = 7; @SuppressWarnings("serial") private java.util.List adGroupInfo_; /** *
   * Optional. Current AdGroup Information.
   * Supports information from a single AdGroup.
   * This field is optional for the following recommendation_types:
   * KEYWORD
   * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ @java.lang.Override public java.util.List getAdGroupInfoList() { return adGroupInfo_; } /** *
   * Optional. Current AdGroup Information.
   * Supports information from a single AdGroup.
   * This field is optional for the following recommendation_types:
   * KEYWORD
   * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ @java.lang.Override public java.util.List getAdGroupInfoOrBuilderList() { return adGroupInfo_; } /** *
   * Optional. Current AdGroup Information.
   * Supports information from a single AdGroup.
   * This field is optional for the following recommendation_types:
   * KEYWORD
   * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ @java.lang.Override public int getAdGroupInfoCount() { return adGroupInfo_.size(); } /** *
   * Optional. Current AdGroup Information.
   * Supports information from a single AdGroup.
   * This field is optional for the following recommendation_types:
   * KEYWORD
   * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo getAdGroupInfo(int index) { return adGroupInfo_.get(index); } /** *
   * Optional. Current AdGroup Information.
   * Supports information from a single AdGroup.
   * This field is optional for the following recommendation_types:
   * KEYWORD
   * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfoOrBuilder getAdGroupInfoOrBuilder( int index) { return adGroupInfo_.get(index); } public static final int SEED_INFO_FIELD_NUMBER = 8; private com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo seedInfo_; /** *
   * Optional. Seed information for Keywords.
   * This field is necessary for the following recommendation_types:
   * KEYWORD
   * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo seed_info = 8 [(.google.api.field_behavior) = OPTIONAL]; * @return Whether the seedInfo field is set. */ @java.lang.Override public boolean hasSeedInfo() { return ((bitField0_ & 0x00000008) != 0); } /** *
   * Optional. Seed information for Keywords.
   * This field is necessary for the following recommendation_types:
   * KEYWORD
   * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo seed_info = 8 [(.google.api.field_behavior) = OPTIONAL]; * @return The seedInfo. */ @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo getSeedInfo() { return seedInfo_ == null ? com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.getDefaultInstance() : seedInfo_; } /** *
   * Optional. Seed information for Keywords.
   * This field is necessary for the following recommendation_types:
   * KEYWORD
   * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo seed_info = 8 [(.google.api.field_behavior) = OPTIONAL]; */ @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfoOrBuilder getSeedInfoOrBuilder() { return seedInfo_ == null ? com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.getDefaultInstance() : seedInfo_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(customerId_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, customerId_); } if (getRecommendationTypesList().size() > 0) { output.writeUInt32NoTag(18); output.writeUInt32NoTag(recommendationTypesMemoizedSerializedSize); } for (int i = 0; i < recommendationTypes_.size(); i++) { output.writeEnumNoTag(recommendationTypes_.get(i)); } if (advertisingChannelType_ != com.google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType.UNSPECIFIED.getNumber()) { output.writeEnum(3, advertisingChannelType_); } if (((bitField0_ & 0x00000001) != 0)) { output.writeInt32(4, campaignSitelinkCount_); } if (((bitField0_ & 0x00000002) != 0)) { output.writeEnum(5, conversionTrackingStatus_); } if (((bitField0_ & 0x00000004) != 0)) { output.writeMessage(6, getBiddingInfo()); } for (int i = 0; i < adGroupInfo_.size(); i++) { output.writeMessage(7, adGroupInfo_.get(i)); } if (((bitField0_ & 0x00000008) != 0)) { output.writeMessage(8, getSeedInfo()); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(customerId_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, customerId_); } { int dataSize = 0; for (int i = 0; i < recommendationTypes_.size(); i++) { dataSize += com.google.protobuf.CodedOutputStream .computeEnumSizeNoTag(recommendationTypes_.get(i)); } size += dataSize; if (!getRecommendationTypesList().isEmpty()) { size += 1; size += com.google.protobuf.CodedOutputStream .computeUInt32SizeNoTag(dataSize); }recommendationTypesMemoizedSerializedSize = dataSize; } if (advertisingChannelType_ != com.google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType.UNSPECIFIED.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(3, advertisingChannelType_); } if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(4, campaignSitelinkCount_); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(5, conversionTrackingStatus_); } if (((bitField0_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, getBiddingInfo()); } for (int i = 0; i < adGroupInfo_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, adGroupInfo_.get(i)); } if (((bitField0_ & 0x00000008) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(8, getSeedInfo()); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.ads.googleads.v17.services.GenerateRecommendationsRequest)) { return super.equals(obj); } com.google.ads.googleads.v17.services.GenerateRecommendationsRequest other = (com.google.ads.googleads.v17.services.GenerateRecommendationsRequest) obj; if (!getCustomerId() .equals(other.getCustomerId())) return false; if (!recommendationTypes_.equals(other.recommendationTypes_)) return false; if (advertisingChannelType_ != other.advertisingChannelType_) return false; if (hasCampaignSitelinkCount() != other.hasCampaignSitelinkCount()) return false; if (hasCampaignSitelinkCount()) { if (getCampaignSitelinkCount() != other.getCampaignSitelinkCount()) return false; } if (hasConversionTrackingStatus() != other.hasConversionTrackingStatus()) return false; if (hasConversionTrackingStatus()) { if (conversionTrackingStatus_ != other.conversionTrackingStatus_) return false; } if (hasBiddingInfo() != other.hasBiddingInfo()) return false; if (hasBiddingInfo()) { if (!getBiddingInfo() .equals(other.getBiddingInfo())) return false; } if (!getAdGroupInfoList() .equals(other.getAdGroupInfoList())) return false; if (hasSeedInfo() != other.hasSeedInfo()) return false; if (hasSeedInfo()) { if (!getSeedInfo() .equals(other.getSeedInfo())) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + CUSTOMER_ID_FIELD_NUMBER; hash = (53 * hash) + getCustomerId().hashCode(); if (getRecommendationTypesCount() > 0) { hash = (37 * hash) + RECOMMENDATION_TYPES_FIELD_NUMBER; hash = (53 * hash) + recommendationTypes_.hashCode(); } hash = (37 * hash) + ADVERTISING_CHANNEL_TYPE_FIELD_NUMBER; hash = (53 * hash) + advertisingChannelType_; if (hasCampaignSitelinkCount()) { hash = (37 * hash) + CAMPAIGN_SITELINK_COUNT_FIELD_NUMBER; hash = (53 * hash) + getCampaignSitelinkCount(); } if (hasConversionTrackingStatus()) { hash = (37 * hash) + CONVERSION_TRACKING_STATUS_FIELD_NUMBER; hash = (53 * hash) + conversionTrackingStatus_; } if (hasBiddingInfo()) { hash = (37 * hash) + BIDDING_INFO_FIELD_NUMBER; hash = (53 * hash) + getBiddingInfo().hashCode(); } if (getAdGroupInfoCount() > 0) { hash = (37 * hash) + AD_GROUP_INFO_FIELD_NUMBER; hash = (53 * hash) + getAdGroupInfoList().hashCode(); } if (hasSeedInfo()) { hash = (37 * hash) + SEED_INFO_FIELD_NUMBER; hash = (53 * hash) + getSeedInfo().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
   * Request message for
   * [RecommendationService.GenerateRecommendations][google.ads.googleads.v17.services.RecommendationService.GenerateRecommendations].
   * 
* * Protobuf type {@code google.ads.googleads.v17.services.GenerateRecommendationsRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:google.ads.googleads.v17.services.GenerateRecommendationsRequest) com.google.ads.googleads.v17.services.GenerateRecommendationsRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.class, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.Builder.class); } // Construct using com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getBiddingInfoFieldBuilder(); getAdGroupInfoFieldBuilder(); getSeedInfoFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; customerId_ = ""; recommendationTypes_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); advertisingChannelType_ = 0; campaignSitelinkCount_ = 0; conversionTrackingStatus_ = 0; biddingInfo_ = null; if (biddingInfoBuilder_ != null) { biddingInfoBuilder_.dispose(); biddingInfoBuilder_ = null; } if (adGroupInfoBuilder_ == null) { adGroupInfo_ = java.util.Collections.emptyList(); } else { adGroupInfo_ = null; adGroupInfoBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000040); seedInfo_ = null; if (seedInfoBuilder_ != null) { seedInfoBuilder_.dispose(); seedInfoBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.ads.googleads.v17.services.RecommendationServiceProto.internal_static_google_ads_googleads_v17_services_GenerateRecommendationsRequest_descriptor; } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest getDefaultInstanceForType() { return com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.getDefaultInstance(); } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest build() { com.google.ads.googleads.v17.services.GenerateRecommendationsRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest buildPartial() { com.google.ads.googleads.v17.services.GenerateRecommendationsRequest result = new com.google.ads.googleads.v17.services.GenerateRecommendationsRequest(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest result) { if (((bitField0_ & 0x00000002) != 0)) { recommendationTypes_ = java.util.Collections.unmodifiableList(recommendationTypes_); bitField0_ = (bitField0_ & ~0x00000002); } result.recommendationTypes_ = recommendationTypes_; if (adGroupInfoBuilder_ == null) { if (((bitField0_ & 0x00000040) != 0)) { adGroupInfo_ = java.util.Collections.unmodifiableList(adGroupInfo_); bitField0_ = (bitField0_ & ~0x00000040); } result.adGroupInfo_ = adGroupInfo_; } else { result.adGroupInfo_ = adGroupInfoBuilder_.build(); } } private void buildPartial0(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.customerId_ = customerId_; } if (((from_bitField0_ & 0x00000004) != 0)) { result.advertisingChannelType_ = advertisingChannelType_; } int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000008) != 0)) { result.campaignSitelinkCount_ = campaignSitelinkCount_; to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000010) != 0)) { result.conversionTrackingStatus_ = conversionTrackingStatus_; to_bitField0_ |= 0x00000002; } if (((from_bitField0_ & 0x00000020) != 0)) { result.biddingInfo_ = biddingInfoBuilder_ == null ? biddingInfo_ : biddingInfoBuilder_.build(); to_bitField0_ |= 0x00000004; } if (((from_bitField0_ & 0x00000080) != 0)) { result.seedInfo_ = seedInfoBuilder_ == null ? seedInfo_ : seedInfoBuilder_.build(); to_bitField0_ |= 0x00000008; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.ads.googleads.v17.services.GenerateRecommendationsRequest) { return mergeFrom((com.google.ads.googleads.v17.services.GenerateRecommendationsRequest)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest other) { if (other == com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.getDefaultInstance()) return this; if (!other.getCustomerId().isEmpty()) { customerId_ = other.customerId_; bitField0_ |= 0x00000001; onChanged(); } if (!other.recommendationTypes_.isEmpty()) { if (recommendationTypes_.isEmpty()) { recommendationTypes_ = other.recommendationTypes_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureRecommendationTypesIsMutable(); recommendationTypes_.addAll(other.recommendationTypes_); } onChanged(); } if (other.advertisingChannelType_ != 0) { setAdvertisingChannelTypeValue(other.getAdvertisingChannelTypeValue()); } if (other.hasCampaignSitelinkCount()) { setCampaignSitelinkCount(other.getCampaignSitelinkCount()); } if (other.hasConversionTrackingStatus()) { setConversionTrackingStatus(other.getConversionTrackingStatus()); } if (other.hasBiddingInfo()) { mergeBiddingInfo(other.getBiddingInfo()); } if (adGroupInfoBuilder_ == null) { if (!other.adGroupInfo_.isEmpty()) { if (adGroupInfo_.isEmpty()) { adGroupInfo_ = other.adGroupInfo_; bitField0_ = (bitField0_ & ~0x00000040); } else { ensureAdGroupInfoIsMutable(); adGroupInfo_.addAll(other.adGroupInfo_); } onChanged(); } } else { if (!other.adGroupInfo_.isEmpty()) { if (adGroupInfoBuilder_.isEmpty()) { adGroupInfoBuilder_.dispose(); adGroupInfoBuilder_ = null; adGroupInfo_ = other.adGroupInfo_; bitField0_ = (bitField0_ & ~0x00000040); adGroupInfoBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getAdGroupInfoFieldBuilder() : null; } else { adGroupInfoBuilder_.addAllMessages(other.adGroupInfo_); } } } if (other.hasSeedInfo()) { mergeSeedInfo(other.getSeedInfo()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { customerId_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000001; break; } // case 10 case 16: { int tmpRaw = input.readEnum(); ensureRecommendationTypesIsMutable(); recommendationTypes_.add(tmpRaw); break; } // case 16 case 18: { int length = input.readRawVarint32(); int oldLimit = input.pushLimit(length); while(input.getBytesUntilLimit() > 0) { int tmpRaw = input.readEnum(); ensureRecommendationTypesIsMutable(); recommendationTypes_.add(tmpRaw); } input.popLimit(oldLimit); break; } // case 18 case 24: { advertisingChannelType_ = input.readEnum(); bitField0_ |= 0x00000004; break; } // case 24 case 32: { campaignSitelinkCount_ = input.readInt32(); bitField0_ |= 0x00000008; break; } // case 32 case 40: { conversionTrackingStatus_ = input.readEnum(); bitField0_ |= 0x00000010; break; } // case 40 case 50: { input.readMessage( getBiddingInfoFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000020; break; } // case 50 case 58: { com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo m = input.readMessage( com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.parser(), extensionRegistry); if (adGroupInfoBuilder_ == null) { ensureAdGroupInfoIsMutable(); adGroupInfo_.add(m); } else { adGroupInfoBuilder_.addMessage(m); } break; } // case 58 case 66: { input.readMessage( getSeedInfoFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000080; break; } // case 66 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private java.lang.Object customerId_ = ""; /** *
     * Required. The ID of the customer generating recommendations.
     * 
* * string customer_id = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The customerId. */ public java.lang.String getCustomerId() { java.lang.Object ref = customerId_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); customerId_ = s; return s; } else { return (java.lang.String) ref; } } /** *
     * Required. The ID of the customer generating recommendations.
     * 
* * string customer_id = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The bytes for customerId. */ public com.google.protobuf.ByteString getCustomerIdBytes() { java.lang.Object ref = customerId_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); customerId_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
     * Required. The ID of the customer generating recommendations.
     * 
* * string customer_id = 1 [(.google.api.field_behavior) = REQUIRED]; * @param value The customerId to set. * @return This builder for chaining. */ public Builder setCustomerId( java.lang.String value) { if (value == null) { throw new NullPointerException(); } customerId_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
     * Required. The ID of the customer generating recommendations.
     * 
* * string customer_id = 1 [(.google.api.field_behavior) = REQUIRED]; * @return This builder for chaining. */ public Builder clearCustomerId() { customerId_ = getDefaultInstance().getCustomerId(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** *
     * Required. The ID of the customer generating recommendations.
     * 
* * string customer_id = 1 [(.google.api.field_behavior) = REQUIRED]; * @param value The bytes for customerId to set. * @return This builder for chaining. */ public Builder setCustomerIdBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); customerId_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } private java.util.List recommendationTypes_ = java.util.Collections.emptyList(); private void ensureRecommendationTypesIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { recommendationTypes_ = new java.util.ArrayList(recommendationTypes_); bitField0_ |= 0x00000002; } } /** *
     * Required. List of eligible recommendation_types to generate. If the
     * uploaded criteria isn't sufficient to make a recommendation, or the
     * campaign is already in the recommended state, no recommendation will be
     * returned for that type. Generally, a recommendation is returned if all
     * required fields for that recommendation_type are uploaded, but there are
     * cases where this is still not sufficient.
     *
     * The following recommendation_types are supported for recommendation
     * generation:
     * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @return A list containing the recommendationTypes. */ public java.util.List getRecommendationTypesList() { return new com.google.protobuf.Internal.ListAdapter< java.lang.Integer, com.google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType>(recommendationTypes_, recommendationTypes_converter_); } /** *
     * Required. List of eligible recommendation_types to generate. If the
     * uploaded criteria isn't sufficient to make a recommendation, or the
     * campaign is already in the recommended state, no recommendation will be
     * returned for that type. Generally, a recommendation is returned if all
     * required fields for that recommendation_type are uploaded, but there are
     * cases where this is still not sufficient.
     *
     * The following recommendation_types are supported for recommendation
     * generation:
     * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @return The count of recommendationTypes. */ public int getRecommendationTypesCount() { return recommendationTypes_.size(); } /** *
     * Required. List of eligible recommendation_types to generate. If the
     * uploaded criteria isn't sufficient to make a recommendation, or the
     * campaign is already in the recommended state, no recommendation will be
     * returned for that type. Generally, a recommendation is returned if all
     * required fields for that recommendation_type are uploaded, but there are
     * cases where this is still not sufficient.
     *
     * The following recommendation_types are supported for recommendation
     * generation:
     * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @param index The index of the element to return. * @return The recommendationTypes at the given index. */ public com.google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType getRecommendationTypes(int index) { return recommendationTypes_converter_.convert(recommendationTypes_.get(index)); } /** *
     * Required. List of eligible recommendation_types to generate. If the
     * uploaded criteria isn't sufficient to make a recommendation, or the
     * campaign is already in the recommended state, no recommendation will be
     * returned for that type. Generally, a recommendation is returned if all
     * required fields for that recommendation_type are uploaded, but there are
     * cases where this is still not sufficient.
     *
     * The following recommendation_types are supported for recommendation
     * generation:
     * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @param index The index to set the value at. * @param value The recommendationTypes to set. * @return This builder for chaining. */ public Builder setRecommendationTypes( int index, com.google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType value) { if (value == null) { throw new NullPointerException(); } ensureRecommendationTypesIsMutable(); recommendationTypes_.set(index, value.getNumber()); onChanged(); return this; } /** *
     * Required. List of eligible recommendation_types to generate. If the
     * uploaded criteria isn't sufficient to make a recommendation, or the
     * campaign is already in the recommended state, no recommendation will be
     * returned for that type. Generally, a recommendation is returned if all
     * required fields for that recommendation_type are uploaded, but there are
     * cases where this is still not sufficient.
     *
     * The following recommendation_types are supported for recommendation
     * generation:
     * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @param value The recommendationTypes to add. * @return This builder for chaining. */ public Builder addRecommendationTypes(com.google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType value) { if (value == null) { throw new NullPointerException(); } ensureRecommendationTypesIsMutable(); recommendationTypes_.add(value.getNumber()); onChanged(); return this; } /** *
     * Required. List of eligible recommendation_types to generate. If the
     * uploaded criteria isn't sufficient to make a recommendation, or the
     * campaign is already in the recommended state, no recommendation will be
     * returned for that type. Generally, a recommendation is returned if all
     * required fields for that recommendation_type are uploaded, but there are
     * cases where this is still not sufficient.
     *
     * The following recommendation_types are supported for recommendation
     * generation:
     * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @param values The recommendationTypes to add. * @return This builder for chaining. */ public Builder addAllRecommendationTypes( java.lang.Iterable values) { ensureRecommendationTypesIsMutable(); for (com.google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType value : values) { recommendationTypes_.add(value.getNumber()); } onChanged(); return this; } /** *
     * Required. List of eligible recommendation_types to generate. If the
     * uploaded criteria isn't sufficient to make a recommendation, or the
     * campaign is already in the recommended state, no recommendation will be
     * returned for that type. Generally, a recommendation is returned if all
     * required fields for that recommendation_type are uploaded, but there are
     * cases where this is still not sufficient.
     *
     * The following recommendation_types are supported for recommendation
     * generation:
     * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @return This builder for chaining. */ public Builder clearRecommendationTypes() { recommendationTypes_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } /** *
     * Required. List of eligible recommendation_types to generate. If the
     * uploaded criteria isn't sufficient to make a recommendation, or the
     * campaign is already in the recommended state, no recommendation will be
     * returned for that type. Generally, a recommendation is returned if all
     * required fields for that recommendation_type are uploaded, but there are
     * cases where this is still not sufficient.
     *
     * The following recommendation_types are supported for recommendation
     * generation:
     * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @return A list containing the enum numeric values on the wire for recommendationTypes. */ public java.util.List getRecommendationTypesValueList() { return java.util.Collections.unmodifiableList(recommendationTypes_); } /** *
     * Required. List of eligible recommendation_types to generate. If the
     * uploaded criteria isn't sufficient to make a recommendation, or the
     * campaign is already in the recommended state, no recommendation will be
     * returned for that type. Generally, a recommendation is returned if all
     * required fields for that recommendation_type are uploaded, but there are
     * cases where this is still not sufficient.
     *
     * The following recommendation_types are supported for recommendation
     * generation:
     * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @param index The index of the value to return. * @return The enum numeric value on the wire of recommendationTypes at the given index. */ public int getRecommendationTypesValue(int index) { return recommendationTypes_.get(index); } /** *
     * Required. List of eligible recommendation_types to generate. If the
     * uploaded criteria isn't sufficient to make a recommendation, or the
     * campaign is already in the recommended state, no recommendation will be
     * returned for that type. Generally, a recommendation is returned if all
     * required fields for that recommendation_type are uploaded, but there are
     * cases where this is still not sufficient.
     *
     * The following recommendation_types are supported for recommendation
     * generation:
     * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @param index The index to set the value at. * @param value The enum numeric value on the wire for recommendationTypes to set. * @return This builder for chaining. */ public Builder setRecommendationTypesValue( int index, int value) { ensureRecommendationTypesIsMutable(); recommendationTypes_.set(index, value); onChanged(); return this; } /** *
     * Required. List of eligible recommendation_types to generate. If the
     * uploaded criteria isn't sufficient to make a recommendation, or the
     * campaign is already in the recommended state, no recommendation will be
     * returned for that type. Generally, a recommendation is returned if all
     * required fields for that recommendation_type are uploaded, but there are
     * cases where this is still not sufficient.
     *
     * The following recommendation_types are supported for recommendation
     * generation:
     * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @param value The enum numeric value on the wire for recommendationTypes to add. * @return This builder for chaining. */ public Builder addRecommendationTypesValue(int value) { ensureRecommendationTypesIsMutable(); recommendationTypes_.add(value); onChanged(); return this; } /** *
     * Required. List of eligible recommendation_types to generate. If the
     * uploaded criteria isn't sufficient to make a recommendation, or the
     * campaign is already in the recommended state, no recommendation will be
     * returned for that type. Generally, a recommendation is returned if all
     * required fields for that recommendation_type are uploaded, but there are
     * cases where this is still not sufficient.
     *
     * The following recommendation_types are supported for recommendation
     * generation:
     * KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * repeated .google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType recommendation_types = 2 [(.google.api.field_behavior) = REQUIRED]; * @param values The enum numeric values on the wire for recommendationTypes to add. * @return This builder for chaining. */ public Builder addAllRecommendationTypesValue( java.lang.Iterable values) { ensureRecommendationTypesIsMutable(); for (int value : values) { recommendationTypes_.add(value); } onChanged(); return this; } private int advertisingChannelType_ = 0; /** *
     * Required. Advertising channel type of the campaign.
     * The following advertising_channel_types are supported for recommendation
     * generation:
     * PERFORMANCE_MAX and SEARCH
     * 
* * .google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 3 [(.google.api.field_behavior) = REQUIRED]; * @return The enum numeric value on the wire for advertisingChannelType. */ @java.lang.Override public int getAdvertisingChannelTypeValue() { return advertisingChannelType_; } /** *
     * Required. Advertising channel type of the campaign.
     * The following advertising_channel_types are supported for recommendation
     * generation:
     * PERFORMANCE_MAX and SEARCH
     * 
* * .google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 3 [(.google.api.field_behavior) = REQUIRED]; * @param value The enum numeric value on the wire for advertisingChannelType to set. * @return This builder for chaining. */ public Builder setAdvertisingChannelTypeValue(int value) { advertisingChannelType_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } /** *
     * Required. Advertising channel type of the campaign.
     * The following advertising_channel_types are supported for recommendation
     * generation:
     * PERFORMANCE_MAX and SEARCH
     * 
* * .google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 3 [(.google.api.field_behavior) = REQUIRED]; * @return The advertisingChannelType. */ @java.lang.Override public com.google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType getAdvertisingChannelType() { com.google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType result = com.google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType.forNumber(advertisingChannelType_); return result == null ? com.google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType.UNRECOGNIZED : result; } /** *
     * Required. Advertising channel type of the campaign.
     * The following advertising_channel_types are supported for recommendation
     * generation:
     * PERFORMANCE_MAX and SEARCH
     * 
* * .google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 3 [(.google.api.field_behavior) = REQUIRED]; * @param value The advertisingChannelType to set. * @return This builder for chaining. */ public Builder setAdvertisingChannelType(com.google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000004; advertisingChannelType_ = value.getNumber(); onChanged(); return this; } /** *
     * Required. Advertising channel type of the campaign.
     * The following advertising_channel_types are supported for recommendation
     * generation:
     * PERFORMANCE_MAX and SEARCH
     * 
* * .google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 3 [(.google.api.field_behavior) = REQUIRED]; * @return This builder for chaining. */ public Builder clearAdvertisingChannelType() { bitField0_ = (bitField0_ & ~0x00000004); advertisingChannelType_ = 0; onChanged(); return this; } private int campaignSitelinkCount_ ; /** *
     * Optional. Number of sitelinks on the campaign.
     * This field is necessary for the following recommendation_types:
     * SITELINK_ASSET
     * 
* * optional int32 campaign_sitelink_count = 4 [(.google.api.field_behavior) = OPTIONAL]; * @return Whether the campaignSitelinkCount field is set. */ @java.lang.Override public boolean hasCampaignSitelinkCount() { return ((bitField0_ & 0x00000008) != 0); } /** *
     * Optional. Number of sitelinks on the campaign.
     * This field is necessary for the following recommendation_types:
     * SITELINK_ASSET
     * 
* * optional int32 campaign_sitelink_count = 4 [(.google.api.field_behavior) = OPTIONAL]; * @return The campaignSitelinkCount. */ @java.lang.Override public int getCampaignSitelinkCount() { return campaignSitelinkCount_; } /** *
     * Optional. Number of sitelinks on the campaign.
     * This field is necessary for the following recommendation_types:
     * SITELINK_ASSET
     * 
* * optional int32 campaign_sitelink_count = 4 [(.google.api.field_behavior) = OPTIONAL]; * @param value The campaignSitelinkCount to set. * @return This builder for chaining. */ public Builder setCampaignSitelinkCount(int value) { campaignSitelinkCount_ = value; bitField0_ |= 0x00000008; onChanged(); return this; } /** *
     * Optional. Number of sitelinks on the campaign.
     * This field is necessary for the following recommendation_types:
     * SITELINK_ASSET
     * 
* * optional int32 campaign_sitelink_count = 4 [(.google.api.field_behavior) = OPTIONAL]; * @return This builder for chaining. */ public Builder clearCampaignSitelinkCount() { bitField0_ = (bitField0_ & ~0x00000008); campaignSitelinkCount_ = 0; onChanged(); return this; } private int conversionTrackingStatus_ = 0; /** *
     * Optional. Current conversion tracking status.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus conversion_tracking_status = 5 [(.google.api.field_behavior) = OPTIONAL]; * @return Whether the conversionTrackingStatus field is set. */ @java.lang.Override public boolean hasConversionTrackingStatus() { return ((bitField0_ & 0x00000010) != 0); } /** *
     * Optional. Current conversion tracking status.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus conversion_tracking_status = 5 [(.google.api.field_behavior) = OPTIONAL]; * @return The enum numeric value on the wire for conversionTrackingStatus. */ @java.lang.Override public int getConversionTrackingStatusValue() { return conversionTrackingStatus_; } /** *
     * Optional. Current conversion tracking status.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus conversion_tracking_status = 5 [(.google.api.field_behavior) = OPTIONAL]; * @param value The enum numeric value on the wire for conversionTrackingStatus to set. * @return This builder for chaining. */ public Builder setConversionTrackingStatusValue(int value) { conversionTrackingStatus_ = value; bitField0_ |= 0x00000010; onChanged(); return this; } /** *
     * Optional. Current conversion tracking status.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus conversion_tracking_status = 5 [(.google.api.field_behavior) = OPTIONAL]; * @return The conversionTrackingStatus. */ @java.lang.Override public com.google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus getConversionTrackingStatus() { com.google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus result = com.google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus.forNumber(conversionTrackingStatus_); return result == null ? com.google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus.UNRECOGNIZED : result; } /** *
     * Optional. Current conversion tracking status.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus conversion_tracking_status = 5 [(.google.api.field_behavior) = OPTIONAL]; * @param value The conversionTrackingStatus to set. * @return This builder for chaining. */ public Builder setConversionTrackingStatus(com.google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000010; conversionTrackingStatus_ = value.getNumber(); onChanged(); return this; } /** *
     * Optional. Current conversion tracking status.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.enums.ConversionTrackingStatusEnum.ConversionTrackingStatus conversion_tracking_status = 5 [(.google.api.field_behavior) = OPTIONAL]; * @return This builder for chaining. */ public Builder clearConversionTrackingStatus() { bitField0_ = (bitField0_ & ~0x00000010); conversionTrackingStatus_ = 0; onChanged(); return this; } private com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo biddingInfo_; private com.google.protobuf.SingleFieldBuilderV3< com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.Builder, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfoOrBuilder> biddingInfoBuilder_; /** *
     * Optional. Current bidding information of the campaign.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo bidding_info = 6 [(.google.api.field_behavior) = OPTIONAL]; * @return Whether the biddingInfo field is set. */ public boolean hasBiddingInfo() { return ((bitField0_ & 0x00000020) != 0); } /** *
     * Optional. Current bidding information of the campaign.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo bidding_info = 6 [(.google.api.field_behavior) = OPTIONAL]; * @return The biddingInfo. */ public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo getBiddingInfo() { if (biddingInfoBuilder_ == null) { return biddingInfo_ == null ? com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.getDefaultInstance() : biddingInfo_; } else { return biddingInfoBuilder_.getMessage(); } } /** *
     * Optional. Current bidding information of the campaign.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo bidding_info = 6 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder setBiddingInfo(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo value) { if (biddingInfoBuilder_ == null) { if (value == null) { throw new NullPointerException(); } biddingInfo_ = value; } else { biddingInfoBuilder_.setMessage(value); } bitField0_ |= 0x00000020; onChanged(); return this; } /** *
     * Optional. Current bidding information of the campaign.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo bidding_info = 6 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder setBiddingInfo( com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.Builder builderForValue) { if (biddingInfoBuilder_ == null) { biddingInfo_ = builderForValue.build(); } else { biddingInfoBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000020; onChanged(); return this; } /** *
     * Optional. Current bidding information of the campaign.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo bidding_info = 6 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder mergeBiddingInfo(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo value) { if (biddingInfoBuilder_ == null) { if (((bitField0_ & 0x00000020) != 0) && biddingInfo_ != null && biddingInfo_ != com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.getDefaultInstance()) { getBiddingInfoBuilder().mergeFrom(value); } else { biddingInfo_ = value; } } else { biddingInfoBuilder_.mergeFrom(value); } if (biddingInfo_ != null) { bitField0_ |= 0x00000020; onChanged(); } return this; } /** *
     * Optional. Current bidding information of the campaign.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo bidding_info = 6 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder clearBiddingInfo() { bitField0_ = (bitField0_ & ~0x00000020); biddingInfo_ = null; if (biddingInfoBuilder_ != null) { biddingInfoBuilder_.dispose(); biddingInfoBuilder_ = null; } onChanged(); return this; } /** *
     * Optional. Current bidding information of the campaign.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo bidding_info = 6 [(.google.api.field_behavior) = OPTIONAL]; */ public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.Builder getBiddingInfoBuilder() { bitField0_ |= 0x00000020; onChanged(); return getBiddingInfoFieldBuilder().getBuilder(); } /** *
     * Optional. Current bidding information of the campaign.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo bidding_info = 6 [(.google.api.field_behavior) = OPTIONAL]; */ public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfoOrBuilder getBiddingInfoOrBuilder() { if (biddingInfoBuilder_ != null) { return biddingInfoBuilder_.getMessageOrBuilder(); } else { return biddingInfo_ == null ? com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.getDefaultInstance() : biddingInfo_; } } /** *
     * Optional. Current bidding information of the campaign.
     * This field is necessary for the following recommendation_types:
     * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
     * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS,
     * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo bidding_info = 6 [(.google.api.field_behavior) = OPTIONAL]; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.Builder, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfoOrBuilder> getBiddingInfoFieldBuilder() { if (biddingInfoBuilder_ == null) { biddingInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfo.Builder, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.BiddingInfoOrBuilder>( getBiddingInfo(), getParentForChildren(), isClean()); biddingInfo_ = null; } return biddingInfoBuilder_; } private java.util.List adGroupInfo_ = java.util.Collections.emptyList(); private void ensureAdGroupInfoIsMutable() { if (!((bitField0_ & 0x00000040) != 0)) { adGroupInfo_ = new java.util.ArrayList(adGroupInfo_); bitField0_ |= 0x00000040; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.Builder, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfoOrBuilder> adGroupInfoBuilder_; /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public java.util.List getAdGroupInfoList() { if (adGroupInfoBuilder_ == null) { return java.util.Collections.unmodifiableList(adGroupInfo_); } else { return adGroupInfoBuilder_.getMessageList(); } } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public int getAdGroupInfoCount() { if (adGroupInfoBuilder_ == null) { return adGroupInfo_.size(); } else { return adGroupInfoBuilder_.getCount(); } } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo getAdGroupInfo(int index) { if (adGroupInfoBuilder_ == null) { return adGroupInfo_.get(index); } else { return adGroupInfoBuilder_.getMessage(index); } } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder setAdGroupInfo( int index, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo value) { if (adGroupInfoBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureAdGroupInfoIsMutable(); adGroupInfo_.set(index, value); onChanged(); } else { adGroupInfoBuilder_.setMessage(index, value); } return this; } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder setAdGroupInfo( int index, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.Builder builderForValue) { if (adGroupInfoBuilder_ == null) { ensureAdGroupInfoIsMutable(); adGroupInfo_.set(index, builderForValue.build()); onChanged(); } else { adGroupInfoBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder addAdGroupInfo(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo value) { if (adGroupInfoBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureAdGroupInfoIsMutable(); adGroupInfo_.add(value); onChanged(); } else { adGroupInfoBuilder_.addMessage(value); } return this; } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder addAdGroupInfo( int index, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo value) { if (adGroupInfoBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureAdGroupInfoIsMutable(); adGroupInfo_.add(index, value); onChanged(); } else { adGroupInfoBuilder_.addMessage(index, value); } return this; } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder addAdGroupInfo( com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.Builder builderForValue) { if (adGroupInfoBuilder_ == null) { ensureAdGroupInfoIsMutable(); adGroupInfo_.add(builderForValue.build()); onChanged(); } else { adGroupInfoBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder addAdGroupInfo( int index, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.Builder builderForValue) { if (adGroupInfoBuilder_ == null) { ensureAdGroupInfoIsMutable(); adGroupInfo_.add(index, builderForValue.build()); onChanged(); } else { adGroupInfoBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder addAllAdGroupInfo( java.lang.Iterable values) { if (adGroupInfoBuilder_ == null) { ensureAdGroupInfoIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, adGroupInfo_); onChanged(); } else { adGroupInfoBuilder_.addAllMessages(values); } return this; } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder clearAdGroupInfo() { if (adGroupInfoBuilder_ == null) { adGroupInfo_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000040); onChanged(); } else { adGroupInfoBuilder_.clear(); } return this; } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder removeAdGroupInfo(int index) { if (adGroupInfoBuilder_ == null) { ensureAdGroupInfoIsMutable(); adGroupInfo_.remove(index); onChanged(); } else { adGroupInfoBuilder_.remove(index); } return this; } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.Builder getAdGroupInfoBuilder( int index) { return getAdGroupInfoFieldBuilder().getBuilder(index); } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfoOrBuilder getAdGroupInfoOrBuilder( int index) { if (adGroupInfoBuilder_ == null) { return adGroupInfo_.get(index); } else { return adGroupInfoBuilder_.getMessageOrBuilder(index); } } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public java.util.List getAdGroupInfoOrBuilderList() { if (adGroupInfoBuilder_ != null) { return adGroupInfoBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(adGroupInfo_); } } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.Builder addAdGroupInfoBuilder() { return getAdGroupInfoFieldBuilder().addBuilder( com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.getDefaultInstance()); } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.Builder addAdGroupInfoBuilder( int index) { return getAdGroupInfoFieldBuilder().addBuilder( index, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.getDefaultInstance()); } /** *
     * Optional. Current AdGroup Information.
     * Supports information from a single AdGroup.
     * This field is optional for the following recommendation_types:
     * KEYWORD
     * 
* * repeated .google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo ad_group_info = 7 [(.google.api.field_behavior) = OPTIONAL]; */ public java.util.List getAdGroupInfoBuilderList() { return getAdGroupInfoFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.Builder, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfoOrBuilder> getAdGroupInfoFieldBuilder() { if (adGroupInfoBuilder_ == null) { adGroupInfoBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfo.Builder, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.AdGroupInfoOrBuilder>( adGroupInfo_, ((bitField0_ & 0x00000040) != 0), getParentForChildren(), isClean()); adGroupInfo_ = null; } return adGroupInfoBuilder_; } private com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo seedInfo_; private com.google.protobuf.SingleFieldBuilderV3< com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.Builder, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfoOrBuilder> seedInfoBuilder_; /** *
     * Optional. Seed information for Keywords.
     * This field is necessary for the following recommendation_types:
     * KEYWORD
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo seed_info = 8 [(.google.api.field_behavior) = OPTIONAL]; * @return Whether the seedInfo field is set. */ public boolean hasSeedInfo() { return ((bitField0_ & 0x00000080) != 0); } /** *
     * Optional. Seed information for Keywords.
     * This field is necessary for the following recommendation_types:
     * KEYWORD
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo seed_info = 8 [(.google.api.field_behavior) = OPTIONAL]; * @return The seedInfo. */ public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo getSeedInfo() { if (seedInfoBuilder_ == null) { return seedInfo_ == null ? com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.getDefaultInstance() : seedInfo_; } else { return seedInfoBuilder_.getMessage(); } } /** *
     * Optional. Seed information for Keywords.
     * This field is necessary for the following recommendation_types:
     * KEYWORD
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo seed_info = 8 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder setSeedInfo(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo value) { if (seedInfoBuilder_ == null) { if (value == null) { throw new NullPointerException(); } seedInfo_ = value; } else { seedInfoBuilder_.setMessage(value); } bitField0_ |= 0x00000080; onChanged(); return this; } /** *
     * Optional. Seed information for Keywords.
     * This field is necessary for the following recommendation_types:
     * KEYWORD
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo seed_info = 8 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder setSeedInfo( com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.Builder builderForValue) { if (seedInfoBuilder_ == null) { seedInfo_ = builderForValue.build(); } else { seedInfoBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000080; onChanged(); return this; } /** *
     * Optional. Seed information for Keywords.
     * This field is necessary for the following recommendation_types:
     * KEYWORD
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo seed_info = 8 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder mergeSeedInfo(com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo value) { if (seedInfoBuilder_ == null) { if (((bitField0_ & 0x00000080) != 0) && seedInfo_ != null && seedInfo_ != com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.getDefaultInstance()) { getSeedInfoBuilder().mergeFrom(value); } else { seedInfo_ = value; } } else { seedInfoBuilder_.mergeFrom(value); } if (seedInfo_ != null) { bitField0_ |= 0x00000080; onChanged(); } return this; } /** *
     * Optional. Seed information for Keywords.
     * This field is necessary for the following recommendation_types:
     * KEYWORD
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo seed_info = 8 [(.google.api.field_behavior) = OPTIONAL]; */ public Builder clearSeedInfo() { bitField0_ = (bitField0_ & ~0x00000080); seedInfo_ = null; if (seedInfoBuilder_ != null) { seedInfoBuilder_.dispose(); seedInfoBuilder_ = null; } onChanged(); return this; } /** *
     * Optional. Seed information for Keywords.
     * This field is necessary for the following recommendation_types:
     * KEYWORD
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo seed_info = 8 [(.google.api.field_behavior) = OPTIONAL]; */ public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.Builder getSeedInfoBuilder() { bitField0_ |= 0x00000080; onChanged(); return getSeedInfoFieldBuilder().getBuilder(); } /** *
     * Optional. Seed information for Keywords.
     * This field is necessary for the following recommendation_types:
     * KEYWORD
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo seed_info = 8 [(.google.api.field_behavior) = OPTIONAL]; */ public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfoOrBuilder getSeedInfoOrBuilder() { if (seedInfoBuilder_ != null) { return seedInfoBuilder_.getMessageOrBuilder(); } else { return seedInfo_ == null ? com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.getDefaultInstance() : seedInfo_; } } /** *
     * Optional. Seed information for Keywords.
     * This field is necessary for the following recommendation_types:
     * KEYWORD
     * 
* * optional .google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo seed_info = 8 [(.google.api.field_behavior) = OPTIONAL]; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.Builder, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfoOrBuilder> getSeedInfoFieldBuilder() { if (seedInfoBuilder_ == null) { seedInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfo.Builder, com.google.ads.googleads.v17.services.GenerateRecommendationsRequest.SeedInfoOrBuilder>( getSeedInfo(), getParentForChildren(), isClean()); seedInfo_ = null; } return seedInfoBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:google.ads.googleads.v17.services.GenerateRecommendationsRequest) } // @@protoc_insertion_point(class_scope:google.ads.googleads.v17.services.GenerateRecommendationsRequest) private static final com.google.ads.googleads.v17.services.GenerateRecommendationsRequest DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.ads.googleads.v17.services.GenerateRecommendationsRequest(); } public static com.google.ads.googleads.v17.services.GenerateRecommendationsRequest getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public GenerateRecommendationsRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.ads.googleads.v17.services.GenerateRecommendationsRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy