/**
* (c) 2011, Alejandro Serrano
* Released under the terms of the EPL.
*/
package net.sf.eclipsefp.haskell.browser.items;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
/**
* Represents the information from a package returned
* by a Hoogle search.
*
* @author Alejandro Serrano
*/
public class HoogleResultPackage extends HoogleResult {
HaskellPackage pkg;
public HoogleResultPackage(HaskellPackage pkg) {
setType(HoogleResultType.PACKAGE);
this.pkg = pkg;
}
public HoogleResultPackage(JSONObject o) throws JSONException {
setType(HoogleResultType.PACKAGE);
JSONArray results = o.getJSONArray("results");
// Get info from first result
this.pkg = new HaskellPackage(results.getJSONObject(0));
}
public HaskellPackage getPackage() {
return this.pkg;
}
@Override
public String getName() {
return this.pkg.getIdentifier().toString();
}
@Override
public String getCompleteDefinition() {
return "package " + this.getName();
}
}