detected at #13407 (comment)
PropertiesMacro.java depends on DetailNode, that is our internal class for javadoc tree.
there should be no dependency on DetailNode, all this data should be taken before and stored in some POJO objects, and serializer/formatter to xdoc sink just operates on simple objects to put data in final stream.
The same as we have in release notes. One module create structure/object by some logic, Another module do not care how value a calculated and simply place them in result file and care on formatting only.
example of POJO:
class PropertyDetails {
String name;
String version;
String tokens;
.....
}
example: https://github.com/checkstyle/contribution/blob/master/releasenotes-builder/src/main/java/com/github/checkstyle/globals/ReleaseNotesMessage.java
this helps to formatter(xdoc file creator) to simply put content where it is required.
Whole business logic on how to create PropertyDetails should in ClassAndPropertiesSettersJavadocScraper.
detected at #13407 (comment)
PropertiesMacro.java depends on DetailNode, that is our internal class for javadoc tree.
there should be no dependency on DetailNode, all this data should be taken before and stored in some POJO objects, and serializer/formatter to xdoc sink just operates on simple objects to put data in final stream.
The same as we have in release notes. One module create structure/object by some logic, Another module do not care how value a calculated and simply place them in result file and care on formatting only.
example of POJO:
example: https://github.com/checkstyle/contribution/blob/master/releasenotes-builder/src/main/java/com/github/checkstyle/globals/ReleaseNotesMessage.java
this helps to formatter(xdoc file creator) to simply put content where it is required.
Whole business logic on how to create PropertyDetails should in ClassAndPropertiesSettersJavadocScraper.