Class MultilineRecursiveToStringStyle
- All Implemented Interfaces:
Serializable
Works with ToStringBuilder to create a "deep" toString.
But instead a single line like the RecursiveToStringStyle this creates a multiline String
similar to the ToStringStyle.MULTI_LINE_STYLE.
To use this class write code as follows:
public class Job {
String title;
...
}
public class Person {
String name;
int age;
boolean smoker;
Job job;
...
public String toString() {
return new ReflectionToStringBuilder(this, new MultilineRecursiveToStringStyle()).toString();
}
}
This will produce a toString of the format:
Person@7f54[
name=Stephen,
age=29,
smoker=false,
job=Job@43cd2[
title=Manager
]
]
- Since:
- 3.4
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final intIndenting of inner lines.private static final longRequired for serialization support.private intCurrent indenting.Fields inherited from class org.apache.commons.lang3.builder.ToStringStyle
DEFAULT_STYLE, JSON_STYLE, MULTI_LINE_STYLE, NO_CLASS_NAME_STYLE, NO_FIELD_NAMES_STYLE, SHORT_PREFIX_STYLE, SIMPLE_STYLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidappendDetail(StringBuffer buffer, String fieldName, boolean[] array) Append to thetoStringthe detail of abooleanarray.protected voidappendDetail(StringBuffer buffer, String fieldName, byte[] array) Append to thetoStringthe detail of abytearray.protected voidappendDetail(StringBuffer buffer, String fieldName, char[] array) Append to thetoStringthe detail of achararray.protected voidappendDetail(StringBuffer buffer, String fieldName, double[] array) Append to thetoStringthe detail of adoublearray.protected voidappendDetail(StringBuffer buffer, String fieldName, float[] array) Append to thetoStringthe detail of afloatarray.protected voidappendDetail(StringBuffer buffer, String fieldName, int[] array) Append to thetoStringthe detail of anintarray.protected voidappendDetail(StringBuffer buffer, String fieldName, long[] array) Append to thetoStringthe detail of alongarray.protected voidappendDetail(StringBuffer buffer, String fieldName, short[] array) Append to thetoStringthe detail of ashortarray.voidappendDetail(StringBuffer buffer, String fieldName, Object value) Append to thetoStringanObjectvalue, printing the full detail of theObject.protected voidappendDetail(StringBuffer buffer, String fieldName, Object[] array) Append to thetoStringthe detail of anObjectarray.protected voidreflectionAppendArrayDetail(StringBuffer buffer, String fieldName, Object array) Append to thetoStringthe detail of an array type.private voidResets the fields responsible for the line breaks and indenting.private StringBuilderspacer(int spaces) Creates a StringBuilder responsible for the indenting.Methods inherited from class org.apache.commons.lang3.builder.RecursiveToStringStyle
accept, appendDetailMethods inherited from class org.apache.commons.lang3.builder.ToStringStyle
append, append, append, append, append, append, append, append, append, append, append, append, append, append, append, append, append, append, appendClassName, appendContentEnd, appendContentStart, appendCyclicObject, appendDetail, appendDetail, appendDetail, appendDetail, appendDetail, appendDetail, appendDetail, appendDetail, appendDetail, appendDetail, appendEnd, appendFieldEnd, appendFieldSeparator, appendFieldStart, appendIdentityHashCode, appendInternal, appendNullText, appendStart, appendSummary, appendSummary, appendSummary, appendSummary, appendSummary, appendSummary, appendSummary, appendSummary, appendSummary, appendSummary, appendSummarySize, appendSuper, appendToString, getArrayEnd, getArraySeparator, getArrayStart, getContentEnd, getContentStart, getFieldNameValueSeparator, getFieldSeparator, getNullText, getRegistry, getShortClassName, getSizeEndText, getSizeStartText, getSummaryObjectEndText, getSummaryObjectStartText, isArrayContentDetail, isDefaultFullDetail, isFieldSeparatorAtEnd, isFieldSeparatorAtStart, isFullDetail, isRegistered, isUseClassName, isUseFieldNames, isUseIdentityHashCode, isUseShortClassName, register, removeLastFieldSeparator, setArrayContentDetail, setArrayEnd, setArraySeparator, setArrayStart, setContentEnd, setContentStart, setDefaultFullDetail, setFieldNameValueSeparator, setFieldSeparator, setFieldSeparatorAtEnd, setFieldSeparatorAtStart, setNullText, setSizeEndText, setSizeStartText, setSummaryObjectEndText, setSummaryObjectStartText, setUseClassName, setUseFieldNames, setUseIdentityHashCode, setUseShortClassName, unregister
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDRequired for serialization support.- See Also:
-
INDENT
private static final int INDENTIndenting of inner lines.- See Also:
-
spaces
private int spacesCurrent indenting.
-
-
Constructor Details
-
MultilineRecursiveToStringStyle
public MultilineRecursiveToStringStyle()Constructor.
-
-
Method Details
-
resetIndent
private void resetIndent()Resets the fields responsible for the line breaks and indenting. Must be invoked after changing thespacesvalue. -
spacer
Creates a StringBuilder responsible for the indenting.- Parameters:
spaces- how far to indent- Returns:
- a StringBuilder with {spaces} leading space characters.
-
appendDetail
Description copied from class:ToStringStyleAppend to the
toStringanObjectvalue, printing the full detail of theObject.- Overrides:
appendDetailin classRecursiveToStringStyle- Parameters:
buffer- theStringBufferto populatefieldName- the field name, typically not used as already appendedvalue- the value to add to thetoString, notnull
-
appendDetail
Description copied from class:ToStringStyleAppend to the
toStringthe detail of anObjectarray.- Overrides:
appendDetailin classToStringStyle- Parameters:
buffer- theStringBufferto populatefieldName- the field name, typically not used as already appendedarray- the array to add to thetoString, notnull
-
reflectionAppendArrayDetail
Description copied from class:ToStringStyleAppend to the
toStringthe detail of an array type.- Overrides:
reflectionAppendArrayDetailin classToStringStyle- Parameters:
buffer- theStringBufferto populatefieldName- the field name, typically not used as already appendedarray- the array to add to thetoString, notnull
-
appendDetail
Description copied from class:ToStringStyleAppend to the
toStringthe detail of alongarray.- Overrides:
appendDetailin classToStringStyle- Parameters:
buffer- theStringBufferto populatefieldName- the field name, typically not used as already appendedarray- the array to add to thetoString, notnull
-
appendDetail
Description copied from class:ToStringStyleAppend to the
toStringthe detail of anintarray.- Overrides:
appendDetailin classToStringStyle- Parameters:
buffer- theStringBufferto populatefieldName- the field name, typically not used as already appendedarray- the array to add to thetoString, notnull
-
appendDetail
Description copied from class:ToStringStyleAppend to the
toStringthe detail of ashortarray.- Overrides:
appendDetailin classToStringStyle- Parameters:
buffer- theStringBufferto populatefieldName- the field name, typically not used as already appendedarray- the array to add to thetoString, notnull
-
appendDetail
Description copied from class:ToStringStyleAppend to the
toStringthe detail of abytearray.- Overrides:
appendDetailin classToStringStyle- Parameters:
buffer- theStringBufferto populatefieldName- the field name, typically not used as already appendedarray- the array to add to thetoString, notnull
-
appendDetail
Description copied from class:ToStringStyleAppend to the
toStringthe detail of achararray.- Overrides:
appendDetailin classToStringStyle- Parameters:
buffer- theStringBufferto populatefieldName- the field name, typically not used as already appendedarray- the array to add to thetoString, notnull
-
appendDetail
Description copied from class:ToStringStyleAppend to the
toStringthe detail of adoublearray.- Overrides:
appendDetailin classToStringStyle- Parameters:
buffer- theStringBufferto populatefieldName- the field name, typically not used as already appendedarray- the array to add to thetoString, notnull
-
appendDetail
Description copied from class:ToStringStyleAppend to the
toStringthe detail of afloatarray.- Overrides:
appendDetailin classToStringStyle- Parameters:
buffer- theStringBufferto populatefieldName- the field name, typically not used as already appendedarray- the array to add to thetoString, notnull
-
appendDetail
Description copied from class:ToStringStyleAppend to the
toStringthe detail of abooleanarray.- Overrides:
appendDetailin classToStringStyle- Parameters:
buffer- theStringBufferto populatefieldName- the field name, typically not used as already appendedarray- the array to add to thetoString, notnull
-