de.unkrig.commons.lang
Class PrettyPrinter

java.lang.Object
  extended by de.unkrig.commons.lang.PrettyPrinter

public final class PrettyPrinter
extends java.lang.Object

See Also:
toString(Object)

Method Summary
static java.lang.String toString(java.lang.Object o)
          An improved version of String.valueOf(Object).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

toString

@Nullable
public static java.lang.String toString(@Nullable
                                                 java.lang.Object o)
An improved version of String.valueOf(Object).

Objects are converted to strings in a Java-like format:

Character:
'\n'
Byte, Short, Long, Float, Double:
3B 3S 3L 3F 3D
String:
"abc\n"
"abcdef"... (123 chars)
Other CharSequence:
StringBuilder "abc\n"
Char array:
char[4] 'abc\n'
char[99] 'abcdef'...
Other array:
int[3] { 1, 2, 3 }
short[199] { 1, 2, 3, 4, 5, 6, ... }
Nested array:
Object[3][] { [self], null, Object[2] { "abc", [parent] } }
Any other object:
The string returned by Object.toString()
Large objects are abbreviated with an ellipsis as shown above:
Char array:
CHAR_ARRAY_ELLIPSIS chars
Other array:
ARRAY_ELLIPSIS elements
CharSequence:
CHAR_SEQUENCE_ELLIPSIS chars
As the result string exceeds TOTAL_LENGTH_ELLIPSIS characters, all remaining arrays and CharSequences are abbreviated, so the result string will effectively not be much longer than TOTAL_LENGTH_ELLIPSIS characters.