Advertisement
Guest User

Item

a guest
Jan 20th, 2020
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.81 KB | None | 0 0
  1. import java.awt.Image;
  2. import java.io.IOException;
  3. import java.net.URL;
  4. import java.util.Scanner;
  5.  
  6. import javax.imageio.ImageIO;
  7.  
  8. import org.json.simple.JSONObject;
  9. import org.json.simple.parser.ParseException;
  10. import org.json.simple.parser.JSONParser;
  11.  
  12. public class Item {
  13.    
  14.     private int id;
  15.     private String name;
  16.    
  17.     public Item(String name, int id) {
  18.         this.id=id;
  19.         this.name=name;
  20.     }
  21.    
  22.     public String get6MonthTrend() {
  23.         return getSubData("day180").get("trend").toString();
  24.     }
  25.     public String get6MonthChange() {
  26.         return getSubData("day180").get("change").toString();
  27.     }
  28.     public String get3MonthTrend() {
  29.         return getSubData("day90").get("trend").toString();
  30.     }
  31.     public String get3MonthChange() {
  32.         return getSubData("day90").get("change").toString();
  33.     }
  34.     public String get1MonthTrend() {
  35.         return getSubData("day30").get("trend").toString();
  36.     }
  37.     public String get1MonthChange() {
  38.         return getSubData("day30").get("change").toString();
  39.     }
  40.     public String getTodaysTrend() {
  41.         return getSubData("today").get("trend").toString();
  42.     }
  43.     public String getTodaysChange() {
  44.         return getSubData("today").get("price").toString();
  45.     }
  46.     public String getCurrentPrice() {
  47.         return getSubData("current").get("price").toString();
  48.     }
  49.     public String getCurrentTrend() {
  50.         return getSubData("current").get("trend").toString();
  51.     }
  52.     public Image getIcon() {
  53.         Image image = null;
  54.         try {
  55.             URL url = new URL(getData("icon_large").toString());
  56.             image = ImageIO.read(url);
  57.             return image;
  58.         }
  59.         catch(IOException e) {
  60.            
  61.         }
  62.         return image;
  63.     }
  64.     public boolean isMembers() {
  65.         String bool = getData("members").toString();
  66.         return Boolean.parseBoolean(bool);
  67.     }
  68.     public String getName() {
  69.         return name;
  70.     }
  71.     public Object getData(String key) {
  72.         URL url;
  73.         Scanner s;
  74.         String out="";
  75.         String code="";
  76.         JSONObject data = null;
  77.         try {
  78.             url = new URL("http://services.runescape.com/m=itemdb_rs/api/catalogue/detail.json?item="+id);
  79.             s = new Scanner(url.openStream(), "UTF-8");
  80.             while(true) {
  81.                 if(s.hasNext()) {
  82.                     out = s.next();
  83.                     code = code+out;
  84.                 }
  85.                 else {
  86.                     url.openStream().close();
  87.                     s.close();
  88.                     break;
  89.                 }
  90.             }
  91.             if(code=="") {
  92.                 return null;
  93.             }
  94.            
  95.              try{
  96.                  JSONParser parser = new JSONParser();
  97.                  JSONObject item  = (JSONObject) parser.parse(code);                 
  98.                  data = (JSONObject) parser.parse(item.get("item").toString());
  99.                  return data.get(key);
  100.              }
  101.              catch(ParseException e) {
  102.              }
  103.         }
  104.         catch(IOException e) {
  105.         }
  106.         return null;
  107.     }
  108.    
  109.     public JSONObject getSubData(String key) {
  110.          try{
  111.              JSONParser parser = new JSONParser();               
  112.              JSONObject obj = (JSONObject)parser.parse(getData(key).toString());
  113.              return obj;
  114.          }
  115.          catch(ParseException e) {
  116.              e.printStackTrace();
  117.          }
  118.         return null;
  119.     }
  120.  
  121.    
  122.    
  123.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement