/* Copyright (c) 2008 Google Inc. * * 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.gdata.client.spreadsheet; import com.google.gdata.client.Query; import java.net.URL; /** * Describes a query for the feed of table definitions. * * */ public class TableQuery extends Query { /** Search terms for the title of a document. */ private String titleQuery; /** Whether the title query should be taken as an exact string. */ private Boolean titleExact; /** * Constructs a new query object that targets a feed. The initial state of * the query contains no parameters, meaning all entries in the feed would be * returned if the query was executed immediately after construction. * * @param feedUrl the URL of the feed against which queries will be executed. */ public TableQuery(URL feedUrl) { super(feedUrl); } /** * Returns the search terms for the title of a document. * * @return search terms for the title of a document or <code>null</code> to * indicate that the parameter is not set. */ public String getTitleQuery() { return titleQuery; } /** * Sets the search terms for the title of a document. * * @param titleQuery search terms for the title of a document or * <code>null</code> to remove this parameter if set. */ public void setTitleQuery(String titleQuery) { // check if setting to existing value if (this.titleQuery == null ? titleQuery != null : !this.titleQuery.equals(titleQuery)) { // set to new value for customer parameter this.titleQuery = titleQuery; setStringCustomParameter("title", titleQuery); } } /** * Returns the whether the title query should be taken as an exact string. * * @return whether the title query should be taken as an exact string or * <code>null</code> to indicate that the parameter is not set. */ public Boolean getTitleExact() { return titleExact; } /** * Sets the whether the title query should be taken as an exact string. * * @param titleExact whether the title query should be taken as an exact * string or <code>null</code> to remove this parameter if set. */ public void setTitleExact(Boolean titleExact) { // check if setting to existing value if (this.titleExact == null ? titleExact != null : !this.titleExact.equals(titleExact)) { // set to new value for customer parameter this.titleExact = titleExact; setStringCustomParameter("title-exact", titleExact == null ? null : titleExact.toString()); } } }