inprogress
[jalview.git] / forester / java / src / org / forester / go / PfamToGoMapping.java
1 // $Id:
2 // FORESTER -- software libraries and applications
3 // for evolutionary biology research and applications.
4 //
5 // Copyright (C) 2008-2009 Christian M. Zmasek
6 // Copyright (C) 2008-2009 Burnham Institute for Medical Research
7 // All rights reserved
8 //
9 // This library is free software; you can redistribute it and/or
10 // modify it under the terms of the GNU Lesser General Public
11 // License as published by the Free Software Foundation; either
12 // version 2.1 of the License, or (at your option) any later version.
13 //
14 // This library is distributed in the hope that it will be useful,
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 // Lesser General Public License for more details.
18 //
19 // You should have received a copy of the GNU Lesser General Public
20 // License along with this library; if not, write to the Free Software
21 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
22 //
23 // Contact: phylosoft @ gmail . com
24 // WWW: https://sites.google.com/site/cmzmasek/home/software/forester
25
26 package org.forester.go;
27
28 import org.forester.protein.DomainId;
29
30 public class PfamToGoMapping implements Mapping {
31
32     private final DomainId _pfam_domain_id;
33     private final GoId     _go_id;
34
35     public PfamToGoMapping( final DomainId pfam_domain_id, final GoId go_id ) {
36         _pfam_domain_id = pfam_domain_id;
37         _go_id = go_id;
38     }
39
40     @Override
41     public int compareTo( final Mapping m ) {
42         if ( this == m ) {
43             return 0;
44         }
45         return getKey().compareTo( ( DomainId ) m.getKey() );
46     }
47
48     /**
49      * Based on key and value.
50      * 
51      * 
52      */
53     @Override
54     public boolean equals( final Object o ) {
55         if ( this == o ) {
56             return true;
57         }
58         else if ( o == null ) {
59             throw new IllegalArgumentException( "attempt to check pfam to go mapping equality to null" );
60         }
61         else if ( o.getClass() != this.getClass() ) {
62             throw new IllegalArgumentException( "attempt to check pfam to go mapping equality to " + o + " ["
63                     + o.getClass() + "]" );
64         }
65         else {
66             return getKey().equals( ( ( PfamToGoMapping ) o ).getKey() )
67                     && getValue().equals( ( ( PfamToGoMapping ) o ).getValue() );
68         }
69     }
70
71     @Override
72     public DomainId getKey() {
73         return _pfam_domain_id;
74     }
75
76     @Override
77     public GoId getValue() {
78         return _go_id;
79     }
80
81     @Override
82     public String toString() {
83         final StringBuffer sb = new StringBuffer();
84         sb.append( getKey().toString() );
85         sb.append( " > " );
86         sb.append( getValue().toString() );
87         return sb.toString();
88     }
89 }