You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am looking for an elegant solution for generating JavaDocs, or in general, multi-line strings where each line begins with some characters that are not necessarily whitespace.
For example, if someone sets the description for something to be a multiline string:
The separator in the template duplicates the indent. This is confusing and becomes worse when indenting more:
/**
* @param value
* <foo.descriptionLines; separator="\n * ">
*/
The getDescriptionLines method needs to be public, despite technically being a helper method. Users of my library could start using the method and I can never get rid of it. It also needs to be documented.
Line wrapping would either look broken or needs to be implemented manually in getDescriptionLines.
Possible Solutions
The first and third problem could be solved by somehow making AutoIndentWriter and friends aware of the fact that * should be treated as indentation in certain contexts.
The second problem could be solved by a new function, e.g. lines, or an option, e.g. split:
I think improving AutoIndentWriter would be the simplest. I wonder if the idea should be to relax the definition of indentation to include "all from left edge" not "all whitespace from left edge"?
that's a good point. Maybe we should simply add a feature to the indent writer that indicates what the indent string should be, as an override? Or, maybe that's just on the normal writer?
Description
I am looking for an elegant solution for generating JavaDocs, or in general, multi-line strings where each line begins with some characters that are not necessarily whitespace.
For example, if someone sets the description for something to be a multiline string:
I want to generate the following doc comment:
Workaround
My current solution looks like this:
foo
provides two getters, one for the plain description, the other is a helper for splitting that into lines:There are two problems with this solution:
The
separator
in the template duplicates the indent. This is confusing and becomes worse when indenting more:The
getDescriptionLines
method needs to bepublic
, despite technically being a helper method. Users of my library could start using the method and I can never get rid of it. It also needs to be documented.Line wrapping would either look broken or needs to be implemented manually in
getDescriptionLines
.Possible Solutions
The first and third problem could be solved by somehow making
AutoIndentWriter
and friends aware of the fact that*
should be treated as indentation in certain contexts.The second problem could be solved by a new function, e.g.
lines
, or an option, e.g.split
:The text was updated successfully, but these errors were encountered: