Mercurial > dive4elements > river
view backend/src/main/java/org/dive4elements/river/importer/ImportRange.java @ 6969:c137f5028591
Doc.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Thu, 05 Sep 2013 15:47:24 +0200 |
parents | 4c3ccf2b0304 |
children | 3d83a4cf33ba |
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde * Software engineering by Intevation GmbH * * This file is Free Software under the GNU AGPL (>=v3) * and comes with ABSOLUTELY NO WARRANTY! Check out the * documentation coming with Dive4Elements River for details. */ package org.dive4elements.river.importer; import org.dive4elements.river.model.Range; import org.dive4elements.river.model.River; import java.math.BigDecimal; import org.apache.log4j.Logger; /** A range that is about to be imported. */ public class ImportRange implements Comparable<ImportRange> { /** Private logger. */ private static Logger log = Logger.getLogger(ImportRange.class); protected BigDecimal a; protected BigDecimal b; protected Range peer; public ImportRange() { } public ImportRange(BigDecimal a, BigDecimal b) { this.a = a; this.b = b; } private static final int compare(BigDecimal a, BigDecimal b) { if (a == null && b == null) { return 0; } if (a == null && b != null) { return -1; } if (a != null && b == null) { return +1; } return a.compareTo(b); } public void fixRangesOrder() { if (compare(a, b) > 0) { BigDecimal t = a; a = b; b = t; } } public int compareTo(ImportRange other) { int cmp = compare(a, other.a); if (cmp != 0) return cmp; return compare(b, other.b); } public BigDecimal getA() { return a; } public void setA(BigDecimal a) { this.a = a; } public BigDecimal getB() { return b; } public void setB(BigDecimal b) { this.b = b; } public Range getPeer(River river) { if (peer == null) { peer = ImporterSession.getInstance().getRange(river, a, b); } return peer; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :