2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $$Year-Rel$$ The Jalview Authors
5 * This file is part of Jalview.
7 * Jalview is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation, either version 3
10 * of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 * The Jalview Authors are detailed in the 'AUTHORS' file.
21 package jalview.datamodel;
23 import java.util.Hashtable;
33 private String chainCode;
37 // TODO is FILE needed; if not is this needed or can we
38 // use FileFormatI for PDB, MMCIF?
39 PDB("pdb", "xml"), MMCIF("mmcif", "mmcif"), FILE("?", "?");
44 private Type(String fmt, String ex)
50 public String getFormat()
54 public String getExtension()
60 Hashtable<String, String> properties;
65 * @see java.lang.Object#equals(java.lang.Object)
68 public boolean equals(Object obj)
70 if (obj == null || !(obj instanceof PDBEntry))
78 PDBEntry o = (PDBEntry) obj;
79 return (type == o.type || (type != null && o.type != null && o.type
81 && (id == o.id || (id != null && o.id != null && o.id
82 .equalsIgnoreCase(id)))
83 && (chainCode == o.chainCode || (chainCode != null
84 && o.chainCode != null && o.chainCode
85 .equalsIgnoreCase(chainCode)))
86 && (properties == o.properties || (properties != null
87 && o.properties != null && properties
88 .equals(o.properties)));
100 * Constructor given file path and PDB id.
104 // public PDBEntry(String filePath, String pdbId)
106 // this.file = filePath;
110 public PDBEntry(String pdbId, String chain, PDBEntry.Type type,
114 this.chainCode = chain;
115 this.type = type == null ? null : type.toString();
116 this.file = filePath;
124 public PDBEntry(PDBEntry entry)
129 chainCode = entry.chainCode;
130 if (entry.properties != null)
132 properties = (Hashtable) entry.properties.clone();
136 public void setFile(String file)
141 public String getFile()
146 public void setType(String t)
151 public void setType(PDBEntry.Type type)
153 this.type = type == null ? null : type.toString();
156 public String getType()
161 public void setId(String id)
166 public String getId()
171 public void setProperty(Hashtable property)
173 this.properties = property;
176 public Hashtable<String, String> getProperty()
181 public String getChainCode()
186 public void setChainCode(String chainCode)
188 this.chainCode = chainCode;
192 public String toString()