--- /dev/null
+package jalview.json.binding.biojs;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Objects;
+
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+import org.json.simple.parser.ParseException;
+
+public class BioJSRepositoryPojo
+{
+
+ private String description;
+
+ private String latestReleaseVersion;
+
+ private Collection<BioJSReleasePojo> releases = new ArrayList<BioJSReleasePojo>();
+
+ public BioJSRepositoryPojo()
+ {
+ }
+
+ public BioJSRepositoryPojo(String jsonString)
+ {
+ try
+ {
+ parse(jsonString);
+ } catch (ParseException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private void parse(String jsonString) throws ParseException
+ {
+ Objects.requireNonNull(jsonString,
+ "Supplied jsonString must not be null");
+ JSONParser jsonParser = new JSONParser();
+ JSONObject JsonObj = (JSONObject) jsonParser.parse(jsonString);
+ this.description = (String) JsonObj.get("description");
+ this.latestReleaseVersion = (String) JsonObj
+ .get("latestReleaseVersion");
+
+ JSONArray repositoriesJsonArray = (JSONArray) JsonObj
+.get("releases");
+ for (Iterator<JSONObject> repoIter = repositoriesJsonArray.iterator(); repoIter
+ .hasNext();)
+ {
+ JSONObject repoObj = repoIter.next();
+ BioJSReleasePojo repo = new BioJSReleasePojo();
+ repo.setType((String) repoObj.get("type"));
+ repo.setUrl((String) repoObj.get("url"));
+ repo.setVersion((String) repoObj.get("version"));
+ this.getReleases().add(repo);
+ }
+ }
+
+ public String getDescription()
+ {
+ return description;
+ }
+
+ public void setDescription(String description)
+ {
+ this.description = description;
+ }
+
+
+ public String getLatestReleaseVersion()
+ {
+ return latestReleaseVersion;
+ }
+
+ public void setLatestReleaseVersion(String latestReleaseVersion)
+ {
+ this.latestReleaseVersion = latestReleaseVersion;
+ }
+
+ public Collection<BioJSReleasePojo> getReleases()
+ {
+ return releases;
+ }
+
+ public void setReleases(Collection<BioJSReleasePojo> releases)
+ {
+ this.releases = releases;
+ }
+
+}