private String formatByteSize()

in src/main/java/org/apache/sling/reqanalyzer/impl/RequestAnalyzerWebConsole.java [238:267]


    private String formatByteSize(final long value) {
        final String suffix;
        final String suffixedValue;

        if (value >= 0) {
            final BigDecimal KB = new BigDecimal(1000L);
            final BigDecimal MB = new BigDecimal(1000L * 1000);
            final BigDecimal GB = new BigDecimal(1000L * 1000 * 1000);

            BigDecimal bd = new BigDecimal(value);
            if (bd.compareTo(GB) > 0) {
                bd = bd.divide(GB);
                suffix = "GB";
            } else if (bd.compareTo(MB) > 0) {
                bd = bd.divide(MB);
                suffix = "MB";
            } else if (bd.compareTo(KB) > 0) {
                bd = bd.divide(KB);
                suffix = "kB";
            } else {
                suffix = "B";
            }
            suffixedValue = bd.setScale(2, RoundingMode.UP).toString();
        } else {
            suffixedValue = "n/a";
            suffix = "";
        }

        return suffixedValue + suffix;
    }