是否有标准方法来记录Groovy地图属性?

问题描述

在Groovy中是否有记录文档属性的标准方法

对于以下功能,配置包含多个可选属性,例如:

  • ignore
  • dir
  • tags
def publish(Map config) {
  config.ignore ?= true
  // ...
}

我看着What is the standard way to use JavaDoc to document a Map?;但是,这不适用于动态地图。理想情况下,我正在寻找JSDoc的@typedef@property之类的东西。

解决方法

除了将选项添加到您的方法的某些JavaDoc之外,没有真正的方法来记录这些内容...

如果这是需要文档的公共API,则可以转到传递实际参数,也可以创建用于传递这些选项的类,即:

import groovy.transform.ToString
import groovy.transform.Immutable

@ToString
@Immutable
class Options {
    boolean debug = false
    File dir = new File('.')
    List<String> tags = []
}

println new Options()
println new Options(debug: true,dir: new File("/tmp"))
println new Options(tags: ['a','b'])

哪些印刷品

Options(false,.,[])
Options(true,/tmp,[])
Options(false,[a,b])