如何在Java中创建单个注释接受多个值

2022-01-17 00:00:00 annotations jira sonarqube java

我有一个名为

@Retention( RetentionPolicy.SOURCE )
@Target( ElementType.METHOD )
public @interface JIRA
{
    /**
     * The 'Key' (Bug number / JIRA reference) attribute of the JIRA issue.
     */
    String key();
}

允许像这样添加注释

@JIRA( key = "JIRA1" )

有没有办法让这种情况发生

is there any way to allow this to happen

@JIRA( key = "JIRA1", "JIRA2", .....  )

原因是,我们目前对测试进行了注释针对 Jira 任务或错误修复,但有时,然后该值将被声纳解析.问题是单个测试涵盖了超过 1 个错误.

the reason is, we currently annotate the test against a Jira task or bug fix, but sometimes, then the value will get parsed by sonar. problem is a single test covers more then 1 bug.

推荐答案

更改您的 key() 函数以返回 String[] 而不是 String 然后您可以使用 String[]

Change your key() function to return String[] rather than String then you can pass various values using String[]

public @interface JIRA {
/**
 * The 'Key' (Bug number / JIRA reference) attribute of the JIRA issue.
 */
String[] key();
}

像下面这样使用它

@JIRA(key = {"JIRA1", "JIRA2"})

相关文章