package com.limegroup.gnutella.gui.connection;
import java.text.NumberFormat;
import com.limegroup.gnutella.gui.GUIUtils;
/**
* Wrapper class that acts as a comparable for the bandwidth i/o info.
* @author sam berlin
*/
public final class BandwidthHolder implements Comparable {
/**
* Static number formatter
*/
static NumberFormat formatter;
static {
formatter = NumberFormat.getNumberInstance();
formatter.setMinimumFractionDigits(3);
formatter.setMaximumFractionDigits(3);
}
/**
* Variable for the string representation
*/
private String _string;
/**
* Variable for the info.
*/
private float _down, _up;
/**
* The constructor sets d / u
*
*/
public BandwidthHolder(float d, float u) {
_string = formatter.format(d) + " / " + formatter.format(u) +
GUIUtils.GENERAL_UNIT_KBPSEC;
_down = d;
_up = u;
}
/**
* Add up the two things and see which is larger.
*/
public int compareTo(Object o) {
BandwidthHolder other = (BandwidthHolder)o;
float me = _down + _up;
float you = other._down + other._up;
if ( me > you ) return 1;
if ( me < you ) return -1;
return 0;
}
/**
*
* @return the formatted string
*/
public String toString() {
return _string;
}
}