package com.google.gdata.client.douban; import java.net.URL; import java.util.List; public class ReviewQuery extends DoubanQuery { private static final String ORDERBY = "orderby"; /** * Constructs a new DoubanQuery 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 ReviewQuery(URL feedUrl) { super(feedUrl); } /** * Gets the value of the {@code vq} parameter. * * @return current query string */ public String getOrderby() { return getCustomParameterValue(ORDERBY); } public void setOrderby(String orderby) { if (orderby != null) overwriteCustomParameter(ORDERBY, orderby); } 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(); } }