fixing lining up of domains.
[jalview.git] / forester / java / src / org / forester / phylogeny / data / Identifier.java
index 62dc722..39997e6 100644 (file)
 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
 //
 // Contact: phylosoft @ gmail . com
-// WWW: www.phylosoft.org/forester
+// WWW: https://sites.google.com/site/cmzmasek/home/software/forester
 
 package org.forester.phylogeny.data;
 
 import java.io.IOException;
 import java.io.Writer;
 
-import org.forester.io.parsers.nhx.NHXtags;
 import org.forester.io.parsers.phyloxml.PhyloXmlMapping;
 import org.forester.util.ForesterUtil;
 
-public class Identifier implements PhylogenyData {
+public final class Identifier implements PhylogenyData {
 
-    final String _value;
-    final String _provider;
+    final private String _value;
+    final private String _provider;
+    final private String _value_provider;
 
     public Identifier() {
         _value = "";
         _provider = "";
+        _value_provider = "";
     }
 
     public Identifier( final String value ) {
         _value = value;
         _provider = "";
+        _value_provider = value;
     }
 
     public Identifier( final String value, final String provider ) {
         _value = value;
         _provider = provider;
+        if ( provider != null ) {
+            _value_provider = value + provider;
+        }
+        else {
+            _value_provider = value;
+        }
     }
 
     @Override
@@ -69,6 +77,10 @@ public class Identifier implements PhylogenyData {
         return sb;
     }
 
+    public String getValuePlusProvider() {
+        return _value_provider;
+    }
+
     @Override
     public PhylogenyData copy() {
         return new Identifier( getValue(), getProvider() );
@@ -101,10 +113,7 @@ public class Identifier implements PhylogenyData {
 
     @Override
     public int hashCode() {
-        if ( getProvider() != null ) {
-            return ( getProvider() + getValue() ).hashCode();
-        }
-        return getValue().hashCode();
+        return _value_provider.hashCode();
     }
 
     @Override
@@ -124,11 +133,7 @@ public class Identifier implements PhylogenyData {
 
     @Override
     public StringBuffer toNHX() {
-        final StringBuffer sb = new StringBuffer();
-        sb.append( ":" );
-        sb.append( NHXtags.NODE_IDENTIFIER );
-        sb.append( ForesterUtil.replaceIllegalNhxCharacters( getValue() ) );
-        return sb;
+        throw new UnsupportedOperationException();
     }
 
     @Override