equivalence for transferring/updating references
[jalview.git] / src / jalview / datamodel / PDBEntry.java
index 356a75f..69f0d68 100755 (executable)
@@ -1,54 +1,98 @@
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
- */\r
-package jalview.datamodel;\r
-\r
-import java.util.*;\r
-public class PDBEntry\r
-{\r
-  String type;\r
-  String id;\r
-  Hashtable properties;\r
-\r
-  public PDBEntry()\r
-  {  }\r
-\r
-  public void setType(String type)\r
-  { this.type = type; }\r
-\r
-  public String getType()\r
-  { return type; }\r
-\r
-  public void setId(String id)\r
-  { this.id = id; }\r
-\r
-  public String getId()\r
-  { return id; }\r
-\r
-  public void setProperty(Hashtable property)\r
-  {\r
-    this.properties = property;\r
-  }\r
-\r
-  public Hashtable getProperty()\r
-  {\r
-    return properties;\r
-  }\r
-\r
-\r
-}\r
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer
+ * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ *
+ * This program 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.
+ *
+ * This program 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 this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+ */
+package jalview.datamodel;
+
+import java.util.*;
+
+public class PDBEntry
+{
+  String file;
+  String type;
+  String id;
+  Hashtable properties;
+
+  /* (non-Javadoc)
+   * @see java.lang.Object#equals(java.lang.Object)
+   */
+  public boolean equals(Object obj)
+  {
+    if (obj==null || !(obj instanceof PDBEntry))
+    {
+        return false;
+    }
+    if (obj==this)
+      return true;
+    PDBEntry o = (PDBEntry) obj;
+    return (file==o.file || (file!=null && o.file!=null && o.file.equals(file)))
+    && (type==o.type || (type!=null && o.type!=null && o.type.equals(type)))
+    && (id==o.id || (id!=null && o.id!=null && o.id.equalsIgnoreCase(id)))
+    && (properties==o.properties || (properties!=null && o.properties!=null && properties.equals(o.properties)));
+  }
+  public PDBEntry()
+  {}
+  public PDBEntry(PDBEntry entry) {
+    file = entry.file;
+    type = entry.type;
+    id = entry.id;
+    if (entry.properties!=null)
+    {
+      properties = (Hashtable) entry.properties.clone();
+    }
+  }
+  public void setFile(String file)
+  {
+    this.file = file;
+  }
+
+  public String getFile()
+  {
+    return file;
+  }
+
+  public void setType(String type)
+  {
+    this.type = type;
+  }
+
+  public String getType()
+  {
+    return type;
+  }
+
+  public void setId(String id)
+  {
+    this.id = id;
+  }
+
+  public String getId()
+  {
+    return id;
+  }
+
+  public void setProperty(Hashtable property)
+  {
+    this.properties = property;
+  }
+
+  public Hashtable getProperty()
+  {
+    return properties;
+  }
+
+}