package org.atomhopper.adapter.request.adapter.impl; import org.apache.abdera.model.Feed; import org.apache.abdera.protocol.server.RequestContext; import org.atomhopper.adapter.request.RequestQueryParameter; import org.atomhopper.adapter.request.adapter.GetFeedRequest; import org.atomhopper.adapter.request.feed.AbstractFeedRequest; import org.h2.util.StringUtils; import java.util.Collections; import java.util.List; public class GetFeedRequestImpl extends AbstractFeedRequest implements GetFeedRequest { public GetFeedRequestImpl(RequestContext abderaRequestContext) { super(abderaRequestContext); } @Override public List<String> getCategories() { final List<String> categoryList = getRequestParameters(RequestQueryParameter.CATEGORIES.toString()); return Collections.unmodifiableList(categoryList != null ? categoryList : Collections.EMPTY_LIST); } @Override public String getSearchQuery() { return getRequestParameter(RequestQueryParameter.SEARCH.toString()); } @Override public String getPageSize() { return getRequestParameter(RequestQueryParameter.PAGE_LIMIT.toString()); } @Override public String getPageMarker() { return getRequestParameter(RequestQueryParameter.MARKER.toString()); } @Override public Feed newFeed() { return getAbdera().newFeed(); } public String getDirection() { final String direction = this.getRequestParameter(RequestQueryParameter.PAGE_DIRECTION.toString()); return !StringUtils.isNullOrEmpty(direction) ? direction : "forward"; } public String getStartingAt() { return this.getRequestParameter(RequestQueryParameter.STARTING_AT.toString()); } }