// Copyright 2016 Google Inc. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package com.google.api.ads.adwords.jaxws.v201609.cm; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlSchemaType; import javax.xml.bind.annotation.XmlType; /** * * Represents an item in a feed. * * * <p>Java class for FeedItem complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="FeedItem"> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="feedId" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/> * <element name="feedItemId" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/> * <element name="status" type="{https://adwords.google.com/api/adwords/cm/v201609}FeedItem.Status" minOccurs="0"/> * <element name="startTime" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="endTime" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="attributeValues" type="{https://adwords.google.com/api/adwords/cm/v201609}FeedItemAttributeValue" maxOccurs="unbounded" minOccurs="0"/> * <element name="policyData" type="{https://adwords.google.com/api/adwords/cm/v201609}FeedItemPolicyData" maxOccurs="unbounded" minOccurs="0"/> * <element name="devicePreference" type="{https://adwords.google.com/api/adwords/cm/v201609}FeedItemDevicePreference" minOccurs="0"/> * <element name="scheduling" type="{https://adwords.google.com/api/adwords/cm/v201609}FeedItemScheduling" minOccurs="0"/> * <element name="campaignTargeting" type="{https://adwords.google.com/api/adwords/cm/v201609}FeedItemCampaignTargeting" minOccurs="0"/> * <element name="adGroupTargeting" type="{https://adwords.google.com/api/adwords/cm/v201609}FeedItemAdGroupTargeting" minOccurs="0"/> * <element name="keywordTargeting" type="{https://adwords.google.com/api/adwords/cm/v201609}Keyword" minOccurs="0"/> * <element name="geoTargeting" type="{https://adwords.google.com/api/adwords/cm/v201609}Location" minOccurs="0"/> * <element name="geoTargetingRestriction" type="{https://adwords.google.com/api/adwords/cm/v201609}FeedItemGeoRestriction" minOccurs="0"/> * <element name="urlCustomParameters" type="{https://adwords.google.com/api/adwords/cm/v201609}CustomParameters" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "FeedItem", propOrder = { "feedId", "feedItemId", "status", "startTime", "endTime", "attributeValues", "policyData", "devicePreference", "scheduling", "campaignTargeting", "adGroupTargeting", "keywordTargeting", "geoTargeting", "geoTargetingRestriction", "urlCustomParameters" }) public class FeedItem { protected Long feedId; protected Long feedItemId; @XmlSchemaType(name = "string") protected FeedItemStatus status; protected String startTime; protected String endTime; protected List<FeedItemAttributeValue> attributeValues; protected List<FeedItemPolicyData> policyData; protected FeedItemDevicePreference devicePreference; protected FeedItemScheduling scheduling; protected FeedItemCampaignTargeting campaignTargeting; protected FeedItemAdGroupTargeting adGroupTargeting; protected Keyword keywordTargeting; protected Location geoTargeting; protected FeedItemGeoRestriction geoTargetingRestriction; protected CustomParameters urlCustomParameters; /** * Gets the value of the feedId property. * * @return * possible object is * {@link Long } * */ public Long getFeedId() { return feedId; } /** * Sets the value of the feedId property. * * @param value * allowed object is * {@link Long } * */ public void setFeedId(Long value) { this.feedId = value; } /** * Gets the value of the feedItemId property. * * @return * possible object is * {@link Long } * */ public Long getFeedItemId() { return feedItemId; } /** * Sets the value of the feedItemId property. * * @param value * allowed object is * {@link Long } * */ public void setFeedItemId(Long value) { this.feedItemId = value; } /** * Gets the value of the status property. * * @return * possible object is * {@link FeedItemStatus } * */ public FeedItemStatus getStatus() { return status; } /** * Sets the value of the status property. * * @param value * allowed object is * {@link FeedItemStatus } * */ public void setStatus(FeedItemStatus value) { this.status = value; } /** * Gets the value of the startTime property. * * @return * possible object is * {@link String } * */ public String getStartTime() { return startTime; } /** * Sets the value of the startTime property. * * @param value * allowed object is * {@link String } * */ public void setStartTime(String value) { this.startTime = value; } /** * Gets the value of the endTime property. * * @return * possible object is * {@link String } * */ public String getEndTime() { return endTime; } /** * Sets the value of the endTime property. * * @param value * allowed object is * {@link String } * */ public void setEndTime(String value) { this.endTime = value; } /** * Gets the value of the attributeValues property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a <CODE>set</CODE> method for the attributeValues property. * * <p> * For example, to add a new item, do as follows: * <pre> * getAttributeValues().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link FeedItemAttributeValue } * * */ public List<FeedItemAttributeValue> getAttributeValues() { if (attributeValues == null) { attributeValues = new ArrayList<FeedItemAttributeValue>(); } return this.attributeValues; } /** * Gets the value of the policyData property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a <CODE>set</CODE> method for the policyData property. * * <p> * For example, to add a new item, do as follows: * <pre> * getPolicyData().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link FeedItemPolicyData } * * */ public List<FeedItemPolicyData> getPolicyData() { if (policyData == null) { policyData = new ArrayList<FeedItemPolicyData>(); } return this.policyData; } /** * Gets the value of the devicePreference property. * * @return * possible object is * {@link FeedItemDevicePreference } * */ public FeedItemDevicePreference getDevicePreference() { return devicePreference; } /** * Sets the value of the devicePreference property. * * @param value * allowed object is * {@link FeedItemDevicePreference } * */ public void setDevicePreference(FeedItemDevicePreference value) { this.devicePreference = value; } /** * Gets the value of the scheduling property. * * @return * possible object is * {@link FeedItemScheduling } * */ public FeedItemScheduling getScheduling() { return scheduling; } /** * Sets the value of the scheduling property. * * @param value * allowed object is * {@link FeedItemScheduling } * */ public void setScheduling(FeedItemScheduling value) { this.scheduling = value; } /** * Gets the value of the campaignTargeting property. * * @return * possible object is * {@link FeedItemCampaignTargeting } * */ public FeedItemCampaignTargeting getCampaignTargeting() { return campaignTargeting; } /** * Sets the value of the campaignTargeting property. * * @param value * allowed object is * {@link FeedItemCampaignTargeting } * */ public void setCampaignTargeting(FeedItemCampaignTargeting value) { this.campaignTargeting = value; } /** * Gets the value of the adGroupTargeting property. * * @return * possible object is * {@link FeedItemAdGroupTargeting } * */ public FeedItemAdGroupTargeting getAdGroupTargeting() { return adGroupTargeting; } /** * Sets the value of the adGroupTargeting property. * * @param value * allowed object is * {@link FeedItemAdGroupTargeting } * */ public void setAdGroupTargeting(FeedItemAdGroupTargeting value) { this.adGroupTargeting = value; } /** * Gets the value of the keywordTargeting property. * * @return * possible object is * {@link Keyword } * */ public Keyword getKeywordTargeting() { return keywordTargeting; } /** * Sets the value of the keywordTargeting property. * * @param value * allowed object is * {@link Keyword } * */ public void setKeywordTargeting(Keyword value) { this.keywordTargeting = value; } /** * Gets the value of the geoTargeting property. * * @return * possible object is * {@link Location } * */ public Location getGeoTargeting() { return geoTargeting; } /** * Sets the value of the geoTargeting property. * * @param value * allowed object is * {@link Location } * */ public void setGeoTargeting(Location value) { this.geoTargeting = value; } /** * Gets the value of the geoTargetingRestriction property. * * @return * possible object is * {@link FeedItemGeoRestriction } * */ public FeedItemGeoRestriction getGeoTargetingRestriction() { return geoTargetingRestriction; } /** * Sets the value of the geoTargetingRestriction property. * * @param value * allowed object is * {@link FeedItemGeoRestriction } * */ public void setGeoTargetingRestriction(FeedItemGeoRestriction value) { this.geoTargetingRestriction = value; } /** * Gets the value of the urlCustomParameters property. * * @return * possible object is * {@link CustomParameters } * */ public CustomParameters getUrlCustomParameters() { return urlCustomParameters; } /** * Sets the value of the urlCustomParameters property. * * @param value * allowed object is * {@link CustomParameters } * */ public void setUrlCustomParameters(CustomParameters value) { this.urlCustomParameters = value; } }