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
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());
|
|
}
|
|
|
|
}
|