// Copyright 2017 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. /** * PlacesLocationFeedData.java * * This file was auto-generated from WSDL * by the Apache Axis 1.4 Mar 02, 2009 (07:08:06 PST) WSDL2Java emitter. */ package com.google.api.ads.adwords.axis.v201702.cm; /** * Data used to configure a location feed populated from * Google My Business Locations. */ public class PlacesLocationFeedData extends com.google.api.ads.adwords.axis.v201702.cm.SystemFeedGenerationData implements java.io.Serializable { /* Required authentication token (from OAuth API) for the email.</br> * Use the following values when populating the oAuthInfo: * <ul> * <li>httpMethod: {@code GET}</li> * <li>httpRequestUrl: {@code https://www.googleapis.com/auth/adwords}</li> * <li> * httpAuthorizationHeader: {@code Bearer *ACCESS_TOKEN*} * (where *ACCESS_TOKEN* is generated from OAuth credentials for the * emailAddress and a scope matching httpRequestUrl) * </li> * </ul> */ private com.google.api.ads.adwords.axis.v201702.cm.OAuthInfo oAuthInfo; /* Email address of a Google My Business account or email address * of a manager of the * Google My Business account. * <span class="constraint Required">This field is * required and should not be {@code null} when it is contained within * {@link Operator}s : ADD.</span> */ private java.lang.String emailAddress; /* Plus page ID of the managed business whose locations should * be used. If this field is not set, * then all businesses accessible by the user (specified * by the emailAddress) are used. */ private java.lang.String businessAccountIdentifier; /* Used to filter Google My Business listings by business name. * If businessNameFilter is set, * only listings with a matching business name are * candidates to be sync'd into FeedItems. */ private java.lang.String businessNameFilter; /* Used to filter Google My Business listings by categories. If * entries exist in categoryFilters, * only listings that belong to any of the categories * are candidates to be sync'd into FeedItems. * If no entries exist in categoryFilters, then all * listings are candidates for syncing. */ private java.lang.String[] categoryFilters; /* Used to filter <a href="http://www.google.com/mybusiness">Google * My Business</a> listings by * labels. If entries exist in labelFilters, only * listings that has any of the labels set are * candidates to be synchronized into FeedItems. * If no entries exist in labelFilters, then all * listings are candidates for syncing. */ private java.lang.String[] labelFilters; public PlacesLocationFeedData() { } public PlacesLocationFeedData( java.lang.String systemFeedGenerationDataType, com.google.api.ads.adwords.axis.v201702.cm.OAuthInfo oAuthInfo, java.lang.String emailAddress, java.lang.String businessAccountIdentifier, java.lang.String businessNameFilter, java.lang.String[] categoryFilters, java.lang.String[] labelFilters) { super( systemFeedGenerationDataType); this.oAuthInfo = oAuthInfo; this.emailAddress = emailAddress; this.businessAccountIdentifier = businessAccountIdentifier; this.businessNameFilter = businessNameFilter; this.categoryFilters = categoryFilters; this.labelFilters = labelFilters; } /** * Gets the oAuthInfo value for this PlacesLocationFeedData. * * @return oAuthInfo * Required authentication token (from OAuth API) for the email.</br> * Use the following values when populating the oAuthInfo: * <ul> * <li>httpMethod: {@code GET}</li> * <li>httpRequestUrl: {@code https://www.googleapis.com/auth/adwords}</li> * <li> * httpAuthorizationHeader: {@code Bearer *ACCESS_TOKEN*} * (where *ACCESS_TOKEN* is generated from OAuth credentials for the * emailAddress and a scope matching httpRequestUrl) * </li> * </ul> */ public com.google.api.ads.adwords.axis.v201702.cm.OAuthInfo getOAuthInfo() { return oAuthInfo; } /** * Sets the oAuthInfo value for this PlacesLocationFeedData. * * @param oAuthInfo * Required authentication token (from OAuth API) for the email.</br> * Use the following values when populating the oAuthInfo: * <ul> * <li>httpMethod: {@code GET}</li> * <li>httpRequestUrl: {@code https://www.googleapis.com/auth/adwords}</li> * <li> * httpAuthorizationHeader: {@code Bearer *ACCESS_TOKEN*} * (where *ACCESS_TOKEN* is generated from OAuth credentials for the * emailAddress and a scope matching httpRequestUrl) * </li> * </ul> */ public void setOAuthInfo(com.google.api.ads.adwords.axis.v201702.cm.OAuthInfo oAuthInfo) { this.oAuthInfo = oAuthInfo; } /** * Gets the emailAddress value for this PlacesLocationFeedData. * * @return emailAddress * Email address of a Google My Business account or email address * of a manager of the * Google My Business account. * <span class="constraint Required">This field is * required and should not be {@code null} when it is contained within * {@link Operator}s : ADD.</span> */ public java.lang.String getEmailAddress() { return emailAddress; } /** * Sets the emailAddress value for this PlacesLocationFeedData. * * @param emailAddress * Email address of a Google My Business account or email address * of a manager of the * Google My Business account. * <span class="constraint Required">This field is * required and should not be {@code null} when it is contained within * {@link Operator}s : ADD.</span> */ public void setEmailAddress(java.lang.String emailAddress) { this.emailAddress = emailAddress; } /** * Gets the businessAccountIdentifier value for this PlacesLocationFeedData. * * @return businessAccountIdentifier * Plus page ID of the managed business whose locations should * be used. If this field is not set, * then all businesses accessible by the user (specified * by the emailAddress) are used. */ public java.lang.String getBusinessAccountIdentifier() { return businessAccountIdentifier; } /** * Sets the businessAccountIdentifier value for this PlacesLocationFeedData. * * @param businessAccountIdentifier * Plus page ID of the managed business whose locations should * be used. If this field is not set, * then all businesses accessible by the user (specified * by the emailAddress) are used. */ public void setBusinessAccountIdentifier(java.lang.String businessAccountIdentifier) { this.businessAccountIdentifier = businessAccountIdentifier; } /** * Gets the businessNameFilter value for this PlacesLocationFeedData. * * @return businessNameFilter * Used to filter Google My Business listings by business name. * If businessNameFilter is set, * only listings with a matching business name are * candidates to be sync'd into FeedItems. */ public java.lang.String getBusinessNameFilter() { return businessNameFilter; } /** * Sets the businessNameFilter value for this PlacesLocationFeedData. * * @param businessNameFilter * Used to filter Google My Business listings by business name. * If businessNameFilter is set, * only listings with a matching business name are * candidates to be sync'd into FeedItems. */ public void setBusinessNameFilter(java.lang.String businessNameFilter) { this.businessNameFilter = businessNameFilter; } /** * Gets the categoryFilters value for this PlacesLocationFeedData. * * @return categoryFilters * Used to filter Google My Business listings by categories. If * entries exist in categoryFilters, * only listings that belong to any of the categories * are candidates to be sync'd into FeedItems. * If no entries exist in categoryFilters, then all * listings are candidates for syncing. */ public java.lang.String[] getCategoryFilters() { return categoryFilters; } /** * Sets the categoryFilters value for this PlacesLocationFeedData. * * @param categoryFilters * Used to filter Google My Business listings by categories. If * entries exist in categoryFilters, * only listings that belong to any of the categories * are candidates to be sync'd into FeedItems. * If no entries exist in categoryFilters, then all * listings are candidates for syncing. */ public void setCategoryFilters(java.lang.String[] categoryFilters) { this.categoryFilters = categoryFilters; } public java.lang.String getCategoryFilters(int i) { return this.categoryFilters[i]; } public void setCategoryFilters(int i, java.lang.String _value) { this.categoryFilters[i] = _value; } /** * Gets the labelFilters value for this PlacesLocationFeedData. * * @return labelFilters * Used to filter <a href="http://www.google.com/mybusiness">Google * My Business</a> listings by * labels. If entries exist in labelFilters, only * listings that has any of the labels set are * candidates to be synchronized into FeedItems. * If no entries exist in labelFilters, then all * listings are candidates for syncing. */ public java.lang.String[] getLabelFilters() { return labelFilters; } /** * Sets the labelFilters value for this PlacesLocationFeedData. * * @param labelFilters * Used to filter <a href="http://www.google.com/mybusiness">Google * My Business</a> listings by * labels. If entries exist in labelFilters, only * listings that has any of the labels set are * candidates to be synchronized into FeedItems. * If no entries exist in labelFilters, then all * listings are candidates for syncing. */ public void setLabelFilters(java.lang.String[] labelFilters) { this.labelFilters = labelFilters; } public java.lang.String getLabelFilters(int i) { return this.labelFilters[i]; } public void setLabelFilters(int i, java.lang.String _value) { this.labelFilters[i] = _value; } private java.lang.Object __equalsCalc = null; public synchronized boolean equals(java.lang.Object obj) { if (!(obj instanceof PlacesLocationFeedData)) return false; PlacesLocationFeedData other = (PlacesLocationFeedData) obj; if (obj == null) return false; if (this == obj) return true; if (__equalsCalc != null) { return (__equalsCalc == obj); } __equalsCalc = obj; boolean _equals; _equals = super.equals(obj) && ((this.oAuthInfo==null && other.getOAuthInfo()==null) || (this.oAuthInfo!=null && this.oAuthInfo.equals(other.getOAuthInfo()))) && ((this.emailAddress==null && other.getEmailAddress()==null) || (this.emailAddress!=null && this.emailAddress.equals(other.getEmailAddress()))) && ((this.businessAccountIdentifier==null && other.getBusinessAccountIdentifier()==null) || (this.businessAccountIdentifier!=null && this.businessAccountIdentifier.equals(other.getBusinessAccountIdentifier()))) && ((this.businessNameFilter==null && other.getBusinessNameFilter()==null) || (this.businessNameFilter!=null && this.businessNameFilter.equals(other.getBusinessNameFilter()))) && ((this.categoryFilters==null && other.getCategoryFilters()==null) || (this.categoryFilters!=null && java.util.Arrays.equals(this.categoryFilters, other.getCategoryFilters()))) && ((this.labelFilters==null && other.getLabelFilters()==null) || (this.labelFilters!=null && java.util.Arrays.equals(this.labelFilters, other.getLabelFilters()))); __equalsCalc = null; return _equals; } private boolean __hashCodeCalc = false; public synchronized int hashCode() { if (__hashCodeCalc) { return 0; } __hashCodeCalc = true; int _hashCode = super.hashCode(); if (getOAuthInfo() != null) { _hashCode += getOAuthInfo().hashCode(); } if (getEmailAddress() != null) { _hashCode += getEmailAddress().hashCode(); } if (getBusinessAccountIdentifier() != null) { _hashCode += getBusinessAccountIdentifier().hashCode(); } if (getBusinessNameFilter() != null) { _hashCode += getBusinessNameFilter().hashCode(); } if (getCategoryFilters() != null) { for (int i=0; i<java.lang.reflect.Array.getLength(getCategoryFilters()); i++) { java.lang.Object obj = java.lang.reflect.Array.get(getCategoryFilters(), i); if (obj != null && !obj.getClass().isArray()) { _hashCode += obj.hashCode(); } } } if (getLabelFilters() != null) { for (int i=0; i<java.lang.reflect.Array.getLength(getLabelFilters()); i++) { java.lang.Object obj = java.lang.reflect.Array.get(getLabelFilters(), i); if (obj != null && !obj.getClass().isArray()) { _hashCode += obj.hashCode(); } } } __hashCodeCalc = false; return _hashCode; } // Type metadata private static org.apache.axis.description.TypeDesc typeDesc = new org.apache.axis.description.TypeDesc(PlacesLocationFeedData.class, true); static { typeDesc.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201702", "PlacesLocationFeedData")); org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("OAuthInfo"); elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201702", "oAuthInfo")); elemField.setXmlType(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201702", "OAuthInfo")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("emailAddress"); elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201702", "emailAddress")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("businessAccountIdentifier"); elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201702", "businessAccountIdentifier")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("businessNameFilter"); elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201702", "businessNameFilter")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("categoryFilters"); elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201702", "categoryFilters")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); elemField.setNillable(false); elemField.setMaxOccursUnbounded(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("labelFilters"); elemField.setXmlName(new javax.xml.namespace.QName("https://adwords.google.com/api/adwords/cm/v201702", "labelFilters")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); elemField.setMinOccurs(0); elemField.setNillable(false); elemField.setMaxOccursUnbounded(true); typeDesc.addFieldDesc(elemField); } /** * Return type metadata object */ public static org.apache.axis.description.TypeDesc getTypeDesc() { return typeDesc; } /** * Get Custom Serializer */ public static org.apache.axis.encoding.Serializer getSerializer( java.lang.String mechType, java.lang.Class _javaType, javax.xml.namespace.QName _xmlType) { return new org.apache.axis.encoding.ser.BeanSerializer( _javaType, _xmlType, typeDesc); } /** * Get Custom Deserializer */ public static org.apache.axis.encoding.Deserializer getDeserializer( java.lang.String mechType, java.lang.Class _javaType, javax.xml.namespace.QName _xmlType) { return new org.apache.axis.encoding.ser.BeanDeserializer( _javaType, _xmlType, typeDesc); } }