diff artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/Sieve.java @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/Sieve.java@bd047b71ab37
children 4897a58c8746
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/Sieve.java	Thu Apr 25 15:23:37 2013 +0200
@@ -0,0 +1,79 @@
+package org.dive4elements.river.artifacts.model.sq;
+
+import java.util.Comparator;
+
+public class Sieve
+{
+    public static final double EPSILON = 1e-6;
+
+    public static final Comparator<Double> DIAMETER_CMP =
+        new Comparator<Double>() {
+            @Override
+            public int compare(Double a, Double b) {
+                double diff = a - b;
+                if (diff < -EPSILON) return -1;
+                if (diff >  EPSILON) return +1;
+                return 0;
+            }
+        };
+
+    protected double diameter;
+    protected double load;
+
+    /**
+     * Constructs a new instance.
+     */
+    public Sieve() {
+        this(Double.NaN, Double.NaN);
+    }
+
+    public Sieve(double diameter, double load) {
+        this.diameter = diameter;
+        this.load = load;
+    }
+
+    /**
+     * Gets the diameter for this instance.
+     *
+     * @return The diameter.
+     */
+    public double getDiameter() {
+        return this.diameter;
+    }
+
+    /**
+     * Sets the diameter for this instance.
+     *
+     * @param diameter The diameter.
+     */
+    public void setDiameter(double diameter) {
+        this.diameter = diameter;
+    }
+
+    /**
+     * Gets the load for this instance.
+     *
+     * @return The load.
+     */
+    public double getLoad() {
+        return this.load;
+    }
+
+    /**
+     * Sets the load for this instance.
+     *
+     * @param load The load.
+     */
+    public void setLoad(double load) {
+        this.load = load;
+    }
+
+    public boolean matchesDiameter(double diameter) {
+        return Math.abs(diameter - this.diameter) < EPSILON;
+    }
+
+    public boolean hasDiameter() {
+        return !Double.isNaN(diameter);
+    }
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org