altoslib: Switch preserved state format to JSON
[fw/altos] / altoslib / AltosFrequency.java
index f9aa6de6ccb3eeea88baee2eb751a6ae3b9cd44d..99828d5362ff57668709d00e374a3e62914bc4b6 100644 (file)
@@ -21,7 +21,7 @@ import java.io.*;
 import java.util.*;
 import java.text.*;
 
-public class AltosFrequency {
+public class AltosFrequency implements AltosJsonable {
        public double   frequency;
        public String   description;
 
@@ -66,6 +66,14 @@ public class AltosFrequency {
                return h;
        }
 
+       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;
@@ -81,4 +89,15 @@ public class AltosFrequency {
                        return def;
                return new AltosFrequency(h);
        }
+
+       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);
+       }
 }