teichmann@5863: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5863: * Software engineering by Intevation GmbH teichmann@5863: * teichmann@5994: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5863: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5994: * documentation coming with Dive4Elements River for details. teichmann@5863: */ teichmann@5863: teichmann@5831: package org.dive4elements.river.artifacts.model; sascha@3210: christian@3279: import java.io.Serializable; sascha@3210: import java.util.Date; sascha@3210: mschaefer@9155: import org.dive4elements.artifacts.common.utils.DateUtils; mschaefer@9155: sascha@3210: public class DateRange sascha@3210: implements Serializable sascha@3210: { christian@3279: private static final long serialVersionUID = -2553914795388094818L; sascha@3280: sascha@3210: protected Date from; sascha@3210: protected Date to; sascha@3210: mschaefer@9155: public DateRange(final Date from, final Date to) { sascha@3210: this.from = from; sascha@3210: this.to = to; sascha@3210: } sascha@3210: sascha@3210: public Date getFrom() { mschaefer@9155: return this.from; sascha@3210: } sascha@3210: mschaefer@9155: public void setFrom(final Date from) { sascha@3210: this.from = from; sascha@3210: } sascha@3210: sascha@3210: public Date getTo() { mschaefer@9155: return this.to; sascha@3210: } sascha@3210: mschaefer@9155: public void setTo(final Date to) { sascha@3210: this.to = to; sascha@3210: } sascha@3210: mschaefer@9155: private static final boolean equalDates(final Date a, final Date b) { sascha@3210: if (a == null && b != null) return false; sascha@3210: if (a != null && b == null) return false; sascha@3210: if (a == null) return true; sascha@3210: return a.equals(b); sascha@3210: } sascha@3210: sascha@3210: @Override mschaefer@9155: public boolean equals(final Object other) { sascha@3210: if (!(other instanceof DateRange)) { sascha@3210: return false; sascha@3210: } mschaefer@9155: final DateRange o = (DateRange)other; mschaefer@9155: return equalDates(this.from, o.from) && equalDates(this.to, o.to); mschaefer@9155: } mschaefer@9155: mschaefer@9155: public int getFromYear() { mschaefer@9155: return DateUtils.getYearFromDate(this.from); mschaefer@9155: } mschaefer@9155: mschaefer@9155: public int getToYear() { mschaefer@9155: return DateUtils.getYearFromDate(this.to); sascha@3210: } sascha@3210: } sascha@3210: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :