mschaefer@9014: /* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde mschaefer@9014: * Software engineering by mschaefer@9014: * Björnsen Beratende Ingenieure GmbH mschaefer@9014: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt mschaefer@9014: * mschaefer@9014: * This file is Free Software under the GNU AGPL (>=v3) mschaefer@9014: * and comes with ABSOLUTELY NO WARRANTY! Check out the mschaefer@9014: * documentation coming with Dive4Elements River for details. mschaefer@9014: */ mschaefer@9014: mschaefer@9014: package org.dive4elements.river.model.uinfo; mschaefer@9014: mschaefer@9014: import java.io.Serializable; mschaefer@9014: import java.util.ArrayList; mschaefer@9014: import java.util.List; mschaefer@9661: import java.util.Locale; mschaefer@9014: mschaefer@9014: import javax.persistence.Column; mschaefer@9014: import javax.persistence.Entity; mschaefer@9014: import javax.persistence.Id; mschaefer@9014: import javax.persistence.Table; mschaefer@9014: mschaefer@9014: import org.dive4elements.river.backend.SessionHolder; mschaefer@9014: import org.hibernate.Query; mschaefer@9014: import org.hibernate.Session; mschaefer@9014: mschaefer@9014: /** mschaefer@9014: * Hibernate binding for the DB table vegetation_type mschaefer@9014: * mschaefer@9014: * @author Matthias Schäfer mschaefer@9014: * mschaefer@9014: */ mschaefer@9014: @Entity mschaefer@9014: @Table(name = "vegetation_type") mschaefer@9014: public class VegetationType implements Serializable { mschaefer@9014: mschaefer@9014: /***** FIELDS *****/ mschaefer@9014: mschaefer@9014: private static final long serialVersionUID = -845317173014273709L; mschaefer@9014: mschaefer@9014: private Integer id; mschaefer@9014: mschaefer@9014: private String name; mschaefer@9014: mschaefer@9661: private String de_name; mschaefer@9014: mschaefer@9014: /***** CONSTRUCTORS *****/ mschaefer@9014: mschaefer@9014: public VegetationType() { mschaefer@9014: } mschaefer@9014: mschaefer@9014: public VegetationType(final String name) { mschaefer@9014: this.name = name; mschaefer@9014: } mschaefer@9014: mschaefer@9014: /***** METHODS *****/ mschaefer@9014: mschaefer@9014: @Id mschaefer@9014: @Column(name = "id") mschaefer@9014: public Integer getId() { mschaefer@9014: return this.id; mschaefer@9014: } mschaefer@9014: mschaefer@9014: public void setId(final Integer id) { mschaefer@9014: this.id = id; mschaefer@9014: } mschaefer@9014: mschaefer@9014: @Column(name = "name") mschaefer@9014: public String getName() { mschaefer@9014: return this.name; mschaefer@9014: } mschaefer@9014: mschaefer@9014: public void setName(final String name) { mschaefer@9014: this.name = name; mschaefer@9014: } mschaefer@9401: mschaefer@9661: @Column(name = "de_name") mschaefer@9661: public String getDe_name() { mschaefer@9661: return this.de_name; mschaefer@9661: } mschaefer@9661: mschaefer@9661: public void setDe_name(final String de_name) { mschaefer@9661: this.de_name = de_name; mschaefer@9661: } mschaefer@9661: mschaefer@9014: /** mschaefer@9401: * Queries all vegetation types from the database, ordered by id mschaefer@9014: */ mschaefer@9014: public static List getTypes() { mschaefer@9661: return getTypes(SessionHolder.HOLDER.get()); mschaefer@9661: } mschaefer@9661: mschaefer@9661: /** mschaefer@9661: * Queries all vegetation types from the database, ordered by id mschaefer@9661: */ mschaefer@9661: public static List getTypes(final Session session) { mschaefer@9014: final Query query = session.createQuery("FROM VegetationType ORDER BY id"); mschaefer@9014: return new ArrayList<>(query.list()); mschaefer@9014: } mschaefer@9661: mschaefer@9661: /** mschaefer@9661: * Localized name of the vegetation type mschaefer@9661: */ mschaefer@9661: public String getLocalizedName(final Locale locale) { mschaefer@9661: if ((locale == Locale.GERMAN) || (locale == Locale.GERMANY)) mschaefer@9661: return getDe_name(); mschaefer@9661: else mschaefer@9661: return getName(); mschaefer@9661: } mschaefer@9014: }