JAL-1479 refactored SequenceI interface - changed getDBRef() to getDBRefs() since...
[jalview.git] / src / jalview / datamodel / DBRefEntry.java
index 2151fc4..142d996 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  */
 package jalview.datamodel;
 
-public class DBRefEntry
+import jalview.api.DBRefEntryI;
+
+public class DBRefEntry implements DBRefEntryI
 {
   String source = "", version = "", accessionId = "";
 
+  private int startRes, endRes;
   /**
    * maps from associated sequence to the database sequence's coordinate system
    */
@@ -69,12 +72,20 @@ public class DBRefEntry
             (entry.map == null ? null : new Mapping(entry.map)));
   }
 
-  public boolean equals(DBRefEntry entry)
+  @Override
+  public boolean equals(Object o)
   {
+    // TODO should also override hashCode to ensure equal objects have equal
+    // hashcodes
+    if (o == null || !(o instanceof DBRefEntry))
+    {
+      return false;
+    }
+    DBRefEntry entry = (DBRefEntry) o;
     if (entry == this)
+    {
       return true;
-    if (entry == null)
-      return false;
+    }
     if (equalRef(entry)
             && ((map == null && entry.map == null) || (map != null
                     && entry.map != null && map.equals(entry.map))))
@@ -90,36 +101,43 @@ public class DBRefEntry
    * @param entry
    * @return true if source, accession and version are equal with those of entry
    */
-  public boolean equalRef(DBRefEntry entry)
+  @Override
+  public boolean equalRef(DBRefEntryI entry)
   {
     if (entry == null)
     {
       return false;
     }
     if (entry == this)
+    {
       return true;
-    if ((source != null && entry.source != null && source
-            .equalsIgnoreCase(entry.source))
-            && (accessionId != null && entry.accessionId != null && accessionId
-                    .equalsIgnoreCase(entry.accessionId))
-            && (version != null && entry.version != null && version
-                    .equalsIgnoreCase(entry.version)))
+    }
+    if (entry != null
+            && (source != null && entry.getSource() != null && source
+                    .equalsIgnoreCase(entry.getSource()))
+            && (accessionId != null && entry.getAccessionId() != null && accessionId
+                    .equalsIgnoreCase(entry.getAccessionId()))
+            && (version != null && entry.getVersion() != null && version
+                    .equalsIgnoreCase(entry.getVersion())))
     {
       return true;
     }
     return false;
   }
 
+  @Override
   public String getSource()
   {
     return source;
   }
 
+  @Override
   public String getVersion()
   {
     return version;
   }
 
+  @Override
   public String getAccessionId()
   {
     return accessionId;
@@ -129,6 +147,7 @@ public class DBRefEntry
    * @param accessionId
    *          the accessionId to set
    */
+  @Override
   public void setAccessionId(String accessionId)
   {
     this.accessionId = accessionId;
@@ -138,6 +157,7 @@ public class DBRefEntry
    * @param source
    *          the source to set
    */
+  @Override
   public void setSource(String source)
   {
     this.source = source;
@@ -147,6 +167,7 @@ public class DBRefEntry
    * @param version
    *          the version to set
    */
+  @Override
   public void setVersion(String version)
   {
     this.version = version;
@@ -183,4 +204,30 @@ public class DBRefEntry
     return ((source != null) ? source : "") + ":"
             + ((accessionId != null) ? accessionId : "");
   }
+
+  @Override
+  public String toString()
+  {
+    return getSrcAccString();
+  }
+
+  public int getStartRes()
+  {
+    return startRes;
+  }
+
+  public void setStartRes(int startRes)
+  {
+    this.startRes = startRes;
+  }
+
+  public int getEndRes()
+  {
+    return endRes;
+  }
+
+  public void setEndRes(int endRes)
+  {
+    this.endRes = endRes;
+  }
 }