--- /dev/null
+/*
+ * $Id: Language.java,v 1.1 2004/11/06 16:20:48 idfx Exp $
+ *
+ * Copyright (C) 2001, 2002, 2003, 2004 The Mir-coders group
+ *
+ * This file is part of Mir.
+ *
+ * Mir is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Mir 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Mir; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * In addition, as a special exception, The Mir-coders gives permission to link
+ * the code of this program with any library licensed under the Apache Software License,
+ * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
+ * (or with modified versions of the above that use the same license as the above),
+ * and distribute linked combinations including the two. You must obey the
+ * GNU General Public License in all respects for all of the code used other than
+ * the above mentioned libraries. If you modify this file, you may extend this
+ * exception to your version of the file, but you are not obligated to do so.
+ * If you do not wish to do so, delete this exception statement from your version.
+ */
+package org.codecoop.mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/**
+ * Language
+ *
+ * @author idefix
+ */
+public class Language implements Serializable {
+
+ /** identifier field */
+ private Integer id;
+
+ /** persistent field */
+ private String name;
+
+ /** persistent field */
+ private String code;
+
+ private int hashCode;
+
+ /** full constructor */
+ public Language(String name, String code) {
+ this.name = name;
+ this.code = code;
+ }
+
+ /** default constructor */
+ public Language() {
+ }
+
+ public Integer getId() {
+ return this.id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getCode() {
+ return this.code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public boolean equals(Object obj) {
+ if (null == obj) {
+ return false;
+ }
+ if (!(obj instanceof Language)) {
+ return false;
+ } else {
+ Language mObj = (Language) obj;
+ if (null == this.getId() || null == mObj.getId()) {
+ return false;
+ } else {
+ return (this.getId().equals(mObj.getId()));
+ }
+ }
+ }
+
+ public int hashCode() {
+ if (Integer.MIN_VALUE == this.hashCode) {
+ if (null == this.getId()){
+ return super.hashCode();
+ } else {
+ String hashStr = this.getClass().getName() + ":"
+ + this.getId().hashCode();
+ this.hashCode = hashStr.hashCode();
+ }
+ }
+ return this.hashCode;
+ }
+
+ public String toString() {
+ return new ToStringBuilder(this).append("id", getId()).toString();
+ }
+
+}
\ No newline at end of file