/* Jug Management is a web application conceived to manage user groups or * communities focused on a certain domain of knowledge, whose members are * constantly sharing information and participating in social and educational * events. Copyright (C) 2011 Ceara Java User Group - CEJUG. * * This application is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by the * Free Software Foundation; either version 2.1 of the License, or (at your * option) any later version. * * This application is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * There is a full copy of the GNU Lesser General Public License along with * this library. Look for the file license.txt at the root level. If you do not * find it, write to the Free Software Foundation, Inc., 59 Temple Place, * Suite 330, Boston, MA 02111-1307 USA. * */ package org.cejug.yougi.entity; import java.io.Serializable; import java.util.Locale; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "language") public class Language implements Serializable { private static final long serialVersionUID = 1L; public static final String DEFAULT_LANGUAGE = "en"; @Id @Column(name = "acronym", nullable = false) private String acronym; @Column(name = "name", nullable = false) private String name; public Language() { this.acronym = DEFAULT_LANGUAGE; } public Language(String acronym) { this.acronym = acronym; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAcronym() { return acronym; } public void setAcronym(String acronym) { this.acronym = acronym; } public Locale getLocale() { Locale locale = new Locale(this.getAcronym()); return locale; } @Override public String toString() { return this.name; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((acronym == null) ? 0 : acronym.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof Language)) { return false; } Language other = (Language) obj; if (acronym == null) { if (other.acronym != null) { return false; } } else if (!acronym.equals(other.acronym)) { return false; } return true; } }