/** * 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); }
/** * 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); }
/** * 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 void printHeader( StringBuilder sb, int[] columnWidths ) { // Print the row number column ... sb.append("| ").append(StringUtil.justifyLeft("#", columnWidths[0], ' ')).append(' '); // Print the name line ... sb.append('|'); int i = 1; for (String name : columns.getTupleValueNames()) { sb.append(' '); sb.append(StringUtil.justifyLeft(name, columnWidths[i], ' ')); sb.append(" |"); ++i; } sb.append('\n'); }
private final void printTuple( TypeSystem typeSystem, StringBuilder sb, int[] columnWidths, int rowNumber, int tupleLength, Object[] tuple ) { // Print the row number column ... sb.append("| ").append(StringUtil.justifyLeft(Integer.toString(rowNumber), columnWidths[0], ' ')).append(' '); // Print the remaining columns ... for (int i = 0, j = 1; i != tupleLength; ++i, ++j) { String valueStr = stringOf(typeSystem, tuple[tupleIndexesForColumns[i]]); valueStr = StringUtil.justifyLeft(valueStr, columnWidths[j], ' '); sb.append('|').append(' ').append(valueStr).append(' '); } sb.append('|'); sb.append('\n'); }
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(); }
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(); }
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(); }
/** * Justify the contents of the string. * * @param justify the way in which the string is to be justified * @param str the string to be right justified; if null, an empty string is used * @param width the desired width of the string; must be positive * @param padWithChar the character to use for padding, if needed * @return the right justified string */ public static String justify( Justify justify, String str, final int width, char padWithChar ) { switch (justify) { case LEFT: return justifyLeft(str, width, padWithChar); case RIGHT: return justifyRight(str, width, padWithChar); case CENTER: return justifyCenter(str, width, padWithChar); } assert false; return null; }
/** * Justify the contents of the string. * * @param justify the way in which the string is to be justified * @param str the string to be right justified; if null, an empty string is used * @param width the desired width of the string; must be positive * @param padWithChar the character to use for padding, if needed * @return the right justified string */ public static String justify( Justify justify, String str, final int width, char padWithChar ) { switch (justify) { case LEFT: return justifyLeft(str, width, padWithChar); case RIGHT: return justifyRight(str, width, padWithChar); case CENTER: return justifyCenter(str, width, padWithChar); } assert false; return null; }
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);
/** * Justify the contents of the string. * * @param justify the way in which the string is to be justified * @param str the string to be right justified; if null, an empty string is used * @param width the desired width of the string; must be positive * @param padWithChar the character to use for padding, if needed * @return the right justified string */ public static String justify( Justify justify, String str, final int width, char padWithChar ) { switch (justify) { case LEFT: return justifyLeft(str, width, padWithChar); case RIGHT: return justifyRight(str, width, padWithChar); case CENTER: return justifyCenter(str, width, padWithChar); } assert false; return null; }
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);
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);
@Test public void justifyLeftShouldRemoveLeadingWhitespace() { assertEquals("This ", StringUtil.justifyLeft(" This", 10, ' ')); assertEquals("This ", StringUtil.justifyLeft("\tThis", 10, ' ')); }
@Test public void justifyLeftShouldAppendCharacterForEmptyStrings() { assertEquals(" ", StringUtil.justifyLeft("", 10, ' ')); }
@Test public void justifyLeftShouldAppendCharacterForStringsThatAreTooShort() { assertEquals("This ", StringUtil.justifyLeft("This", 10, ' ')); }
@Test public void justifyLeftShouldReturnStringsThatAreTheDesiredLength() { assertEquals("This is the string", StringUtil.justifyLeft("This is the string", 18, ' ')); }
@Test public void justifyLeftShouldTruncateStringsThatAreTooLong() { assertEquals("This is the st", StringUtil.justifyLeft("This is the string", 14, ' ')); }
@Test public void justifyLeftShouldAppendCharacterForNullStrings() { assertEquals(" ", StringUtil.justifyLeft(null, 10, ' ')); }