X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosFrequency.java;h=3c1631a8a1bd0295f30478cd1d486ef12b771ef2;hb=93de1d7ec841c55f5a1a63d34b422780a6fbe3c3;hp=6d2bb8d0a5836dd0e3424ba8643f4eece6eccb4d;hpb=d6445b3739ac2c5dd040efdb97317a6b2a48044a;p=fw%2Faltos diff --git a/altoslib/AltosFrequency.java b/altoslib/AltosFrequency.java index 6d2bb8d0..3c1631a8 100644 --- a/altoslib/AltosFrequency.java +++ b/altoslib/AltosFrequency.java @@ -15,9 +15,13 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_8; +package org.altusmetrum.altoslib_11; -public class AltosFrequency { +import java.io.*; +import java.util.*; +import java.text.*; + +public class AltosFrequency implements AltosJsonable { public double frequency; public String description; @@ -44,14 +48,37 @@ public class AltosFrequency { frequency, description); } + public String frequency_string() { + return String.format("%7.3f", frequency); + } + public boolean close(double f) { double diff = Math.abs(frequency - f); 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); + } }