package com.google.gdata.client.douban; import java.net.URL; import java.util.List; import com.google.gdata.client.Query; public class DoubanQuery extends Query { private static final String APIKEY = "apikey"; /** * Constructs a new YouTubeQuery 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 DoubanQuery(URL feedUrl) { super(feedUrl); } @Override public void setFullTextQuery(String query) { if (query != null) super.setFullTextQuery(query); } public String getApiKey() { return getCustomParameterValue(APIKEY); } public void setApiKey(String apikey) { overwriteCustomParameter(APIKEY, apikey); } void overwriteCustomParameter(String name, String value) { List<CustomParameter> customParams = getCustomParameters(); // Remove any existing value. for (CustomParameter existingValue : getCustomParameters(name)) { customParams.remove(existingValue); } // Add the specified value. if (value != null) { customParams.add(new CustomParameter(name, value)); } } String getCustomParameterValue(String parameterName) { List<CustomParameter> customParams = getCustomParameters(parameterName); if (customParams.isEmpty()) { return null; } return customParams.get(0).getValue(); } }