package mediawiki.request;
import java.util.HashMap;
import java.util.Map;
import util.Util;
import mediawiki.info.Article;
import mediawiki.request.generic.IndirectContinuingRequest;
import javat.xml.Element;
public class LinkshereRequest extends IndirectContinuingRequest<Article> {
public LinkshereRequest(String a) {
super(new String[]{"pages","page","linkshere"}, "lh", "lh");
setProperty("titles", a);
}
public LinkshereRequest(Article a) {
this(a.getTitle());
}
public LinkshereRequest(String a, boolean redirect, Integer...namespaces) {
this(a);
setProperty("lhshow", (redirect ? "" : "!")+"redirect" );
if(namespaces.length > 0)
setProperty("lhnamespace", Util.implode(namespaces, "|"));
}
public LinkshereRequest(Article a, boolean redirect, Integer...namespaces) {
this(a.getTitle(), redirect, namespaces);
}
@Override
protected Article parse(Element e) {
return Article.convert(e);
}
@Override
protected Map<? extends String, ? extends String> getRequiredParameters() {
HashMap<String,String> h = new HashMap<>();
h.put("action", "query");
h.put("prop", "linkshere");
return h;
}
}