Class RecursiveToStringStyle

java.lang.Object
org.apache.commons.lang3.builder.ToStringStyle
org.apache.commons.lang3.builder.RecursiveToStringStyle
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
MultilineRecursiveToStringStyle

Works with ToStringBuilder to create a "deep" toString.

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 RecursiveToStringStyle()).toString();
  }
}

This will produce a toString of the format: Person@7f54[name=Stephen,age=29,smoker=false,job=Job@43cd2[title=Manager]]

Since:
3.2
See Also:
  • Constructor Details

  • Method Details

    • accept

      protected boolean accept(Class<?> clazz)
      Returns whether or not to recursively format the given Class. By default, this method always returns true, but may be overwritten by subclasses to filter specific classes.
      Parameters:
      clazz - The class to test.
      Returns:
      Whether or not to recursively format the given Class.
    • appendDetail

      protected void appendDetail(StringBuffer buffer, String fieldName, Collection<?> coll)
      Description copied from class: ToStringStyle
      Appends to the toString a Collection.
      Overrides:
      appendDetail in class ToStringStyle
      Parameters:
      buffer - the StringBuffer to populate.
      fieldName - the field name, typically not used as already appended.
      coll - the Collection to add to the toString, not null.
    • appendDetail

      public void appendDetail(StringBuffer buffer, String fieldName, Object value)
      Description copied from class: ToStringStyle
      Appends to the toString an Object value, printing the full detail of the Object.
      Overrides:
      appendDetail in class ToStringStyle
      Parameters:
      buffer - the StringBuffer to populate.
      fieldName - the field name, typically not used as already appended.
      value - the value to add to the toString, not null.