altosuilib: Track open frames, exit when none remain
[fw/altos] / altoslib / AltosFrequency.java
index 80e0d7247f8b6c3a904fa3ba89d48e6e61cdb22f..f9aa6de6ccb3eeea88baee2eb751a6ae3b9cd44d 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 {
        public double   frequency;
@@ -54,8 +58,27 @@ public class AltosFrequency {
                return diff < 0.010;
        }
 
+       public AltosHashSet hashSet() {
+               AltosHashSet    h = new AltosHashSet();
+
+               h.putDouble("frequency", frequency);
+               h.putString("description", description);
+               return h;
+       }
+
        public AltosFrequency(double f, String d) {
                frequency = f;
                description = d;
        }
+
+       private AltosFrequency(AltosHashSet h) {
+               frequency = h.getDouble("frequency", 0.0);
+               description = h.getString("description", "");
+       }
+
+       public static AltosFrequency fromHashSet(AltosHashSet h, AltosFrequency def) {
+               if (h == null)
+                       return def;
+               return new AltosFrequency(h);
+       }
 }