5bb251b71d50b5ad0651959900b270007738d933
[jalview.git] / forester / java / src / org / forester / clade_analysis / Prefix.java
1
2 package org.forester.clade_analysis;
3
4 import java.math.BigDecimal;
5 import java.text.DecimalFormat;
6 import java.util.regex.Pattern;
7
8 public final class Prefix {
9
10     private final static DecimalFormat df = new DecimalFormat( "0.0###" );
11     private final String               _prefix;
12     private final BigDecimal           _confidence;
13     private final String               _separator;
14     private final String               _first;
15
16     public Prefix( final String prefix, final String confidence, final String separator ) {
17         _prefix = prefix;
18         _confidence = new BigDecimal( confidence );
19         _separator = separator;
20         if ( _prefix.indexOf( _separator ) < 0 ) {
21             _first = _prefix;
22         }
23         else {
24             _first = _prefix.substring( 0, _prefix.indexOf( _separator ) );
25         }
26     }
27
28     public Prefix( final String prefix, final double confidence, final String separator ) {
29         _prefix = prefix;
30         _confidence = new BigDecimal( confidence );
31         _separator = separator;
32         if ( _prefix.indexOf( _separator ) < 0 ) {
33             _first = _prefix;
34         }
35         else {
36             _first = _prefix.substring( 0, _prefix.indexOf( _separator ) );
37         }
38     }
39
40     public String getPrefix() {
41         return _prefix;
42     }
43     
44     public String getPrefixRemovSeparator() {
45         return _prefix.replaceAll( Pattern.quote( _separator ), "" );
46     }
47
48     public String getPrefixFirstElement() {
49         return _first;
50     }
51
52     public double getConfidence() {
53         return _confidence.doubleValue();
54     }
55
56     @Override
57     public String toString() {
58         return getPrefix() + ": " + df.format( getConfidence() );
59     }
60     
61     public String toStringRemovSeparator() {
62         return getPrefixRemovSeparator() + ": " + df.format( getConfidence() );
63     }
64 }