teichmann@5844: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5844: * Software engineering by Intevation GmbH teichmann@5844: * teichmann@5992: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5844: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5992: * documentation coming with Dive4Elements River for details. teichmann@5844: */ teichmann@5844: teichmann@5829: package org.dive4elements.river.model; sascha@167: sascha@167: import java.io.Serializable; mschaefer@9055: import java.util.Calendar; sascha@167: import java.util.Date; sascha@167: mschaefer@9055: import javax.persistence.Column; sascha@171: import javax.persistence.Entity; mschaefer@9055: import javax.persistence.GeneratedValue; mschaefer@9055: import javax.persistence.GenerationType; sascha@171: import javax.persistence.Id; mschaefer@9055: import javax.persistence.SequenceGenerator; sascha@171: import javax.persistence.Table; sascha@171: sascha@171: @Entity sascha@171: @Table(name = "time_intervals") sascha@167: public class TimeInterval sascha@167: implements Serializable sascha@167: { mschaefer@9055: /** mschaefer@9055: * Pseudo-date for Date values where only the year field is significant mschaefer@9055: * (in Flys 3.2.1 June-15 12:00 had been used) mschaefer@9055: */ mschaefer@9055: public final static Calendar YEAR_ONLY_DATE; mschaefer@9055: static { mschaefer@9055: YEAR_ONLY_DATE = Calendar.getInstance(); mschaefer@9055: YEAR_ONLY_DATE.clear(); mschaefer@9055: YEAR_ONLY_DATE.set(0, Calendar.DECEMBER, 31, 3, 5, 6); mschaefer@9055: } mschaefer@9055: sascha@168: private Integer id; sascha@172: private Date startTime; sascha@172: private Date stopTime; sascha@167: sascha@167: public TimeInterval() { sascha@167: } sascha@167: mschaefer@9055: public TimeInterval(final Date startTime, final Date stopTime) { sascha@486: this.startTime = startTime; sascha@486: this.stopTime = stopTime; sascha@486: } sascha@486: sascha@171: @Id sascha@171: @SequenceGenerator( mschaefer@9055: name = "SEQUENCE_TIME_INTERVALS_ID_SEQ", mschaefer@9055: sequenceName = "TIME_INTERVALS_ID_SEQ", mschaefer@9055: allocationSize = 1) sascha@171: @GeneratedValue( mschaefer@9055: strategy = GenerationType.SEQUENCE, mschaefer@9055: generator = "SEQUENCE_TIME_INTERVALS_ID_SEQ") sascha@171: @Column(name = "id") sascha@171: public Integer getId() { mschaefer@9055: return this.id; sascha@171: } sascha@171: mschaefer@9055: public void setId(final Integer id) { sascha@167: this.id = id; sascha@167: } sascha@167: sascha@172: @Column(name = "start_time") // FIXME: type mapping needed? sascha@172: public Date getStartTime() { mschaefer@9055: return this.startTime; sascha@172: } sascha@172: mschaefer@9055: public void setStartTime(final Date startTime) { sascha@167: this.startTime = startTime; sascha@167: } sascha@167: sascha@172: @Column(name = "stop_time") // FIXME: type mapping needed? sascha@172: public Date getStopTime() { mschaefer@9055: return this.stopTime; sascha@167: } sascha@167: mschaefer@9055: public void setStopTime(final Date stopTime) { sascha@167: this.stopTime = stopTime; sascha@167: } sascha@167: } sascha@167: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :