java - Pluggable Annotation Processor API 可以检索源代码注释吗?

标签 java annotations comments metaprogramming

我正在使用带有 Java6+ 的可插入注释处理 API 来自动创建一些部署 XML 文件。这些 XML 文件的一部分包含对象的描述。描述总是与类本身关联的 Javadoc 的内容相同。我可以强制注释成为@Block 注释的一个字段,但会重复信息。有没有办法在注解处理过程中获取类/类型注解的内容?

在这个例子中,我想在注释处理期间得到“我的 block 的一个很好的描述”。

/**
* A nice description of my block
**/
@Block
public class CustomBlock {
}

最佳答案

我似乎总能在 SO 上发帖后立即找到答案。

为了将来引用,这是解决方案

import java.util.Set;
import javax.annotation.processing.AbstractProcessor;
import javax.annotation.processing.RoundEnvironment;
import javax.lang.model.element.TypeElement;

public class CustomAnnotationProcessor extends AbstractProcessor
{
    @Override
    public boolean process(Set<? extends TypeElement> set, RoundEnvironment re)
    {
 
        // use the protected member, processingEnv
        
        String comment = processingEnv.getElementUtils().getDocComment(anyElement);
    }
}

关于java - Pluggable Annotation Processor API 可以检索源代码注释吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7932336/

相关文章:

java - 顶级类或接口(interface)可以有 "static"修饰符吗?

java - JUnit5-木星 : Composed ( ="meta") annotation does not resolve to annotation definition

java - Annotation#annotationType() 有什么用?

java - 什么会导致 Java 编译器在解析注释时失败?

php - 在 PHP 中制作评论部分的安全方法

c# - 禁用 Visual Studio 2015 注释对齐?

java - 无法构建 nosqlunit-mongodb 项目

java - 使用 Spring Security 核心插件在 Grails 应用程序上下文之外获取登录用户信息

java - 如何创建单向关系,其中关系由子实体拥有,但父实体是定义关系的位置

Swift Parse 将 MapView 中的注释保存为 PFGeoPoint