/**
*
*/
package eu.jucy.hublist;
import helpers.GH;
import helpers.SizeEnum;
import java.util.Comparator;
enum ColumnType implements Comparator<String> {
STRING,INT,BYTES,PERCENT;
public static ColumnType forName(String name) {
return ColumnType.valueOf(name.toUpperCase());
}
public String getPresentation(String value) {
try {
switch(this) {
case BYTES:
long val = (long)GH.parseDoubleSecure(value);
return SizeEnum.getReadableSize(val);
case PERCENT:
return GH.isEmpty(value) ? "" : (value+" %");
}
} catch (NumberFormatException nfe) { }
return value;
}
public int compare(String o1, String o2) {
try {
switch(this) {
case BYTES:
case PERCENT:
case INT:
long lone = GH.isEmpty(o1) ?0:Long.parseLong(o1);
long ltwo = GH.isEmpty(o2) ?0:Long.parseLong(o2);
return GH.compareTo(lone, ltwo);
case STRING:
return o1.compareTo(o2);
}
} catch (NumberFormatException nfe) {
return STRING.compare(o1, o2);
}
return 0;
}
}