You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.4 KiB

package com.github.jreddit.request.retrieval.submissions;
import com.github.jreddit.request.retrieval.ListingRequest;
import com.github.jreddit.request.retrieval.param.QuerySyntax;
import com.github.jreddit.request.retrieval.param.SearchSort;
import com.github.jreddit.request.retrieval.param.TimeSpan;
public class SubmissionsSearchRequest extends ListingRequest {
private static final String ENDPOINT_FORMAT = "/search.json?%s";
/**
* @param query Mandatory search query (e.g. "programming Java"), its syntax depends on what is set using {@link #setSyntax(QuerySyntax)}.
*/
public SubmissionsSearchRequest(String query) {
this.addParameter("q", query);
}
public SubmissionsSearchRequest setSyntax(QuerySyntax syntax) {
this.addParameter("syntax", syntax.value());
return this;
}
public SubmissionsSearchRequest setSort(SearchSort sort) {
this.addParameter("sort", sort.value());
return this;
}
public SubmissionsSearchRequest setTimeSpan(TimeSpan time) {
this.addParameter("t", time.value());
return this;
}
public SubmissionsSearchRequest setShowAll() {
this.addParameter("show", "all");
return this;
}
@Override
public String generateRedditURI() {
return String.format(ENDPOINT_FORMAT, this.generateParameters());
}
}