EipAnnotationProcessor.java 文件源码

java
阅读 25 收藏 0 点赞 0 评论 0

项目:Camel 作者:
private void processValue(RoundEnvironment roundEnv, TypeElement originalClassType, TypeElement classElement, VariableElement fieldElement, String fieldName, XmlValue value,
    Set<EipOption> eipOptions, String prefix, String modelName) {
    Elements elementUtils = processingEnv.getElementUtils();

    // XmlValue has no name attribute
    String name = fieldName;

    if ("method".equals(modelName) || "tokenize".equals(modelName) || "xtokenize".equals(modelName)) {
        // skip expression attribute on these three languages as they are solely configured using attributes
        if ("expression".equals(name)) {
            return;
        }
    }

    name = prefix + name;
    TypeMirror fieldType = fieldElement.asType();
    String fieldTypeName = fieldType.toString();

    String defaultValue = findDefaultValue(fieldElement, fieldTypeName);
    String docComment = findJavaDoc(elementUtils, fieldElement, fieldName, name, classElement, true);
    boolean required = true;
    // metadata may overrule element required
    required = findRequired(fieldElement, required);

    boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;

    EipOption ep = new EipOption(name, "value", fieldTypeName, required, defaultValue, docComment, deprecated, false, null, false, null);
    eipOptions.add(ep);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号