I would like Lombok's toString() output to put each value on its own line. Enabling it like this would be great:
@ToString(includeNewLines = true)
public class MyClass {
...
}
Anything like that possible?
There is currently no direct @ToString
annotation support for output formatting as described in your question. In fact, the Lombok
@ToString
documentationref includes the following disclaimer:
We don't promise to keep the output of the generated toString() methods the same between lombok versions. You should never design your API so that other code is forced to parse your toString() output anyway!
You could use: @ToString(onlyExplicitlyIncluded = true)
to suppress normal toString
field processing along with @ToString.Include
to call an instance (non-static) method that takes no arguments to implement custom formatting, but that pretty much defeats the whole purpose.
If custom toString
output formatting is important to you, a better option is available in the Apache Commons Langref org.apache.commons.lang3.builder
package, which provides output format control using the ToStringBuilder
api and ToStringStyle
api classes.