/** * Set the length of the string, padding with the supplied character if the supplied string is shorter than desired, or * truncating the string if it is longer than desired. Unlike {@link #justifyLeft(String, int, char)}, this method does not * remove leading and trailing whitespace. * * @param original the string for which the length is to be set; may not be null * @param length the desired length; must be positive * @param padChar the character to use for padding, if the supplied string is not long enough * @return the string of the desired length * @see #justifyLeft(String, int, char) */ public static String setLength( String original, int length, char padChar ) { return justifyLeft(original, length, padChar, false); }
protected static String justifyLeft( String str, final int width, char padWithChar, boolean trimWhitespace ) { // Trim the leading and trailing whitespace ... str = str != null ? (trimWhitespace ? str.trim() : str) : ""; int addChars = width - str.length(); if (addChars < 0) { // truncate return str.subSequence(0, width).toString(); } // Write the content ... final StringBuilder sb = new StringBuilder(); sb.append(str); // Append the whitespace ... while (addChars > 0) { sb.append(padWithChar); --addChars; } return sb.toString(); }
result.add(StringUtil.justifyLeft("Ranges", rangeWidth, ' ') + " Distribution"); result.add(StringUtil.createString('-', rangeWidth) + ' ' + StringUtil.createString('-', barWidth)); for (Bucket bucket : this.buckets) { StringBuilder sb = new StringBuilder(); sb.append("["); sb.append(StringUtil.justifyLeft(bucket.getLowerBound().toString(), maxLowerBoundLength, ' ')); sb.append(" - "); sb.append(StringUtil.justifyLeft(bucket.getUpperBound().toString(), maxUpperBoundLength, ' ')); sb.append("] "); int barLength = Math.max((int)(barLengthForHundredPercent * percent / 100.0f), 0);