/** * Create user gist paged request * * @param user * @param start * @param size * @return request */ protected PagedRequest<Gist> createUserGistRequest(String user, int start, int size) { if (user == null) throw new IllegalArgumentException("User cannot be null"); //$NON-NLS-1$ if (user.length() == 0) throw new IllegalArgumentException("User cannot be empty"); //$NON-NLS-1$ StringBuilder uri = new StringBuilder(SEGMENT_USERS); uri.append('/').append(user); uri.append(SEGMENT_GISTS); PagedRequest<Gist> request = createPagedRequest(start, size); request.setUri(uri).setType(new TypeToken<List<Gist>>() { }.getType()); return request; }
/** * Get comments for specified gist id * * @param gistId * @return list of comments * @throws IOException */ public List<Comment> getComments(String gistId) throws IOException { checkGistId(gistId); StringBuilder uri = new StringBuilder(SEGMENT_GISTS); uri.append('/').append(gistId); uri.append(SEGMENT_COMMENTS); PagedRequest<Comment> request = createPagedRequest(); request.setUri(uri).setType(new TypeToken<List<Comment>>() { }.getType()); return getAll(request); }
/** * Create page iterator for the current user's starred gists * * @param size * size of page * @param start * starting page * @return gist page iterator */ public PageIterator<Gist> pageStarredGists(final int start, final int size) { PagedRequest<Gist> request = createPagedRequest(start, size); request.setUri(SEGMENT_GISTS + SEGMENT_STARRED); request.setType(new TypeToken<List<Gist>>() { }.getType()); return createPageIterator(request); }
/** * Create page iterator for all public gists * * @param start * starting page number * @param size * size of page * @return gist page iterator */ public PageIterator<Gist> pagePublicGists(final int start, final int size) { PagedRequest<Gist> request = createPagedRequest(start, size); request.setUri(SEGMENT_GISTS + SEGMENT_PUBLIC); request.setType(new TypeToken<List<Gist>>() { }.getType()); return createPageIterator(request); }