Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
   // Copyright 2012 Google Inc. All Rights Reserved.
   //
   // Licensed under the Apache License, Version 2.0 (the "License");
   // you may not use this file except in compliance with the License.
   // You may obtain a copy of the License at
   //
   //       http://www.apache.org/licenses/LICENSE-2.0
   //
   // Unless required by applicable law or agreed to in writing, software
  // distributed under the License is distributed on an "AS IS" BASIS,
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  // See the License for the specific language governing permissions and
  // limitations under the License.
  
  package com.google.api.ads.adwords.axis.utility.extension.util;
  
  
  import java.util.List;

The SelectorField class contains all the possible fields that each service can use.

https://developers.google.com/adwords/api/docs/appendix/selectorfields

Author(s):
Julian Toledo
  
  public final class SelectorFields {

  
Specific FieldType for the API Object/Service fields.
  
    public interface FieldType<T> {
      public String getField();
      public boolean getFilterable();
    }

  
Helper method that generates the String[] needed by the AdWords Services from the constant list.

Parameters:
enums The list of constant Enums of the <T> type of object that the Service works with, for example Campaign, AdGroup, etc.
Returns:
the String[] needed by the AdWords Services
  
    public static <T extends FieldType<?>> String[] getFields(List<T> enums) {
      return Lists.transform(enumsnew Function<FieldType<?>, String>() {
        public String apply(FieldType<?> selectorField) {
          return selectorField.getField();
        }
      }).toArray(new String[] {});
    }

  
  
    public enum ManagedCustomer
      CAN_MANAGE_CLIENTS("CanManageClients"true),
      COMPANY_NAME("CompanyName"true),
      CURRENCY_CODE("CurrencyCode"true),
      CUSTOMER_ID("CustomerId"true),
      NAME("Name"true),
      TEST_ACCOUNT("TestAccount"false);
  
      private String field;
      private boolean filterable;
  
      private ManagedCustomer(String fieldboolean filterable) {
        this. = field;
        this. = filterable;
      }
  
      public String getField() {
        return ;
      }
  
      public boolean getFilterable() {
        return ;
      }
  
      public static ImmutableList<ManagedCustomerall() {
        return ImmutableList.copyOf(SelectorFields.ManagedCustomer.values());
      }
      
      public static String[] allFields() {
        return getFields(all());
      }
    }

  
  
    public enum Campaign implements FieldType<com.google.api.ads.adwords.axis.v201409.cm.Campaign> {
      AD_SERVING_OPTIMIZATION_STATUS("AdServingOptimizationStatus"false),
      AMOUNT("Amount"true),
     BID_CEILING("BidCeiling"false),
     BID_TYPE("BidType"true),
     BIDDING_STRATEGY_TYPE("BiddingStrategyType"true),
     BUDGET_ID("BudgetId"true),
     BUDGET_NAME("BudgetName"true),
     BUDGET_REFERENCE_COUNT("BudgetReferenceCount"false),
     BUDGET_STATUS("BudgetStatus"true),
     DELIVERY_METHOD("DeliveryMethod"false),
     ELIGIBLE("Eligible"false),
     END_DATE("EndDate"true),
     ENHANCED_CPC_ENABLED("EnhancedCpcEnabled"true),
     FREQUENCY_CAP_MAX_IMPRESSIONS("FrequencyCapMaxImpressions"true),
     ID("Id"true),
     IS_BUDGET_EXPLICITLY_SHARED("IsBudgetExplicitlyShared"true),
     LABELS("Labels"true),
     LEVEL("Level"true),
     NAME("Name"true),
     PERIOD("Period"false),
     PRICING_MODE("PricingMode"true),
     REJECTION_REASONS("RejectionReasons"false),
     SERVING_STATUS("ServingStatus"true),
     SETTINGS("Settings"false),
     START_DATE("StartDate"true),
     STATUS("Status"true),
     TARGET_CONTENT_NETWORK("TargetContentNetwork"true),
     TARGET_GOOGLE_SEARCH("TargetGoogleSearch"true),
     TARGET_PARTNER_SEARCH_NETWORK("TargetPartnerSearchNetwork"true),    
     TARGET_SEARCH_NETWORK("TargetSearchNetwork"true),
     TIME_UNIT("TimeUnit"true);
 
     private String field;
     private boolean filterable;
 
     private Campaign(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     public static ImmutableList<Campaignall() {
       return ImmutableList.copyOf(SelectorFields.Campaign.values());
     }
     
     public static String[] allFields() {
       return getFields(all());
     }
   }

  
  
 
   public enum AdGroupAd
       implements FieldType<com.google.api.ads.adwords.axis.v201409.cm.AdGroupAd> {
     ADGROUPAD_TRADEMARK_DISAPPROVED("AdGroupAdTrademarkDisapproved"false),
     ADGROUP_CREATIVE_APPROVAL_STATUS("AdGroupCreativeApprovalStatus"true),
     ADGROUP_ID("AdGroupId"true),
     ADVERTISING_ID("AdvertisingId"true),
     CREATION_TIME("CreationTime"true),
     DESCRIPTION1("Description1"true),
     DESCRIPTION2("Description2"true),
     DEVICE_PREFERENCE("DevicePreference"true),
     DIMENSIONS("Dimensions"false),
     DISPLAY_URL("DisplayUrl"true),
     EXPANDING_DIRECTIONS("ExpandingDirections"false),
     EXPERIMENT_DATA_STATUS("ExperimentDataStatus"false),
     EXPERIMENT_DELTA_STATUS("ExperimentDeltaStatus"false),
     EXPERIMENT_ID("ExperimentId"true),
     FILE_SIZE("FileSize"true),
     HEADLINE("Headline"true),
     HEIGHT("Height"true),
     ID("Id"true),
     IMAGE_CREATIVE_NAME("ImageCreativeName"true),
     INDUSTRY_STANDARD_COMMERCIAL_IDENTIFIER("IndustryStandardCommercialIdentifier"true),
     IS_COOKIE_TARGETED("IsCookieTargeted"false),
     IS_TAGGED("IsTagged"false),
     IS_USER_INTEREST_TARGETED("IsUserInterestTargeted"false),
     LABELS("Labels"true),
     MEDIA_ID("MediaId"true),
     MIME_TYPE("MimeType"true),
     MOBILEAD_BUSINESS_NAME("MobileAdBusinessName"false),
     MOBILEAD_COUNTRY_CODE("MobileAdCountryCode"false),
     MOBILEAD_DESCRIPTION("MobileAdDescription"false),
     MOBILEAD_HEADLINE("MobileAdHeadline"false),
     MOBILEAD_MARKUP_LANGUAGES("MobileAdMarkupLanguages"false),
     MOBILEAD_MOBILE_CARRIERS("MobileAdMobileCarriers"false),
     MOBILEAD_PHONE_NUMBER("MobileAdPhoneNumber"false),
     MOBILEIMAGEAD_MARKUP_LANGUAGES("MobileImageAdMarkupLanguages"false),
     MOBILEIMAGEAD_MOBILE_CARRIERS("MobileImageAdMobileCarriers"false),
     PROMOTION_LINE("PromotionLine"true),
     READY_TO_PLAY_ON_THE_WEB("ReadyToPlayOnTheWeb"false),
     REFERENCE_ID("ReferenceId"true),
     RICHMEDIAAD_CERTIFIED_VENDOR_FORMAT_ID("RichMediaAdCertifiedVendorFormatId"false),
     RICHMEDIAAD_DURATION("RichMediaAdDuration"false),
     RICHMEDIAAD_IMPRESSION_BEACON_URL("RichMediaAdImpressionBeaconUrl"false),
     RICHMEDIAAD_NAME("RichMediaAdName"false),
     RICHMEDIAAD_SNIPPET("RichMediaAdSnippet"false),
     RICHMEDIAAD_SOURCE_URL("RichMediaAdSourceUrl"false),
     RICHMEDIAAD_TYPE("RichMediaAdType"false),
     SOURCE_URL("SourceUrl"true),
     STATUS("Status"true),
     TEMPLATEAD_DURATION("TemplateAdDuration"false),
     TEMPLATEAD_NAME("TemplateAdName"false),
     TEMPLATEAD_UNIONID("TemplateAdUnionId"false),
     TEMPLATE_ELEMENT_FIELD_NAME("TemplateElementFieldName"false),
     TEMPLATE_ELEMENT_FIELD_TEXT("TemplateElementFieldText"false),
     TEMPLATE_ELEMENT_FIELD_TYPE("TemplateElementFieldType"false),
     TEMPLATE_ID("TemplateId"false),
     UNIQUE_NAME("UniqueName"false),
     URL("Url"true),
     URLS("Urls"false),
     VIDEO_TYPES("VideoTypes"false),
     WIDTH("Width"true),
     YOUTUBEVIDEO_ID_STRING("YouTubeVideoIdString"true);
 
     private String field;
     private boolean filterable;
 
     private AdGroupAd(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     public static ImmutableList<AdGroupAdall() {
       return ImmutableList.copyOf(SelectorFields.AdGroupAd.values());
     }
     
     public static String[] allFields() {
       return getFields(all());
     }
   }

  
 
   public enum AdGroupCriterion
     ADGROUP_ID("AdGroupId"true),
     AGE_RANGE_TYPE("AgeRangeType"false),
     APPROVAL_STATUS("ApprovalStatus"true),
     ARGUMENT("Argument"false),
     BID_TYPE("BidType"true),
     BIDDING_STRATEGY_TYPE("BiddingStrategyType"true),
     CPC_BID("CpcBid"true),
     CPC_BID_SOURCE("CpcBidSource"true),
     CPM_BID("CpmBid"true),
     CPM_BID_SOURCE("CpmBidSource"true),
     CRITERIA_COVERAGE("CriteriaCoverage"false),
     CRITERIA_SAMPLES("CriteriaSamples"false),
     CRITERIA_TYPE("CriteriaType"true),
     CRITERION_USE("CriterionUse"true),
     DESTINATION_URL("DestinationUrl"true),
     DISPLAY_NAME("DisplayName"true),
     ENHANCED_CPC_ENABLED("EnhancedCpcEnabled"true),
     EXPERIMENT_BID_MULTIPLIER("ExperimentBidMultiplier"true),
     EXPERIMENT_DATA_STATUS("ExperimentDataStatus"false),
     EXPERIMENT_DELTA_STATUS("ExperimentDeltaStatus"true),
     EXPERIMENT_ID("ExperimentId"true),
     FIRST_PAGE_CPC("FirstPageCpc"true),
     GENDER_TYPE("GenderType"false),
     ID("Id"true),
     IS_KEYWORD_AD_RELEVANCE_ACCEPTABLE("IsKeywordAdRelevanceAcceptable"true),
     IS_LANDING_PAGE_LATENCY_ACCEPTABLE("IsLandingPageLatencyAcceptable"true),
     IS_LANDING_PAGE_QUALITY_ACCEPTABLE("IsLandingPageQualityAcceptable"true),
     KEYWORD_MATCH_TYPE("KeywordMatchType"true),
     KEYWORD_TEXT("KeywordText"true),
     LABELS("Labels"true),
     MOBILE_APP_CATEGORY_ID("MobileAppCategoryId"false),
     OPERAND("Operand"false),
     PARAMETER("Parameter"true), // Beta
     PATH("Path"true),
     PERCENT_CPA_BID("PercentCpaBid"true),
     PERCENT_CPA_BID_SOURCE("PercentCpaBidSource"true),
     PLACEMENT_URL("PlacementUrl"true),
     QUALITY_SCORE("QualityScore"true),
     STATUS("Status"true),
     SYSTEM_SERVING_STATUS("SystemServingStatus"true),
     TEXT("Text"false),
     TOP_OF_PAGE_CPC("TopOfPageCpc"true), // Beta
     USER_INTEREST_ID("UserInterestId"false),
     USER_INTEREST_NAME("UserInterestName"false),
     USER_LIST_ID("UserListId"false),
     USER_LIST_MEMBERSHIP_STATUS("UserListMembershipStatus"true),
     USER_LIST_NAME("UserListName"false),
     VERTICAL_ID("VerticalId"false),
     VERTICAL_PARENT_ID("VerticalParentId"false);
 
     private String field;
     private boolean filterable;
 
     private AdGroupCriterion(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     // Returns all fields that are not marked as beta
     public static ImmutableList<AdGroupCriterionall(boolean includeBetaFields) {
       if (includeBetaFields) {
         return ImmutableList.copyOf(SelectorFields.AdGroupCriterion.values());
       } else {
         return ImmutableList.<AdGroupCriterion>builder()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add().build();
       }
     }
     
     public static String[] allFields(boolean includeBetaFields) {
       return getFields(all(includeBetaFields));
     }
   }

  
 
   public enum AdGroup implements FieldType<com.google.api.ads.adwords.axis.v201409.cm.AdGroup> {
     BID_TYPE("BidType"true),
     BIDDING_STRATEGY_TYPE("BiddingStrategyType"true),
     CAMPAIGN_ID("CampaignId"true),
     CAMPAIGN_NAME("CampaignName"true),
     CONTENT_BID_CRITERION_TYPE_GROUP("ContentBidCriterionTypeGroup"true),
     CPC_BID("CpcBid"true),
     CPM_BID("CpmBid"true),
     ENHANCED_CPC_ENABLED("EnhancedCpcEnabled"true),
     EXPERIMENT_DELTA_STATUS("ExperimentDeltaStatus"false),
     EXPERIMENT_ID("ExperimentId"true),
     ID("Id"true),
     LABELS("Labels"true),
     MAX_CONTENT_CPC_MULTIPLIER("MaxContentCpcMultiplier"true),
     MAX_CPC_MULTIPLIER("MaxCpcMultiplier"true),
     MAX_CPM_MULTIPLIER("MaxCpmMultiplier"true),
     NAME("Name"true),
     PERCENT_CPA_BID("PercentCpaBid"true),
     SETTINGS("Settings"false),
     STATUS("Status"true),
     TARGET_CPA_BID("TargetCpaBid"true);
 
     private String field;
     private boolean filterable;
 
     private AdGroup(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     public static ImmutableList<AdGroupall() {
       return ImmutableList.copyOf(SelectorFields.AdGroup.values());
     }
     
     public static String[] allFields() {
       return getFields(all());
     }
   }

  
 
   public enum AdGroupFeed
       implements FieldType<com.google.api.ads.adwords.axis.v201409.cm.AdGroupFeed> {
     ADGROUP_ID("AdGroupId"true),
     FEED_ID("FeedId"true),
     MATCHING_FUNCTION("MatchingFunction"false),
     PLACEHOLDER_TYPES("PlaceholderTypes"true),
     STATUS("Status"true);
 
     private String field;
     private boolean filterable;
 
     private AdGroupFeed(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     public static ImmutableList<AdGroupFeedall() {
       return ImmutableList.copyOf(SelectorFields.AdGroupFeed.values());
     }
 
     public static String[] allFields() {
       return getFields(all());
     }
   }

  
 
   public enum AdParam implements FieldType<com.google.api.ads.adwords.axis.v201409.cm.AdParam> {
     ADGROUP_ID("AdGroupId"true),
     CRITERION_ID("CriterionId"true),
     INSERTION_TEXT("InsertionText"false),
     PARAM_INDEX("ParamIndex"false);
 
     private String field;
     private boolean filterable;
 
     private AdParam(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     public static ImmutableList<AdParamall() {
       return ImmutableList.copyOf(SelectorFields.AdParam.values());
     }
     
     public static String[] allFields() {
       return getFields(all());
     }
   }

  
 
   public enum Budget implements FieldType<com.google.api.ads.adwords.axis.v201409.cm.Budget> {
     AMOUNT("Amount"true),
     BUDGET_ID("BudgetId"true),
     BUDGET_NAME("BudgetName"true),
     BUDGET_REFERENCE_COUNT("BudgetReferenceCount"false),
     BUDGET_STATUS("BudgetStatus"true),
     DELIVERY_METHOD("DeliveryMethod"false),
     IS_BUDGET_EXPLICITLY_SHARED("IsBudgetExplicitlyShared"false),
     PERIOD("Period"true);
 
     private String field;
     private boolean filterable;
 
     private Budget(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     public static ImmutableList<Budgetall() {
       return ImmutableList.copyOf(SelectorFields.Budget.values());
     }
     
     public static String[] allFields() {
       return getFields(all());
     }
   }

  
 
   public enum BudgetOrder
     BILLING_ACCOUNT_ID("BillingAccountId"true),
     BILLING_ACCOUNT_NAME("BillingAccountName"true), //New Billing
     BUDGET_ORDER_NAME("BudgetOrderName"true), //New Billing
     END_DATE_TIME("EndDateTime"true),
     ID("Id"true),
     LAST_REQUEST("LastRequest"false), //New Billing
     PO_NUMBER("PoNumber"true), //New Billing
     PRIMARY_BILLING_ID("PrimaryBillingId"true), //New Billing
     SECONDARY_BILLING_ID("SecondaryBillingId"true), //New Billing
     SPENDING_LIMIT("SpendingLimit"true),
     START_DATE_TIME("StartDateTime"true);
 
     private String field;
     private boolean filterable;
 
     private BudgetOrder(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     public static ImmutableList<BudgetOrderall(boolean newBilling) {
       if (newBilling) {
         return ImmutableList.copyOf(SelectorFields.BudgetOrder.values());  
       } else {
         return ImmutableList.of(
       }
     }
     
     public static String[] allFields(boolean newBilling) {
       return getFields(all(newBilling));
     }
   }

  
 
   public enum CampaignAdExtension
     AD_EXTENSION_ID("AdExtensionId"true),
     ADDRESS("Address"false),
     ADVERTISER_NAME("AdvertiserName"false),
     APP_ID("AppId"false),
     APP_STORE("AppStore"false),
     APPROVAL_STATUS("ApprovalStatus"true),
     ARGUMENT("Argument"false),
     CAMPAIGN_ID("CampaignId"true),
     COMPANY_NAME("CompanyName"false),
     COUNTRY_CODE("CountryCode"false),
     DESTINATION_URL("DestinationUrl"false),
     DISPLAY_TEXT("DisplayText"false),
     DOMAIN_NAME("DomainName"false),
     EMAIL("Email"false),
     ENCODED_LOCATION("EncodedLocation"false),
     GEO_POINT("GeoPoint"false),
     GOOGLE_BASE_CUSTOMER_ID("GoogleBaseCustomerId"false),
     ICON_MEDIA_ID("IconMediaId"false),
     IMAGE_MEDIA_ID("ImageMediaId"false),
     IN_APP_LINK_TEXT("InAppLinkText"false),
     IN_APP_LINK_URL("InAppLinkUrl"false),
     IS_CALL_ONLY("IsCallOnly"false),
     IS_CALL_TRACKING_ENABLED("IsCallTrackingEnabled"false), // Beta
     LANGUAGE_CODE("LanguageCode"false),
     LOCATION_EXTENSION_SOURCE("LocationExtensionSource"true),
     OPERAND("Operand"false),
     PHONE_NUMBER("PhoneNumber"false),
     SHOULD_SYNC_URL("ShouldSyncUrl"false),
     STATUS("Status"true);
 
     private String field;
     private boolean filterable;
 
     private CampaignAdExtension(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     // Returns all fields that are not marked as beta
     public static ImmutableList<CampaignAdExtensionall(boolean includeBetaFields) {
       if (includeBetaFields) {
         return ImmutableList.copyOf(SelectorFields.CampaignAdExtension.values());
       } else {
         return ImmutableList.<CampaignAdExtension>builder()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add()
             .add().build();
       }
     }
 
     public static String[] allFields(boolean includeBetaFields) {
       return getFields(all(includeBetaFields));
     }
   }

  
 
   public enum CampaignCriterion
     ADDRESS("Address"false),
     AGE_RANGE_TYPE("AgeRangeType"false),
     ARGUMENT("Argument"false),
     BID_MODIFIER("BidModifier"true),
     CAMPAIGN_ID("CampaignId"true),
     CARRIER_COUNTRY_CODE("CarrierCountryCode"false),
     CARRIER_NAME("CarrierName"false),
     CONTENT_LABEL_TYPE("ContentLabelType"true),
     CRITERIA_TYPE("CriteriaType"true),
     DAY_OF_WEEK("DayOfWeek"false),
     DEVICE_NAME("DeviceName"false),
     DEVICE_TYPE("DeviceType"false),
     DISPLAY_NAME("DisplayName"true),
     DISPLAY_TYPE("DisplayType"false),
     END_HOUR("EndHour"false),
     END_MINUTE("EndMinute"false),
     GENDER_TYPE("GenderType"false),
     GEO_POINT("GeoPoint"false),
     ID("Id"true),
     IS_NEGATIVE("IsNegative"true),
     KEYWORD_MATCH_TYPE("KeywordMatchType"true),
     KEYWORD_TEXT("KeywordText"true),
     LANGUAGE_CODE("LanguageCode"false),
     LANGUAGE_NAME("LanguageName"false),
     LOCATION_NAME("LocationName"true),
     MANUFACTURER_NAME("ManufacturerName"false),
     MOBILE_APP_CATEGORY_ID("MobileAppCategoryId"false),
     OPERAND("Operand"false),
     OPERATING_SYSTEM_NAME("OperatingSystemName"false),
     OPERATOR_TYPE("OperatorType"false),
     OS_MAJOR_VERSION("OsMajorVersion"false),
     OS_MINOR_VERSION("OsMinorVersion"false),
     PARENT_LOCATIONS("ParentLocations"false),
     PATH("Path"false),
     PLACEMENT_URL("PlacementUrl"false),
     PLATFORM_NAME("PlatformName"false),
     RADIUS_DISTANCE_UNITS("RadiusDistanceUnits"false),
     RADIUS_IN_UNITS("RadiusInUnits"false),
     START_HOUR("StartHour"false),
     START_MINUTE("StartMinute"false),
     TARGETING_STATUS("TargetingStatus"false),
     TEXT("Text"false),
     USER_INTEREST_ID("UserInterestId"false),
     USER_INTEREST_NAME("UserInterestName"false),
     USER_LIST_ID("UserListId"false),
     USER_LIST_MEMBERSHIP_STATUS("UserListMembershipStatus"true),
     USER_LIST_NAME("UserListName"false),
     VERTICAL_ID("VerticalId"false),
     VERTICAL_PARENT_ID("VerticalParentId"false),
     VERTICES("Vertices"false);
 
     private String field;
     private boolean filterable;
 
     private CampaignCriterion(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     public static ImmutableList<CampaignCriterionall() {
       return ImmutableList.copyOf(SelectorFields.CampaignCriterion.values());
     }
   }

  
 
   public enum CampaignFeed
     CAMPAIGN_ID("CampaignId"true),
     FEED_ID("FeedId"true),
     MATCHING_FUNCTION("MatchingFunction"false),
     PLACEHOLDER_TYPES("PlaceholderTypes"true),
     STATUS("Status"true);
 
     private String field;
     private boolean filterable;
 
     private CampaignFeed(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     public static ImmutableList<CampaignFeedall() {
       return ImmutableList.copyOf(SelectorFields.CampaignFeed.values());
     }
 
     public static String[] allFields() {
       return getFields(all());
     }
   }

  
 
   public enum ConversionTracker
     APP_ID("AppId"true),
     APP_PLATFORM("AppPlatform"true),
     BACKGROUND_COLOR("BackgroundColor"true),
     CATEGORY("Category"true),
     CONVERSION_PAGE_LANGUAGE("ConversionPageLanguage"true),
     CONVERSION_VALUE("ConversionValue"true),
     ID("Id"true),
     IS_PRODUCT_ADS_CHARGEABLE("IsProductAdsChargeable"true),
     MARKUP_LANGUAGE("MarkupLanguage"true),
     MOST_RECENT_CONVERSION_DATE("MostRecentConversionDate"true),
     NAME("Name"true),
     NUM_CONVERSION_EVENTS("NumConversionEvents"true),
     NUM_CONVERTED_CLICKS("NumConvertedClicks"true),
     PRODUCT_ADS_CHARGEABLE_CONVERSION_WINDOW("ProductAdsChargeableConversionWindow"true),
     STATUS("Status"true),
     TEXT_FORMAT("TextFormat"true),
     TRACKING_CODE_TYPE("TrackingCodeType"true),
     VIEWTHROUGH_LOOKBACK_WINDOW("ViewthroughLookbackWindow"true);
 
     private String field;
     private boolean filterable;
 
     private ConversionTracker(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     public static ImmutableList<ConversionTrackerall() {
       return ImmutableList.copyOf(SelectorFields.ConversionTracker.values());
     }
 
     public static String[] allFields() {
       return getFields(all());
     }
   }

  
 
   public enum AdGroupBidLandscape
     ADGROUP_ID("AdGroupId"true),
     BID("Bid"true),
     CAMPAIGN_ID("CampaignId"true),
     END_DATE("EndDate"false),
     LANDSCAPE_CURRENT("LandscapeCurrent"true),
     LANDSCAPE_TYPE("LandscapeType"true),
     LOCAL_CLICKS("LocalClicks"true),
     LOCAL_COST("LocalCost"true),
     LOCAL_IMPRESSIONS("LocalImpressions"true),
     MARGINAL_CPC("MarginalCpc"true),
     PROMOTED_IMPRESSIONS("PromotedImpressions"true),
     START_DATE("StartDate"false);
 
     private String field;
     private boolean filterable;
 
     private AdGroupBidLandscape(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     public static ImmutableList<AdGroupBidLandscapeall() {
       return ImmutableList.copyOf(SelectorFields.AdGroupBidLandscape.values());
     }
 
     public static String[] allFields() {
       return getFields(all());
     }
   }

  
 
   public enum CriterionBidLandscape
     ADGROUP_ID("AdGroupId"true),
     BID("Bid"true),
     CAMPAIGN_ID("CampaignId"true),
     CRITERION_ID("CriterionId"true),
     END_DATE("EndDate"false),
     LOCAL_CLICKS("LocalClicks"true),
     LOCAL_COST("LocalCost"true),
     LOCAL_IMPRESSIONS("LocalImpressions"true),
     MARGINAL_CPC("MarginalCpc"true),
     PROMOTED_IMPRESSIONS("PromotedImpressions"true),
     START_DATE("StartDate"false);
 
     private String field;
     private boolean filterable;
 
     private CriterionBidLandscape(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     public static ImmutableList<CriterionBidLandscapeall() {
       return ImmutableList.copyOf(SelectorFields.CriterionBidLandscape.values());
     }
 
     public static String[] allFields() {
       return getFields(all());
     }
   }

  
 
   public enum Experiment
       implements FieldType<com.google.api.ads.adwords.axis.v201409.cm.Experiment> {
     ADGROUP_ADS_COUNT("AdGroupAdsCount"false),
     ADGROUP_CRITERIA_COUNT("AdGroupCriteriaCount"false),
     ADGROUPS_COUNT("AdGroupsCount"false),
     CAMPAIGN_ID("CampaignId"true),
     CONTROL_ID("ControlId"true),
     END_DATE_TIME("EndDateTime"true),
     ID("Id"true),
     LAST_MODIFIED_DATE_TIME("LastModifiedDateTime"true),
     NAME("Name"true),
     QUERY_PERCENTAGE("QueryPercentage"true),
     SERVING_STATUS("ServingStatus"false),
     START_DATE_TIME("StartDateTime"true),
     STATUS("Status"true);
 
     private String field;
     private boolean filterable;
 
     private Experiment(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     public static ImmutableList<Experimentall() {
       return ImmutableList.copyOf(SelectorFields.Experiment.values());
     }
 
     public static String[] allFields() {
       return getFields(all());
     }
   }

  
 
   public enum Feed implements FieldType<com.google.api.ads.adwords.axis.v201409.cm.Feed> {
     ATTRIBUTES("Attributes"false),
     FEED_STATUS("FeedStatus"true),
     ID("Id"true),
     NAME("Name"false),
     ORIGIN("Origin"true);
 
     private String field;
     private boolean filterable;
 
     private Feed(String fieldboolean filterable) {
       this. = field;
       this. = filterable;
     }
 
     public String getField() {
       return ;
     }
 
     public boolean getFilterable() {
       return ;
     }
 
     public static ImmutableList<Feedall() {
       return ImmutableList.copyOf(SelectorFields.Feed.values());
     }
 
     public static String[] allFields() {
       return getFields(all());
     }
   }

  
  public enum FeedItem implements FieldType<com.google.api.ads.adwords.axis.v201409.cm.FeedItem> {
    ATTRIBUTE_VALUES("AttributeValues"false),
    DEVICE_PREFERENCE("DevicePreference"true),
    END_TIME("EndTime"false),
    FEED_ID("FeedId"true),
    FEED_ITEM_ID("FeedItemId"true),
    START_TIME("StartTime"false),
    STATUS("Status"true),
    VALIDATION_DETAILS("ValidationDetails"false);
    private String field;
    private boolean filterable;
    private FeedItem(String fieldboolean filterable) {
      this. = field;
      this. = filterable;
    }
    public String getField() {
      return ;
    }
    public boolean getFilterable() {
      return ;
    }
    public static ImmutableList<FeedItemall() {
      return ImmutableList.copyOf(SelectorFields.FeedItem.values());
    }
    public static String[] allFields() {
      return getFields(all());
    }
  }

  
  public enum FeedMapping
    ATTRIBUTE_FIELD_MAPPINGS("AttributeFieldMappings"true),
    FEED_ID("FeedId"true),
    FEED_MAPPING_ID("FeedMappingId"true),
    STATUS("Status"true);
    private String field;
    private boolean filterable;
    private FeedMapping(String fieldboolean filterable) {
      this. = field;
      this. = filterable;
    }
    public String getField() {
      return ;
    }
    public boolean getFilterable() {
      return ;
    }
    public static ImmutableList<FeedMappingall() {
      return ImmutableList.copyOf(SelectorFields.FeedMapping.values());
    }
    public static String[] allFields() {
      return getFields(all());
    }
  }

  
  public enum LocationCriterion
    CANONICAL_NAME("CanonicalName"false),
    CRITERIA_TYPE("CriteriaType"true),
    DISPLAY_TYPE("DisplayType"false),
    ID("Id"true),
    LOCATION_NAME("LocationName"true),
    PARENT_LOCATIONS("ParentLocations"false),
    REACH("Reach"false),
    TARGETING_STATUS("TargetingStatus"false);
    private String field;
    private boolean filterable;
    private LocationCriterion(String fieldboolean filterable) {
      this. = field;
      this. = filterable;
    }
    public String getField() {
      return ;
    }
    public boolean getFilterable() {
      return ;
    }
    public static ImmutableList<LocationCriterionall() {
      return ImmutableList.copyOf(SelectorFields.LocationCriterion.values());
    }
    public static String[]