lombok key已经注册

时间:2015-04-13 18:49:40

标签: java eclipse eclipse-plugin lombok

我已经在自定义的lombok处理程序上注册了IllegalArgumentException密钥。

@ProviderFor(EclipseAnnotationHandler.class)
public class HandleEntityData extends EclipseAnnotationHandler<EntityData> {

@Override
    public void handle(AnnotationValues<EntityData> annotation,
            Annotation ast,
            EclipseNode annotationNode) {

        handleFlagUsage(
             annotationNode, 
             new ConfigurationKey<FlagUsageType>("lombok.entity.flagUsage", 
                    "Emit a warning or error if @EntityData is used.") {}, 
                        "@EntityData"
        ); 


}

我已经检查过该密钥是唯一的。 所以想知道是否有人有想法为什么?

1 个答案:

答案 0 :(得分:1)

找到我自己的问题的答案。基本上将CONFIGURATION键移动为一个单独的静态常量,以便每次调用handle()时都不会构造它。 (密钥对象的标识似乎回退到Object equals / hashcode。)

@ProviderFor(EclipseAnnotationHandler.class)
public class HandleEntityData extends EclipseAnnotationHandler<EntityData> {

 public final static ConfigurationKey CONFIGURATION_KEY = new ConfigurationKey<FlagUsageType>("lombok.entity.flagUsage", 
                    "Emit a warning or error if @EntityData is used.") {};

@Override
    public void handle(AnnotationValues<EntityData> annotation,
            Annotation ast,
            EclipseNode annotationNode) {

        handleFlagUsage(
             annotationNode, 
             CONFIGURATION_KEYS, 
                        "@EntityData"
        ); 


}