// 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.dfp.jaxws.v201611;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
/**
*
* Service for retrieving {@link Content}.
*
* <p>{@code Content} entities can be targeted in video {@link LineItem}s.
*
* <p>You can query for content that belongs to a particular category or has assigned metadata.
* Categories and metadata for {@code Content} are stored in DFP as {@link CustomCriteria}.
*
* <p>For example, to find all {@code Content} that is "genre=comedy", you would:
*
* <ul>
* <li>Retrieve the custom targeting key corresponding to "genre" using {@link
* CustomTargetingService#getCustomTargetingKeysByStatement}
* <li>Using the {@link CustomTargetingService#getCustomTargetingValuesByStatement} method and a
* filter like "WHERE customTargetingKeyId = :genreKeyId and name = 'comedy'", retrieve the ID
* for the "comedy" custom targeting value.
* <li>Call {@link #getContentByStatementAndCustomTargetingValue} with a filter like "WHERE status =
* 'ACTIVE'" and the ID of the custom targeting value from step 2.
* </ul>
*
*
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.2.9-b130926.1035
* Generated source version: 2.1
*
*/
@WebService(name = "ContentServiceInterface", targetNamespace = "https://www.google.com/apis/ads/publisher/v201611")
@XmlSeeAlso({
ObjectFactory.class
})
public interface ContentServiceInterface {
/**
*
* Gets a {@link ContentPage} of {@link Content} objects that satisfy the given {@link
* Statement#query}. The following fields are supported for filtering:
*
* <table>
* <tr>
* <th scope="col">PQL Property</th> <th scope="col">Object Property</th>
* </tr>
* <tr>
* <td>{@code id}</td>
* <td>{@link Content#id}</td>
* </tr>
* <tr>
* <td>{@code status}</td>
* <td>{@link Content#status}</td>
* </tr>
* <tr>
* <td>{@code name}</td>
* <td>{@link Content#name}</td>
* </tr>
* <tr>
* <td>{@code lastModifiedDateTime}</td>
* <td>{@link Content#lastModifiedDateTime}</td>
* </tr>
* <tr>
* <td>{@code lastDaiIngestDateTime}</td>
* <td>{@link Content#lastDaiIngestDateTime}</td>
* </tr>
* <tr>
* <td>{@code daiIngestStatus}</td>
* <td>{@link Content#daiIngestStatus}</td>
* </tr>
* </table>
*
* @param statement a Publisher Query Language statement used to filter a set of content
* @return the content that matches the given filter
*
*
* @param statement
* @return
* returns com.google.api.ads.dfp.jaxws.v201611.ContentPage
* @throws ApiException_Exception
*/
@WebMethod
@WebResult(name = "rval", targetNamespace = "https://www.google.com/apis/ads/publisher/v201611")
@RequestWrapper(localName = "getContentByStatement", targetNamespace = "https://www.google.com/apis/ads/publisher/v201611", className = "com.google.api.ads.dfp.jaxws.v201611.ContentServiceInterfacegetContentByStatement")
@ResponseWrapper(localName = "getContentByStatementResponse", targetNamespace = "https://www.google.com/apis/ads/publisher/v201611", className = "com.google.api.ads.dfp.jaxws.v201611.ContentServiceInterfacegetContentByStatementResponse")
public ContentPage getContentByStatement(
@WebParam(name = "statement", targetNamespace = "https://www.google.com/apis/ads/publisher/v201611")
Statement statement)
throws ApiException_Exception
;
/**
*
* Gets a {@link ContentPage} of {@link Content} objects that satisfy the
* given {@link Statement#query}. Additionally, filters on the given value ID
* and key ID that the value belongs to.
*
* The following fields are supported for filtering:
* <table>
* <tr>
* <th scope="col">PQL Property</th> <th scope="col">Object Property</th>
* </tr>
* <tr>
* <td>{@code id}</td>
* <td>{@link Content#id}</td>
* </tr>
* <tr>
* <td>{@code status}</td>
* <td>{@link Content#status}</td>
* </tr>
* <tr>
* <td>{@code name}</td>
* <td>{@link Content#name}</td>
* </tr>
* <tr>
* <td>{@code lastModifiedDateTime}</td>
* <td>{@link Content#lastModifiedDateTime>}</td>
* </tr>
* </table>
*
* @params filterStatement a Publisher Query Language statement used to
* filter a set of content
* @param customTargetingValueId the id of the value to match
* @return the content that matches the given filter
*
*
* @param filterStatement
* @param customTargetingValueId
* @return
* returns com.google.api.ads.dfp.jaxws.v201611.ContentPage
* @throws ApiException_Exception
*/
@WebMethod
@WebResult(name = "rval", targetNamespace = "https://www.google.com/apis/ads/publisher/v201611")
@RequestWrapper(localName = "getContentByStatementAndCustomTargetingValue", targetNamespace = "https://www.google.com/apis/ads/publisher/v201611", className = "com.google.api.ads.dfp.jaxws.v201611.ContentServiceInterfacegetContentByStatementAndCustomTargetingValue")
@ResponseWrapper(localName = "getContentByStatementAndCustomTargetingValueResponse", targetNamespace = "https://www.google.com/apis/ads/publisher/v201611", className = "com.google.api.ads.dfp.jaxws.v201611.ContentServiceInterfacegetContentByStatementAndCustomTargetingValueResponse")
public ContentPage getContentByStatementAndCustomTargetingValue(
@WebParam(name = "filterStatement", targetNamespace = "https://www.google.com/apis/ads/publisher/v201611")
Statement filterStatement,
@WebParam(name = "customTargetingValueId", targetNamespace = "https://www.google.com/apis/ads/publisher/v201611")
Long customTargetingValueId)
throws ApiException_Exception
;
}