我不喜欢Javadoc“Contant Field Values”页面列出字符串常量的方式。
示例:
public static final String REGEXP_PATTERN = "^\\s*$";
在Javadoc页面上,这个常量将列为值^\\s*$
,我认为这是完全错误的,应该是^\s*$
。
javac要求\
转义这一事实无关紧要。该字段的值 - 如果您问我 - 是^\s*$
,这就是Javadoc应该列出的内容。
我有办法实现这个目标吗?
手头的问题是 - 相信与否 - 我们的Javadoc文档也被非Java人员使用。而对于非Java人来说,这是没有意义的。
答案 0 :(得分:1)
我有办法实现这个目标吗?
您需要通过子类化默认的doclet来创建自己的doclet,通过relevant source code的简要介绍表明您只需要提供自己的ConstantsSummaryWriterImpl
子类getValue(FieldDoc)
重写方法以使用member.constantValue()
代替member.constantValueExpression()
。
要在适当的位置连接此编写器,您还需要子类HtmlDoclet
并覆盖configuration()
以返回您自己的ConfigurationImpl
子类,而后者又返回您自己的子类WriterFactoryImpl
反过来返回自定义常量编写器,最后使用-doclet
选项javadoc
告诉它使用自定义doclet而不是标准doclet。
答案 1 :(得分:0)
public static final String REGEXP_PATTERN = "^\\s*$";
“\”只是“\”的转义字符 - 没有它,代码将无法编译。