JAL-1683 replace year/version strings with tokens in source
[jalview.git] / src / jalview / datamodel / PDBEntry.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3  * Copyright (C) $$Year-Rel$$ The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
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.
11  *  
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.
16  * 
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.
20  */
21 package jalview.datamodel;
22
23 import java.util.Hashtable;
24
25 public class PDBEntry
26 {
27   String file;
28
29   String type;
30
31   String id;
32
33   Hashtable properties;
34
35   /*
36    * (non-Javadoc)
37    * 
38    * @see java.lang.Object#equals(java.lang.Object)
39    */
40   @Override
41   public boolean equals(Object obj)
42   {
43     if (obj == null || !(obj instanceof PDBEntry))
44     {
45       return false;
46     }
47     if (obj == this)
48     {
49       return true;
50     }
51     PDBEntry o = (PDBEntry) obj;
52     return (file == o.file || (file != null && o.file != null && o.file
53             .equals(file)))
54             && (type == o.type || (type != null && o.type != null && o.type
55                     .equals(type)))
56             && (id == o.id || (id != null && o.id != null && o.id
57                     .equalsIgnoreCase(id)))
58             && (properties == o.properties || (properties != null
59                     && o.properties != null && properties
60                       .equals(o.properties)));
61   }
62
63   /**
64    * Default constructor
65    */
66   public PDBEntry()
67   {
68   }
69
70   /**
71    * Constructor given file path and PDB id.
72    * 
73    * @param filePath
74    */
75   public PDBEntry(String filePath, String pdbId)
76   {
77     this.file = filePath;
78     this.id = pdbId;
79   }
80   
81   /**
82    * Copy constructor.
83    * 
84    * @param entry
85    */
86   public PDBEntry(PDBEntry entry)
87   {
88     file = entry.file;
89     type = entry.type;
90     id = entry.id;
91     if (entry.properties != null)
92     {
93       properties = (Hashtable) entry.properties.clone();
94     }
95   }
96
97   public void setFile(String file)
98   {
99     this.file = file;
100   }
101
102   public String getFile()
103   {
104     return file;
105   }
106
107   public void setType(String type)
108   {
109     this.type = type;
110   }
111
112   public String getType()
113   {
114     return type;
115   }
116
117   public void setId(String id)
118   {
119     this.id = id;
120   }
121
122   public String getId()
123   {
124     return id;
125   }
126
127   public void setProperty(Hashtable property)
128   {
129     this.properties = property;
130   }
131
132   public Hashtable getProperty()
133   {
134     return properties;
135   }
136
137 }