extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/vcf/InfoData.java

Code
Comments
Other
Rev Date Author Line
5729 18 Nov 19 nicklas 1 package net.sf.basedb.reggie.vcf;
5729 18 Nov 19 nicklas 2
5729 18 Nov 19 nicklas 3 import java.util.Set;
5729 18 Nov 19 nicklas 4
5729 18 Nov 19 nicklas 5 import org.json.simple.JSONObject;
5729 18 Nov 19 nicklas 6
5729 18 Nov 19 nicklas 7 /**
5729 18 Nov 19 nicklas 8   Class for holding data from the INFO column. To parse
5729 18 Nov 19 nicklas 9   this column a factory must be specifed {@link VcfParser#setInfoFactory(InfoFactory)}.
5729 18 Nov 19 nicklas 10   
5729 18 Nov 19 nicklas 11   @since 4.24
5729 18 Nov 19 nicklas 12 */
5729 18 Nov 19 nicklas 13 public class InfoData 
5729 18 Nov 19 nicklas 14 {
5729 18 Nov 19 nicklas 15
5729 18 Nov 19 nicklas 16   private final JSONObject info;
5729 18 Nov 19 nicklas 17   
5729 18 Nov 19 nicklas 18   public InfoData()
5729 18 Nov 19 nicklas 19   {
5729 18 Nov 19 nicklas 20     this.info = new JSONObject();
5729 18 Nov 19 nicklas 21   }
5729 18 Nov 19 nicklas 22   
5729 18 Nov 19 nicklas 23   /**
5729 18 Nov 19 nicklas 24     Get all keys from the INFO data.
5729 18 Nov 19 nicklas 25   */
5729 18 Nov 19 nicklas 26   public Set<String> getKeys()
5729 18 Nov 19 nicklas 27   {
5729 18 Nov 19 nicklas 28     return info.keySet();
5729 18 Nov 19 nicklas 29   }
5729 18 Nov 19 nicklas 30   
5729 18 Nov 19 nicklas 31   /**
5729 18 Nov 19 nicklas 32     Set a value from the INFO column.
5729 18 Nov 19 nicklas 33   */
5729 18 Nov 19 nicklas 34   public void setInfo(String key, Object value)
5729 18 Nov 19 nicklas 35   {
5729 18 Nov 19 nicklas 36     info.put(key, value);
5729 18 Nov 19 nicklas 37   }
5729 18 Nov 19 nicklas 38   
5729 18 Nov 19 nicklas 39   /**
5729 18 Nov 19 nicklas 40     Get a value from the INFO column.
5729 18 Nov 19 nicklas 41   */
5729 18 Nov 19 nicklas 42   public Object getInfo(String key)
5729 18 Nov 19 nicklas 43   {
5729 18 Nov 19 nicklas 44     return info.get(key);
5729 18 Nov 19 nicklas 45   }
5729 18 Nov 19 nicklas 46   
5729 18 Nov 19 nicklas 47   /**
5729 18 Nov 19 nicklas 48     Get all information as a JSON object.
5729 18 Nov 19 nicklas 49   */
5729 18 Nov 19 nicklas 50   public JSONObject asJSONObject()
5729 18 Nov 19 nicklas 51   {
5729 18 Nov 19 nicklas 52     return info;
5729 18 Nov 19 nicklas 53   }
5729 18 Nov 19 nicklas 54
5729 18 Nov 19 nicklas 55 }