package mediawiki.info.wikibase;
import mediawiki.MediaWikiConnection;
import mediawiki.MediaWikiRequest;
import mediawiki.info.Language;
import mediawiki.request.wikibase.GetEntityRequest;
public class WikibaseSet {
private MediaWikiConnection connection;
private String namespace;
private Language preferredLanguage;
public WikibaseSet(MediaWikiConnection w, String namespace, Language lang) {
setConnection(w);
setNamespace(namespace);
setPreferredLanguage(preferredLanguage);
}
public MediaWikiConnection getConnection() {
return connection;
}
public String getNamespace() {
return namespace;
}
public Language getPreferredLanguage() {
return preferredLanguage;
}
public void setConnection(MediaWikiConnection wikibase) {
this.connection = wikibase;
}
public void setNamespace(String namespace) {
this.namespace = namespace;
}
public void setPreferredLanguage(Language preferredLanguage) {
this.preferredLanguage = preferredLanguage;
}
public <T> T request(MediaWikiRequest<T> r) throws Exception {
return connection.request(r);
}
public String localize(Localizable l) throws Exception {
return l.getLocalString(getConnection(), getPreferredLanguage());
}
public Entity getEntity(String identifer) throws Exception {
return connection.request(new GetEntityRequest(identifer));
}
}