package com.gettingmobile.google.reader.rest;
import com.gettingmobile.google.Authenticator;
import com.gettingmobile.google.reader.ItemState;
import com.gettingmobile.rest.ContentIOException;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import java.net.URISyntaxException;
public abstract class GetFeedRequest extends AuthenticatedReaderRequest<HttpGet, ItemStream> {
private static int pageSize = 50;
private static final ItemStreamExtractor itemStreamExtractor = new ItemStreamExtractor();
public static int getPageSize() {
return pageSize;
}
public static void setPageSize(int pageSize) {
GetFeedRequest.pageSize = pageSize;
}
public GetFeedRequest(Authenticator authenticator, String continuationToken, String relativeUri,
ItemState exclude, long startTime, int maxCount)
throws URISyntaxException {
super("/api/0/stream/contents/" +
relativeUri + "?n=" + Math.min(pageSize, maxCount) +
(exclude != null ? "&xt=" + exclude.getIdText() : "") +
(startTime > 0 ? "&ot=" + startTime : "") +
(continuationToken != null ? "&c=" + continuationToken : ""),
authenticator);
}
@Override
protected HttpGet createRequest() {
return new HttpGet();
}
@Override
public ItemStream processResponse(HttpResponse response) throws ContentIOException {
return itemStreamExtractor.extract(response.getEntity());
}
}