字符串的Javadoc常量字段值

时间:2014-01-26 12:13:11

标签: java javadoc

我不喜欢Javadoc“Contant Field Values”页面列出字符串常量的方式。

示例:

public static final String REGEXP_PATTERN = "^\\s*$";

在Javadoc页面上,这个常量将列为值^\\s*$,我认为这是完全错误的,应该是^\s*$

javac要求\转义这一事实无关紧要。该字段的 - 如果您问我 - 是^\s*$,这就是Javadoc应该列出的内容。

我有办法实现这个目标吗?

手头的问题是 - 相信与否 - 我们的Javadoc文档也被非Java人员使用。而对于非Java人来说,这是没有意义的。

2 个答案:

答案 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*$";

“\”只是“\”的转义字符 - 没有它,代码将无法编译。