X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosFrequency.java;h=3c1631a8a1bd0295f30478cd1d486ef12b771ef2;hb=7175774c4f60ed3efd54417f2035b50ea0108c7b;hp=183d45511abd630e7b8e1f1e4f91bfe430df8175;hpb=21d176f161b90f18f236ef887cef9676d712eee3;p=fw%2Faltos diff --git a/altoslib/AltosFrequency.java b/altoslib/AltosFrequency.java index 183d4551..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_10; +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); + } }