altoslib: Improve AltosState save/restore debugging
[fw/altos] / altoslib / AltosFrequency.java
index 9542fe333858cdac0cbe715db08b1b4001cc41ed..3c1631a8a1bd0295f30478cd1d486ef12b771ef2 100644 (file)
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_10;
+package org.altusmetrum.altoslib_11;
 
 import java.io.*;
 import java.util.*;
 import java.text.*;
 
-public class AltosFrequency implements Serializable {
+public class AltosFrequency implements AltosJsonable {
        public double   frequency;
        public String   description;
 
@@ -58,8 +58,27 @@ public class AltosFrequency implements Serializable {
                return diff < 0.010;
        }
 
+       public AltosJson json() {
+               AltosJson       j = new AltosJson();
+
+               j.put("frequency", frequency);
+               j.put("description", description);
+               return j;
+       }
+
        public AltosFrequency(double f, String d) {
                frequency = f;
                description = d;
        }
+
+       private AltosFrequency(AltosJson j) {
+               frequency = j.get_double("frequency", 0.0);
+               description = j.get_string("description", "");
+       }
+
+       public static AltosFrequency fromJson(AltosJson j, AltosFrequency def) {
+               if (j == null)
+                       return def;
+               return new AltosFrequency(j);
+       }
 }