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; sascha@167: sascha@171: import javax.persistence.Entity; sascha@171: import javax.persistence.Id; sascha@171: import javax.persistence.Table; sascha@171: import javax.persistence.GeneratedValue; sascha@171: import javax.persistence.Column; sascha@171: import javax.persistence.SequenceGenerator; sascha@171: import javax.persistence.GenerationType; sascha@174: import javax.persistence.OneToOne; sascha@174: import javax.persistence.JoinColumn; sascha@171: sascha@171: @Entity sascha@171: @Table(name = "annotations") sascha@167: public class Annotation sascha@167: implements Serializable sascha@167: { sascha@763: private Integer id; sascha@763: private Range range; sascha@763: private Attribute attribute; sascha@763: private Position position; sascha@763: private Edge edge; sascha@763: private AnnotationType type; sascha@167: sascha@167: public Annotation() { sascha@167: } sascha@167: sascha@758: public Annotation( sascha@763: Range range, sascha@763: Attribute attribute, sascha@763: Position position, sascha@763: Edge edge, sascha@763: AnnotationType type sascha@758: ) { sascha@188: this.range = range; sascha@188: this.attribute = attribute; sascha@188: this.position = position; sascha@758: this.edge = edge; sascha@763: this.type = type; sascha@188: } sascha@188: sascha@171: @Id sascha@171: @SequenceGenerator( sascha@171: name = "SEQUENCE_ANNOTATIONS_ID_SEQ", sascha@171: sequenceName = "ANNOTATIONS_ID_SEQ", sascha@171: allocationSize = 1) sascha@171: @GeneratedValue( sascha@171: strategy = GenerationType.SEQUENCE, sascha@171: generator = "SEQUENCE_ANNOTATIONS_ID_SEQ") sascha@171: @Column(name = "id") sascha@171: public Integer getId() { sascha@171: return id; sascha@171: } sascha@171: sascha@168: public void setId(Integer id) { sascha@167: this.id = id; sascha@167: } sascha@167: sascha@174: @OneToOne sascha@174: @JoinColumn(name = "range_id") sascha@174: public Range getRange() { sascha@174: return range; sascha@174: } sascha@174: sascha@167: public void setRange(Range range) { sascha@167: this.range = range; sascha@167: } sascha@167: sascha@174: @OneToOne sascha@174: @JoinColumn(name = "attribute_id") sascha@174: public Attribute getAttribute() { sascha@174: return attribute; sascha@167: } sascha@167: sascha@167: public void setAttribute(Attribute attribute) { sascha@167: this.attribute = attribute; sascha@167: } sascha@167: sascha@174: @OneToOne sascha@174: @JoinColumn(name = "position_id") sascha@174: public Position getPosition() { sascha@174: return position; sascha@167: } sascha@167: sascha@167: public void setPosition(Position position) { sascha@167: this.position = position; sascha@167: } sascha@758: sascha@758: @OneToOne sascha@758: @JoinColumn(name = "edge_id") sascha@758: public Edge getEdge() { sascha@758: return edge; sascha@758: } sascha@758: sascha@758: public void setEdge(Edge edge) { sascha@758: this.edge = edge; sascha@758: } sascha@763: sascha@763: @OneToOne sascha@763: @JoinColumn(name = "type_id") sascha@763: public AnnotationType getType() { sascha@763: return type; sascha@763: } sascha@763: sascha@763: public void setType(AnnotationType type) { sascha@763: this.type = type; sascha@763: } sascha@167: } sascha@167: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :