Package org.apache.commons.lang3.builder
Class MultilineRecursiveToStringStyle
java.lang.Object
org.apache.commons.lang3.builder.ToStringStyle
org.apache.commons.lang3.builder.RecursiveToStringStyle
org.apache.commons.lang3.builder.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) Appends to thetoStringthe detail of abooleanarray.protected voidappendDetail(StringBuffer buffer, String fieldName, byte[] array) Appends to thetoStringthe detail of abytearray.protected voidappendDetail(StringBuffer buffer, String fieldName, char[] array) Appends to thetoStringthe detail of achararray.protected voidappendDetail(StringBuffer buffer, String fieldName, double[] array) Appends to thetoStringthe detail of adoublearray.protected voidappendDetail(StringBuffer buffer, String fieldName, float[] array) Appends to thetoStringthe detail of afloatarray.protected voidappendDetail(StringBuffer buffer, String fieldName, int[] array) Appends to thetoStringthe detail of anintarray.protected voidappendDetail(StringBuffer buffer, String fieldName, long[] array) Appends to thetoStringthe detail of alongarray.protected voidappendDetail(StringBuffer buffer, String fieldName, short[] array) Appends to thetoStringthe detail of ashortarray.voidappendDetail(StringBuffer buffer, String fieldName, Object value) protected voidappendDetail(StringBuffer buffer, String fieldName, Object[] array) Appends to thetoStringthe detail of anObjectarray.protected voidreflectionAppendArrayDetail(StringBuffer buffer, String fieldName, Object array) Appends 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
-
appendDetail
Description copied from class:ToStringStyleAppends to thetoStringthe 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
-
appendDetail
Description copied from class:ToStringStyleAppends to thetoStringthe 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:ToStringStyleAppends to thetoStringthe 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:ToStringStyleAppends to thetoStringthe 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:ToStringStyleAppends to thetoStringthe 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:ToStringStyleAppends to thetoStringthe 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:ToStringStyleAppends to thetoStringthe 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:ToStringStyle- 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:ToStringStyleAppends to thetoStringthe 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
-
appendDetail
Description copied from class:ToStringStyleAppends to thetoStringthe 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
-
reflectionAppendArrayDetail
Description copied from class:ToStringStyleAppends to thetoStringthe 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
-
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.
-