// 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. /** * ReportQuery.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.dfp.axis.v201702; /** * A {@code ReportQuery} object allows you to specify the selection * criteria for * generating a report. */ public class ReportQuery implements java.io.Serializable { /* The list of break-down types being requested in the report. * The generated report will contain the dimensions in the same order * as requested. */ private com.google.api.ads.dfp.axis.v201702.Dimension[] dimensions; /* The ad unit view for the report. Defaults to {@link AdUnitView#TOP_LEVEL}. */ private com.google.api.ads.dfp.axis.v201702.ReportQueryAdUnitView adUnitView; /* The list of trafficking statistics and revenue information * being requested * in the report. The generated report will contain the * columns in the same * order as requested. */ private com.google.api.ads.dfp.axis.v201702.Column[] columns; /* The list of break-down attributes being requested in this report. * Some * {@link DimensionAttribute} values can only be used * with certain * {@link Dimension} values that must be included in * the {@link #dimensions} * attribute. The generated report will contain the attributes * in the same * order as requested. */ private com.google.api.ads.dfp.axis.v201702.DimensionAttribute[] dimensionAttributes; /* The list of {@link CustomField#id} being requested in this * report. * To add a {@link CustomField} to the report, you must * include * its corresponding {@link Dimension}, determined by * the {@link CustomField#entityType}, * as a {@link #dimensions dimension}. * * <table> * <tr> * <th scope="col" colspan="2">{@link CustomFieldEntityType#entityType}</th> * </tr> * <tr> * <td>{@link CustomFieldEntityType#LINE_ITEM}</td><td>{@link * Dimension#LINE_ITEM_NAME}</td> * </tr> * <tr> * <td>{@link CustomFieldEntityType#ORDER}</td><td>{@link * Dimension#ORDER_NAME}</td> * </tr> * <tr> * <td>{@link CustomFieldEntityType#CREATIVE}</td><td>{@link * Dimension#CREATIVE_NAME}</td> * </tr> * </table> */ private long[] customFieldIds; /* The list of content metadata hierarchy custom targeting key * {@link CustomTargetingKey#id IDs} * being requested in this report. Each of these IDs * must have been defined in the * {@link ContentMetadataKeyHierarchy content metadata * key hierarchy}. This will include * dimensions in the form of {@code CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[id]_ID} * and * {@code CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[id]_VALUE} * where where {@code ID} is the ID of * the {@link CustomTargetingValue#id custom targeting * value} and {@code VALUE} is the * {@link CustomTargetingValue#name name}. * <p> * To add {@link CustomTargetingKey#id IDs}, you must * include {@link Dimension#CONTENT_HIERARCHY} * in {@link #dimensions}, and specify a non-empty list * of custom targeting key IDs. The order of * content hierarchy columns in the report correspond * to the place of * {@link Dimension#CONTENT_HIERARCHY} in {@link #dimensions}. * For example, if {@link #dimensions} * contains the following dimensions in the order: {@link * Dimension#ADVERTISER_NAME}, * {@link Dimension#CONTENT_HIERARCHY} and {@link Dimension#COUNTRY_NAME}, * and * {@link #contentMetadataKeyHierarchyCustomTargetingKeyIds} * contains the following IDs in the * order: 1001 and 1002. The order of dimensions in the * report will be: * Dimension.ADVERTISER_NAME, * Dimension.CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[1001]_VALUE, * Dimension.CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[1002]_VALUE, * Dimension.COUNTRY_NAME, * Dimension.ADVERTISER_ID, * Dimension.CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[1001]_ID, * Dimension.CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[1002]_ID, * Dimension.COUNTRY_CRITERIA_ID */ private long[] contentMetadataKeyHierarchyCustomTargetingKeyIds; /* The start date from which the reporting information is gathered. * The * {@code ReportQuery#dateRangeType} field must be set * to * {@link DateRangeType#CUSTOM_DATE} in order to use * this. */ private com.google.api.ads.dfp.axis.v201702.Date startDate; /* The end date upto which the reporting information is gathered. * The * {@code ReportQuery#dateRangeType} field must be set * to * {@link DateRangeType#CUSTOM_DATE} in order to use * this. */ private com.google.api.ads.dfp.axis.v201702.Date endDate; /* The period of time for which the reporting data is being generated. * In * order to define custom time periods, set this to * {@link DateRangeType#CUSTOM_DATE}. If set to {@link * DateRangeType#CUSTOM_DATE}, then * {@link ReportQuery#startDate} and {@link ReportQuery#endDate} * will be used. */ private com.google.api.ads.dfp.axis.v201702.DateRangeType dateRangeType; /* Specifies a filter to use for reporting on data. This filter * will be used * in conjunction (joined with an AND statement) with * the date range selected * through {@link #dateRangeType}, {@link #startDate}, * and {@link #endDate} * and the dimension filters selected through {@link * #dimensionFilters}. * * The syntax currently allowed for {@link Statement#query} * is<br> * <code> [WHERE <condition> {AND <condition> ...}]<code><br> * <p><condition></code><br> *      <code>:= <property> = <value></code><br> * <code><condition></code><br> *      <code>:= <property> = <bind * variable></code><br> * <code><condition> := <property> IN <list></code><br> * <code><bind variable> := :<name></code><br> * </code> where property is the enumeration name of * a {@link Dimension} that * can be filtered. * <p> * For example, the statement "WHERE LINE_ITEM_ID IN * (34344, 23235)" can be used * to generate a report for a specific set of line items * <p> * Filtering on IDs is highly recommended over filtering * on names, especially * for geographical entities. When filtering on names, * matching is case * sensitive. */ private com.google.api.ads.dfp.axis.v201702.Statement statement; /* Whether report attributes and metrics are calculated or displayed * using proposal or proposal * line item time zones. When this field is set to {@code * true}, only sales metrics and sales date * time related attributes are supported and affected. * * <p>For example, if {@link Column#SALES_CONTRACT_CONTRACTED_CLICKS} * is included in a report with * this flag set to {@code true}, then it will be calculated * using the * {@link ProposalLineItem#timeZoneId} of the proposal * line item the metric is for. If * {@link DimensionAttribute#PROPOSAL_CREATION_DATE_TIME} * is included in a report with this flag * set to {@code true}, then a proposal's creation date * time will be formatted in * {@link Proposal#timeZoneId} of that proposal. */ private java.lang.Boolean useSalesLocalTimeZone; /* Whether report includes rows with all zero metric values. This * field is only eligible * for sales reports. This field is optional and defaults * to {@code false}. */ private java.lang.Boolean includeZeroSalesRows; public ReportQuery() { } public ReportQuery( com.google.api.ads.dfp.axis.v201702.Dimension[] dimensions, com.google.api.ads.dfp.axis.v201702.ReportQueryAdUnitView adUnitView, com.google.api.ads.dfp.axis.v201702.Column[] columns, com.google.api.ads.dfp.axis.v201702.DimensionAttribute[] dimensionAttributes, long[] customFieldIds, long[] contentMetadataKeyHierarchyCustomTargetingKeyIds, com.google.api.ads.dfp.axis.v201702.Date startDate, com.google.api.ads.dfp.axis.v201702.Date endDate, com.google.api.ads.dfp.axis.v201702.DateRangeType dateRangeType, com.google.api.ads.dfp.axis.v201702.Statement statement, java.lang.Boolean useSalesLocalTimeZone, java.lang.Boolean includeZeroSalesRows) { this.dimensions = dimensions; this.adUnitView = adUnitView; this.columns = columns; this.dimensionAttributes = dimensionAttributes; this.customFieldIds = customFieldIds; this.contentMetadataKeyHierarchyCustomTargetingKeyIds = contentMetadataKeyHierarchyCustomTargetingKeyIds; this.startDate = startDate; this.endDate = endDate; this.dateRangeType = dateRangeType; this.statement = statement; this.useSalesLocalTimeZone = useSalesLocalTimeZone; this.includeZeroSalesRows = includeZeroSalesRows; } /** * Gets the dimensions value for this ReportQuery. * * @return dimensions * The list of break-down types being requested in the report. * The generated report will contain the dimensions in the same order * as requested. */ public com.google.api.ads.dfp.axis.v201702.Dimension[] getDimensions() { return dimensions; } /** * Sets the dimensions value for this ReportQuery. * * @param dimensions * The list of break-down types being requested in the report. * The generated report will contain the dimensions in the same order * as requested. */ public void setDimensions(com.google.api.ads.dfp.axis.v201702.Dimension[] dimensions) { this.dimensions = dimensions; } public com.google.api.ads.dfp.axis.v201702.Dimension getDimensions(int i) { return this.dimensions[i]; } public void setDimensions(int i, com.google.api.ads.dfp.axis.v201702.Dimension _value) { this.dimensions[i] = _value; } /** * Gets the adUnitView value for this ReportQuery. * * @return adUnitView * The ad unit view for the report. Defaults to {@link AdUnitView#TOP_LEVEL}. */ public com.google.api.ads.dfp.axis.v201702.ReportQueryAdUnitView getAdUnitView() { return adUnitView; } /** * Sets the adUnitView value for this ReportQuery. * * @param adUnitView * The ad unit view for the report. Defaults to {@link AdUnitView#TOP_LEVEL}. */ public void setAdUnitView(com.google.api.ads.dfp.axis.v201702.ReportQueryAdUnitView adUnitView) { this.adUnitView = adUnitView; } /** * Gets the columns value for this ReportQuery. * * @return columns * The list of trafficking statistics and revenue information * being requested * in the report. The generated report will contain the * columns in the same * order as requested. */ public com.google.api.ads.dfp.axis.v201702.Column[] getColumns() { return columns; } /** * Sets the columns value for this ReportQuery. * * @param columns * The list of trafficking statistics and revenue information * being requested * in the report. The generated report will contain the * columns in the same * order as requested. */ public void setColumns(com.google.api.ads.dfp.axis.v201702.Column[] columns) { this.columns = columns; } public com.google.api.ads.dfp.axis.v201702.Column getColumns(int i) { return this.columns[i]; } public void setColumns(int i, com.google.api.ads.dfp.axis.v201702.Column _value) { this.columns[i] = _value; } /** * Gets the dimensionAttributes value for this ReportQuery. * * @return dimensionAttributes * The list of break-down attributes being requested in this report. * Some * {@link DimensionAttribute} values can only be used * with certain * {@link Dimension} values that must be included in * the {@link #dimensions} * attribute. The generated report will contain the attributes * in the same * order as requested. */ public com.google.api.ads.dfp.axis.v201702.DimensionAttribute[] getDimensionAttributes() { return dimensionAttributes; } /** * Sets the dimensionAttributes value for this ReportQuery. * * @param dimensionAttributes * The list of break-down attributes being requested in this report. * Some * {@link DimensionAttribute} values can only be used * with certain * {@link Dimension} values that must be included in * the {@link #dimensions} * attribute. The generated report will contain the attributes * in the same * order as requested. */ public void setDimensionAttributes(com.google.api.ads.dfp.axis.v201702.DimensionAttribute[] dimensionAttributes) { this.dimensionAttributes = dimensionAttributes; } public com.google.api.ads.dfp.axis.v201702.DimensionAttribute getDimensionAttributes(int i) { return this.dimensionAttributes[i]; } public void setDimensionAttributes(int i, com.google.api.ads.dfp.axis.v201702.DimensionAttribute _value) { this.dimensionAttributes[i] = _value; } /** * Gets the customFieldIds value for this ReportQuery. * * @return customFieldIds * The list of {@link CustomField#id} being requested in this * report. * To add a {@link CustomField} to the report, you must * include * its corresponding {@link Dimension}, determined by * the {@link CustomField#entityType}, * as a {@link #dimensions dimension}. * * <table> * <tr> * <th scope="col" colspan="2">{@link CustomFieldEntityType#entityType}</th> * </tr> * <tr> * <td>{@link CustomFieldEntityType#LINE_ITEM}</td><td>{@link * Dimension#LINE_ITEM_NAME}</td> * </tr> * <tr> * <td>{@link CustomFieldEntityType#ORDER}</td><td>{@link * Dimension#ORDER_NAME}</td> * </tr> * <tr> * <td>{@link CustomFieldEntityType#CREATIVE}</td><td>{@link * Dimension#CREATIVE_NAME}</td> * </tr> * </table> */ public long[] getCustomFieldIds() { return customFieldIds; } /** * Sets the customFieldIds value for this ReportQuery. * * @param customFieldIds * The list of {@link CustomField#id} being requested in this * report. * To add a {@link CustomField} to the report, you must * include * its corresponding {@link Dimension}, determined by * the {@link CustomField#entityType}, * as a {@link #dimensions dimension}. * * <table> * <tr> * <th scope="col" colspan="2">{@link CustomFieldEntityType#entityType}</th> * </tr> * <tr> * <td>{@link CustomFieldEntityType#LINE_ITEM}</td><td>{@link * Dimension#LINE_ITEM_NAME}</td> * </tr> * <tr> * <td>{@link CustomFieldEntityType#ORDER}</td><td>{@link * Dimension#ORDER_NAME}</td> * </tr> * <tr> * <td>{@link CustomFieldEntityType#CREATIVE}</td><td>{@link * Dimension#CREATIVE_NAME}</td> * </tr> * </table> */ public void setCustomFieldIds(long[] customFieldIds) { this.customFieldIds = customFieldIds; } public long getCustomFieldIds(int i) { return this.customFieldIds[i]; } public void setCustomFieldIds(int i, long _value) { this.customFieldIds[i] = _value; } /** * Gets the contentMetadataKeyHierarchyCustomTargetingKeyIds value for this ReportQuery. * * @return contentMetadataKeyHierarchyCustomTargetingKeyIds * The list of content metadata hierarchy custom targeting key * {@link CustomTargetingKey#id IDs} * being requested in this report. Each of these IDs * must have been defined in the * {@link ContentMetadataKeyHierarchy content metadata * key hierarchy}. This will include * dimensions in the form of {@code CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[id]_ID} * and * {@code CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[id]_VALUE} * where where {@code ID} is the ID of * the {@link CustomTargetingValue#id custom targeting * value} and {@code VALUE} is the * {@link CustomTargetingValue#name name}. * <p> * To add {@link CustomTargetingKey#id IDs}, you must * include {@link Dimension#CONTENT_HIERARCHY} * in {@link #dimensions}, and specify a non-empty list * of custom targeting key IDs. The order of * content hierarchy columns in the report correspond * to the place of * {@link Dimension#CONTENT_HIERARCHY} in {@link #dimensions}. * For example, if {@link #dimensions} * contains the following dimensions in the order: {@link * Dimension#ADVERTISER_NAME}, * {@link Dimension#CONTENT_HIERARCHY} and {@link Dimension#COUNTRY_NAME}, * and * {@link #contentMetadataKeyHierarchyCustomTargetingKeyIds} * contains the following IDs in the * order: 1001 and 1002. The order of dimensions in the * report will be: * Dimension.ADVERTISER_NAME, * Dimension.CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[1001]_VALUE, * Dimension.CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[1002]_VALUE, * Dimension.COUNTRY_NAME, * Dimension.ADVERTISER_ID, * Dimension.CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[1001]_ID, * Dimension.CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[1002]_ID, * Dimension.COUNTRY_CRITERIA_ID */ public long[] getContentMetadataKeyHierarchyCustomTargetingKeyIds() { return contentMetadataKeyHierarchyCustomTargetingKeyIds; } /** * Sets the contentMetadataKeyHierarchyCustomTargetingKeyIds value for this ReportQuery. * * @param contentMetadataKeyHierarchyCustomTargetingKeyIds * The list of content metadata hierarchy custom targeting key * {@link CustomTargetingKey#id IDs} * being requested in this report. Each of these IDs * must have been defined in the * {@link ContentMetadataKeyHierarchy content metadata * key hierarchy}. This will include * dimensions in the form of {@code CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[id]_ID} * and * {@code CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[id]_VALUE} * where where {@code ID} is the ID of * the {@link CustomTargetingValue#id custom targeting * value} and {@code VALUE} is the * {@link CustomTargetingValue#name name}. * <p> * To add {@link CustomTargetingKey#id IDs}, you must * include {@link Dimension#CONTENT_HIERARCHY} * in {@link #dimensions}, and specify a non-empty list * of custom targeting key IDs. The order of * content hierarchy columns in the report correspond * to the place of * {@link Dimension#CONTENT_HIERARCHY} in {@link #dimensions}. * For example, if {@link #dimensions} * contains the following dimensions in the order: {@link * Dimension#ADVERTISER_NAME}, * {@link Dimension#CONTENT_HIERARCHY} and {@link Dimension#COUNTRY_NAME}, * and * {@link #contentMetadataKeyHierarchyCustomTargetingKeyIds} * contains the following IDs in the * order: 1001 and 1002. The order of dimensions in the * report will be: * Dimension.ADVERTISER_NAME, * Dimension.CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[1001]_VALUE, * Dimension.CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[1002]_VALUE, * Dimension.COUNTRY_NAME, * Dimension.ADVERTISER_ID, * Dimension.CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[1001]_ID, * Dimension.CONTENT_HIERARCHY_CUSTOM_TARGETING_KEY[1002]_ID, * Dimension.COUNTRY_CRITERIA_ID */ public void setContentMetadataKeyHierarchyCustomTargetingKeyIds(long[] contentMetadataKeyHierarchyCustomTargetingKeyIds) { this.contentMetadataKeyHierarchyCustomTargetingKeyIds = contentMetadataKeyHierarchyCustomTargetingKeyIds; } public long getContentMetadataKeyHierarchyCustomTargetingKeyIds(int i) { return this.contentMetadataKeyHierarchyCustomTargetingKeyIds[i]; } public void setContentMetadataKeyHierarchyCustomTargetingKeyIds(int i, long _value) { this.contentMetadataKeyHierarchyCustomTargetingKeyIds[i] = _value; } /** * Gets the startDate value for this ReportQuery. * * @return startDate * The start date from which the reporting information is gathered. * The * {@code ReportQuery#dateRangeType} field must be set * to * {@link DateRangeType#CUSTOM_DATE} in order to use * this. */ public com.google.api.ads.dfp.axis.v201702.Date getStartDate() { return startDate; } /** * Sets the startDate value for this ReportQuery. * * @param startDate * The start date from which the reporting information is gathered. * The * {@code ReportQuery#dateRangeType} field must be set * to * {@link DateRangeType#CUSTOM_DATE} in order to use * this. */ public void setStartDate(com.google.api.ads.dfp.axis.v201702.Date startDate) { this.startDate = startDate; } /** * Gets the endDate value for this ReportQuery. * * @return endDate * The end date upto which the reporting information is gathered. * The * {@code ReportQuery#dateRangeType} field must be set * to * {@link DateRangeType#CUSTOM_DATE} in order to use * this. */ public com.google.api.ads.dfp.axis.v201702.Date getEndDate() { return endDate; } /** * Sets the endDate value for this ReportQuery. * * @param endDate * The end date upto which the reporting information is gathered. * The * {@code ReportQuery#dateRangeType} field must be set * to * {@link DateRangeType#CUSTOM_DATE} in order to use * this. */ public void setEndDate(com.google.api.ads.dfp.axis.v201702.Date endDate) { this.endDate = endDate; } /** * Gets the dateRangeType value for this ReportQuery. * * @return dateRangeType * The period of time for which the reporting data is being generated. * In * order to define custom time periods, set this to * {@link DateRangeType#CUSTOM_DATE}. If set to {@link * DateRangeType#CUSTOM_DATE}, then * {@link ReportQuery#startDate} and {@link ReportQuery#endDate} * will be used. */ public com.google.api.ads.dfp.axis.v201702.DateRangeType getDateRangeType() { return dateRangeType; } /** * Sets the dateRangeType value for this ReportQuery. * * @param dateRangeType * The period of time for which the reporting data is being generated. * In * order to define custom time periods, set this to * {@link DateRangeType#CUSTOM_DATE}. If set to {@link * DateRangeType#CUSTOM_DATE}, then * {@link ReportQuery#startDate} and {@link ReportQuery#endDate} * will be used. */ public void setDateRangeType(com.google.api.ads.dfp.axis.v201702.DateRangeType dateRangeType) { this.dateRangeType = dateRangeType; } /** * Gets the statement value for this ReportQuery. * * @return statement * Specifies a filter to use for reporting on data. This filter * will be used * in conjunction (joined with an AND statement) with * the date range selected * through {@link #dateRangeType}, {@link #startDate}, * and {@link #endDate} * and the dimension filters selected through {@link * #dimensionFilters}. * * The syntax currently allowed for {@link Statement#query} * is<br> * <code> [WHERE <condition> {AND <condition> ...}]<code><br> * <p><condition></code><br> *      <code>:= <property> = <value></code><br> * <code><condition></code><br> *      <code>:= <property> = <bind * variable></code><br> * <code><condition> := <property> IN <list></code><br> * <code><bind variable> := :<name></code><br> * </code> where property is the enumeration name of * a {@link Dimension} that * can be filtered. * <p> * For example, the statement "WHERE LINE_ITEM_ID IN * (34344, 23235)" can be used * to generate a report for a specific set of line items * <p> * Filtering on IDs is highly recommended over filtering * on names, especially * for geographical entities. When filtering on names, * matching is case * sensitive. */ public com.google.api.ads.dfp.axis.v201702.Statement getStatement() { return statement; } /** * Sets the statement value for this ReportQuery. * * @param statement * Specifies a filter to use for reporting on data. This filter * will be used * in conjunction (joined with an AND statement) with * the date range selected * through {@link #dateRangeType}, {@link #startDate}, * and {@link #endDate} * and the dimension filters selected through {@link * #dimensionFilters}. * * The syntax currently allowed for {@link Statement#query} * is<br> * <code> [WHERE <condition> {AND <condition> ...}]<code><br> * <p><condition></code><br> *      <code>:= <property> = <value></code><br> * <code><condition></code><br> *      <code>:= <property> = <bind * variable></code><br> * <code><condition> := <property> IN <list></code><br> * <code><bind variable> := :<name></code><br> * </code> where property is the enumeration name of * a {@link Dimension} that * can be filtered. * <p> * For example, the statement "WHERE LINE_ITEM_ID IN * (34344, 23235)" can be used * to generate a report for a specific set of line items * <p> * Filtering on IDs is highly recommended over filtering * on names, especially * for geographical entities. When filtering on names, * matching is case * sensitive. */ public void setStatement(com.google.api.ads.dfp.axis.v201702.Statement statement) { this.statement = statement; } /** * Gets the useSalesLocalTimeZone value for this ReportQuery. * * @return useSalesLocalTimeZone * Whether report attributes and metrics are calculated or displayed * using proposal or proposal * line item time zones. When this field is set to {@code * true}, only sales metrics and sales date * time related attributes are supported and affected. * * <p>For example, if {@link Column#SALES_CONTRACT_CONTRACTED_CLICKS} * is included in a report with * this flag set to {@code true}, then it will be calculated * using the * {@link ProposalLineItem#timeZoneId} of the proposal * line item the metric is for. If * {@link DimensionAttribute#PROPOSAL_CREATION_DATE_TIME} * is included in a report with this flag * set to {@code true}, then a proposal's creation date * time will be formatted in * {@link Proposal#timeZoneId} of that proposal. */ public java.lang.Boolean getUseSalesLocalTimeZone() { return useSalesLocalTimeZone; } /** * Sets the useSalesLocalTimeZone value for this ReportQuery. * * @param useSalesLocalTimeZone * Whether report attributes and metrics are calculated or displayed * using proposal or proposal * line item time zones. When this field is set to {@code * true}, only sales metrics and sales date * time related attributes are supported and affected. * * <p>For example, if {@link Column#SALES_CONTRACT_CONTRACTED_CLICKS} * is included in a report with * this flag set to {@code true}, then it will be calculated * using the * {@link ProposalLineItem#timeZoneId} of the proposal * line item the metric is for. If * {@link DimensionAttribute#PROPOSAL_CREATION_DATE_TIME} * is included in a report with this flag * set to {@code true}, then a proposal's creation date * time will be formatted in * {@link Proposal#timeZoneId} of that proposal. */ public void setUseSalesLocalTimeZone(java.lang.Boolean useSalesLocalTimeZone) { this.useSalesLocalTimeZone = useSalesLocalTimeZone; } /** * Gets the includeZeroSalesRows value for this ReportQuery. * * @return includeZeroSalesRows * Whether report includes rows with all zero metric values. This * field is only eligible * for sales reports. This field is optional and defaults * to {@code false}. */ public java.lang.Boolean getIncludeZeroSalesRows() { return includeZeroSalesRows; } /** * Sets the includeZeroSalesRows value for this ReportQuery. * * @param includeZeroSalesRows * Whether report includes rows with all zero metric values. This * field is only eligible * for sales reports. This field is optional and defaults * to {@code false}. */ public void setIncludeZeroSalesRows(java.lang.Boolean includeZeroSalesRows) { this.includeZeroSalesRows = includeZeroSalesRows; } private java.lang.Object __equalsCalc = null; public synchronized boolean equals(java.lang.Object obj) { if (!(obj instanceof ReportQuery)) return false; ReportQuery other = (ReportQuery) obj; if (obj == null) return false; if (this == obj) return true; if (__equalsCalc != null) { return (__equalsCalc == obj); } __equalsCalc = obj; boolean _equals; _equals = true && ((this.dimensions==null && other.getDimensions()==null) || (this.dimensions!=null && java.util.Arrays.equals(this.dimensions, other.getDimensions()))) && ((this.adUnitView==null && other.getAdUnitView()==null) || (this.adUnitView!=null && this.adUnitView.equals(other.getAdUnitView()))) && ((this.columns==null && other.getColumns()==null) || (this.columns!=null && java.util.Arrays.equals(this.columns, other.getColumns()))) && ((this.dimensionAttributes==null && other.getDimensionAttributes()==null) || (this.dimensionAttributes!=null && java.util.Arrays.equals(this.dimensionAttributes, other.getDimensionAttributes()))) && ((this.customFieldIds==null && other.getCustomFieldIds()==null) || (this.customFieldIds!=null && java.util.Arrays.equals(this.customFieldIds, other.getCustomFieldIds()))) && ((this.contentMetadataKeyHierarchyCustomTargetingKeyIds==null && other.getContentMetadataKeyHierarchyCustomTargetingKeyIds()==null) || (this.contentMetadataKeyHierarchyCustomTargetingKeyIds!=null && java.util.Arrays.equals(this.contentMetadataKeyHierarchyCustomTargetingKeyIds, other.getContentMetadataKeyHierarchyCustomTargetingKeyIds()))) && ((this.startDate==null && other.getStartDate()==null) || (this.startDate!=null && this.startDate.equals(other.getStartDate()))) && ((this.endDate==null && other.getEndDate()==null) || (this.endDate!=null && this.endDate.equals(other.getEndDate()))) && ((this.dateRangeType==null && other.getDateRangeType()==null) || (this.dateRangeType!=null && this.dateRangeType.equals(other.getDateRangeType()))) && ((this.statement==null && other.getStatement()==null) || (this.statement!=null && this.statement.equals(other.getStatement()))) && ((this.useSalesLocalTimeZone==null && other.getUseSalesLocalTimeZone()==null) || (this.useSalesLocalTimeZone!=null && this.useSalesLocalTimeZone.equals(other.getUseSalesLocalTimeZone()))) && ((this.includeZeroSalesRows==null && other.getIncludeZeroSalesRows()==null) || (this.includeZeroSalesRows!=null && this.includeZeroSalesRows.equals(other.getIncludeZeroSalesRows()))); __equalsCalc = null; return _equals; } private boolean __hashCodeCalc = false; public synchronized int hashCode() { if (__hashCodeCalc) { return 0; } __hashCodeCalc = true; int _hashCode = 1; if (getDimensions() != null) { for (int i=0; i<java.lang.reflect.Array.getLength(getDimensions()); i++) { java.lang.Object obj = java.lang.reflect.Array.get(getDimensions(), i); if (obj != null && !obj.getClass().isArray()) { _hashCode += obj.hashCode(); } } } if (getAdUnitView() != null) { _hashCode += getAdUnitView().hashCode(); } if (getColumns() != null) { for (int i=0; i<java.lang.reflect.Array.getLength(getColumns()); i++) { java.lang.Object obj = java.lang.reflect.Array.get(getColumns(), i); if (obj != null && !obj.getClass().isArray()) { _hashCode += obj.hashCode(); } } } if (getDimensionAttributes() != null) { for (int i=0; i<java.lang.reflect.Array.getLength(getDimensionAttributes()); i++) { java.lang.Object obj = java.lang.reflect.Array.get(getDimensionAttributes(), i); if (obj != null && !obj.getClass().isArray()) { _hashCode += obj.hashCode(); } } } if (getCustomFieldIds() != null) { for (int i=0; i<java.lang.reflect.Array.getLength(getCustomFieldIds()); i++) { java.lang.Object obj = java.lang.reflect.Array.get(getCustomFieldIds(), i); if (obj != null && !obj.getClass().isArray()) { _hashCode += obj.hashCode(); } } } if (getContentMetadataKeyHierarchyCustomTargetingKeyIds() != null) { for (int i=0; i<java.lang.reflect.Array.getLength(getContentMetadataKeyHierarchyCustomTargetingKeyIds()); i++) { java.lang.Object obj = java.lang.reflect.Array.get(getContentMetadataKeyHierarchyCustomTargetingKeyIds(), i); if (obj != null && !obj.getClass().isArray()) { _hashCode += obj.hashCode(); } } } if (getStartDate() != null) { _hashCode += getStartDate().hashCode(); } if (getEndDate() != null) { _hashCode += getEndDate().hashCode(); } if (getDateRangeType() != null) { _hashCode += getDateRangeType().hashCode(); } if (getStatement() != null) { _hashCode += getStatement().hashCode(); } if (getUseSalesLocalTimeZone() != null) { _hashCode += getUseSalesLocalTimeZone().hashCode(); } if (getIncludeZeroSalesRows() != null) { _hashCode += getIncludeZeroSalesRows().hashCode(); } __hashCodeCalc = false; return _hashCode; } // Type metadata private static org.apache.axis.description.TypeDesc typeDesc = new org.apache.axis.description.TypeDesc(ReportQuery.class, true); static { typeDesc.setXmlType(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "ReportQuery")); org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("dimensions"); elemField.setXmlName(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "dimensions")); elemField.setXmlType(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "Dimension")); elemField.setMinOccurs(0); elemField.setNillable(false); elemField.setMaxOccursUnbounded(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("adUnitView"); elemField.setXmlName(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "adUnitView")); elemField.setXmlType(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "ReportQuery.AdUnitView")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("columns"); elemField.setXmlName(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "columns")); elemField.setXmlType(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "Column")); elemField.setMinOccurs(0); elemField.setNillable(false); elemField.setMaxOccursUnbounded(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("dimensionAttributes"); elemField.setXmlName(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "dimensionAttributes")); elemField.setXmlType(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "DimensionAttribute")); elemField.setMinOccurs(0); elemField.setNillable(false); elemField.setMaxOccursUnbounded(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("customFieldIds"); elemField.setXmlName(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "customFieldIds")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long")); elemField.setMinOccurs(0); elemField.setNillable(false); elemField.setMaxOccursUnbounded(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("contentMetadataKeyHierarchyCustomTargetingKeyIds"); elemField.setXmlName(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "contentMetadataKeyHierarchyCustomTargetingKeyIds")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long")); elemField.setMinOccurs(0); elemField.setNillable(false); elemField.setMaxOccursUnbounded(true); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("startDate"); elemField.setXmlName(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "startDate")); elemField.setXmlType(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "Date")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("endDate"); elemField.setXmlName(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "endDate")); elemField.setXmlType(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "Date")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("dateRangeType"); elemField.setXmlName(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "dateRangeType")); elemField.setXmlType(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "DateRangeType")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("statement"); elemField.setXmlName(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "statement")); elemField.setXmlType(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "Statement")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("useSalesLocalTimeZone"); elemField.setXmlName(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "useSalesLocalTimeZone")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("includeZeroSalesRows"); elemField.setXmlName(new javax.xml.namespace.QName("https://www.google.com/apis/ads/publisher/v201702", "includeZeroSalesRows")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); elemField.setMinOccurs(0); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); } /** * Return type metadata object */ public static org.apache.axis.description.TypeDesc getTypeDesc() { return typeDesc; } /** * Get Custom Serializer */ public static org.apache.axis.encoding.Serializer getSerializer( java.lang.String mechType, java.lang.Class _javaType, javax.xml.namespace.QName _xmlType) { return new org.apache.axis.encoding.ser.BeanSerializer( _javaType, _xmlType, typeDesc); } /** * Get Custom Deserializer */ public static org.apache.axis.encoding.Deserializer getDeserializer( java.lang.String mechType, java.lang.Class _javaType, javax.xml.namespace.QName _xmlType) { return new org.apache.axis.encoding.ser.BeanDeserializer( _javaType, _xmlType, typeDesc); } }