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 int
Indenting of inner lines.private static final long
Required for serialization support.private int
Current 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 void
appendDetail
(StringBuffer buffer, String fieldName, boolean[] array) Append to thetoString
the detail of aboolean
array.protected void
appendDetail
(StringBuffer buffer, String fieldName, byte[] array) Append to thetoString
the detail of abyte
array.protected void
appendDetail
(StringBuffer buffer, String fieldName, char[] array) Append to thetoString
the detail of achar
array.protected void
appendDetail
(StringBuffer buffer, String fieldName, double[] array) Append to thetoString
the detail of adouble
array.protected void
appendDetail
(StringBuffer buffer, String fieldName, float[] array) Append to thetoString
the detail of afloat
array.protected void
appendDetail
(StringBuffer buffer, String fieldName, int[] array) Append to thetoString
the detail of anint
array.protected void
appendDetail
(StringBuffer buffer, String fieldName, long[] array) Append to thetoString
the detail of along
array.protected void
appendDetail
(StringBuffer buffer, String fieldName, short[] array) Append to thetoString
the detail of ashort
array.void
appendDetail
(StringBuffer buffer, String fieldName, Object value) Append to thetoString
anObject
value, printing the full detail of theObject
.protected void
appendDetail
(StringBuffer buffer, String fieldName, Object[] array) Append to thetoString
the detail of anObject
array.protected void
reflectionAppendArrayDetail
(StringBuffer buffer, String fieldName, Object array) Append to thetoString
the detail of an array type.private void
Resets the fields responsible for the line breaks and indenting.private StringBuilder
spacer
(int spaces) Creates a StringBuilder responsible for the indenting.Methods inherited from class org.apache.commons.lang3.builder.RecursiveToStringStyle
accept, appendDetail
Methods 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 thespaces
value. -
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:ToStringStyle
Append to the
toString
anObject
value, printing the full detail of theObject
.- Overrides:
appendDetail
in classRecursiveToStringStyle
- Parameters:
buffer
- theStringBuffer
to populatefieldName
- the field name, typically not used as already appendedvalue
- the value to add to thetoString
, notnull
-
appendDetail
Description copied from class:ToStringStyle
Append to the
toString
the detail of anObject
array.- Overrides:
appendDetail
in classToStringStyle
- Parameters:
buffer
- theStringBuffer
to populatefieldName
- the field name, typically not used as already appendedarray
- the array to add to thetoString
, notnull
-
reflectionAppendArrayDetail
Description copied from class:ToStringStyle
Append to the
toString
the detail of an array type.- Overrides:
reflectionAppendArrayDetail
in classToStringStyle
- Parameters:
buffer
- theStringBuffer
to populatefieldName
- the field name, typically not used as already appendedarray
- the array to add to thetoString
, notnull
-
appendDetail
Description copied from class:ToStringStyle
Append to the
toString
the detail of along
array.- Overrides:
appendDetail
in classToStringStyle
- Parameters:
buffer
- theStringBuffer
to populatefieldName
- the field name, typically not used as already appendedarray
- the array to add to thetoString
, notnull
-
appendDetail
Description copied from class:ToStringStyle
Append to the
toString
the detail of anint
array.- Overrides:
appendDetail
in classToStringStyle
- Parameters:
buffer
- theStringBuffer
to populatefieldName
- the field name, typically not used as already appendedarray
- the array to add to thetoString
, notnull
-
appendDetail
Description copied from class:ToStringStyle
Append to the
toString
the detail of ashort
array.- Overrides:
appendDetail
in classToStringStyle
- Parameters:
buffer
- theStringBuffer
to populatefieldName
- the field name, typically not used as already appendedarray
- the array to add to thetoString
, notnull
-
appendDetail
Description copied from class:ToStringStyle
Append to the
toString
the detail of abyte
array.- Overrides:
appendDetail
in classToStringStyle
- Parameters:
buffer
- theStringBuffer
to populatefieldName
- the field name, typically not used as already appendedarray
- the array to add to thetoString
, notnull
-
appendDetail
Description copied from class:ToStringStyle
Append to the
toString
the detail of achar
array.- Overrides:
appendDetail
in classToStringStyle
- Parameters:
buffer
- theStringBuffer
to populatefieldName
- the field name, typically not used as already appendedarray
- the array to add to thetoString
, notnull
-
appendDetail
Description copied from class:ToStringStyle
Append to the
toString
the detail of adouble
array.- Overrides:
appendDetail
in classToStringStyle
- Parameters:
buffer
- theStringBuffer
to populatefieldName
- the field name, typically not used as already appendedarray
- the array to add to thetoString
, notnull
-
appendDetail
Description copied from class:ToStringStyle
Append to the
toString
the detail of afloat
array.- Overrides:
appendDetail
in classToStringStyle
- Parameters:
buffer
- theStringBuffer
to populatefieldName
- the field name, typically not used as already appendedarray
- the array to add to thetoString
, notnull
-
appendDetail
Description copied from class:ToStringStyle
Append to the
toString
the detail of aboolean
array.- Overrides:
appendDetail
in classToStringStyle
- Parameters:
buffer
- theStringBuffer
to populatefieldName
- the field name, typically not used as already appendedarray
- the array to add to thetoString
, notnull
-