X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosFrequency.java;h=3c1631a8a1bd0295f30478cd1d486ef12b771ef2;hb=7175774c4f60ed3efd54417f2035b50ea0108c7b;hp=d1ab847b1097d3ef0c249ca11b929caad328cee6;hpb=e612693e33ef3b0e22db0656792992fa6e961ff2;p=fw%2Faltos diff --git a/altoslib/AltosFrequency.java b/altoslib/AltosFrequency.java index d1ab847b..3c1631a8 100644 --- a/altoslib/AltosFrequency.java +++ b/altoslib/AltosFrequency.java @@ -15,12 +15,29 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_4; +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; + public int hashCode() { + return new Double(frequency).hashCode(); + } + + public boolean equals(Object o) { + if (o == null) + return false; + if (!(o instanceof AltosFrequency)) + return false; + AltosFrequency other = (AltosFrequency) o; + return other.frequency == frequency; + } + public String toString() { return String.format("%7.3f MHz %-20s", frequency, description); @@ -31,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); + } }