在 Eclipse 中使用 AutoValue 注解
Using AutoValue Annotations in Eclipse
我正在将 SDK 从 Android 移植到纯 Java 并将 运行 移植到我不理解的 AutoParcel 注释中。
下面是 original class 和一个片段:
@AutoParcel.Builder
public abstract static class Builder {
public abstract Builder id(String id);
...
public abstract SimpleFeature build();
}
public static Builder builder() {
return new AutoParcel_SimpleFeature.Builder();
}
除了最后一个函数,我几乎可以毫无意外地将所有内容移植到 AutoValue,因为我不明白它是什么或它在 AutoValue 中的等价物。
谁能解释一下这是什么,它在 AutoValue 中的等价物是什么?
构建注释允许您使用构建器模式构建不可变的 POJO,例如
SimpleFeature.builder().id("test").build()
等效注释(这并不奇怪,因为 AutoParcel 是 Autovalue 的一个端口,具有 android 特定功能,即 Parcelable)
@AutoValue.Builder
您应该能够在 https://github.com/google/auto/tree/master/value#builders
找到更全面的文档
正如 JohnWowUs 的评论所暗示的,这主要是 Eclipse 问题。
他提到的 link 只是解决方案的一部分,但我不需要将更多的 JAR 放入项目中。在 issue in the AutoValue repo 的帮助下,专门配置 maven-compiler-plugin,将 JDK1.7 设置为目标,将以下部分添加到 pom.xml:
<annotationProcessors>
<annotationProcessor>com.google.auto.value.processor.AutoValueProcessor</annotationProcessor>
</annotationProcessors>
我正在将 SDK 从 Android 移植到纯 Java 并将 运行 移植到我不理解的 AutoParcel 注释中。
下面是 original class 和一个片段:
@AutoParcel.Builder
public abstract static class Builder {
public abstract Builder id(String id);
...
public abstract SimpleFeature build();
}
public static Builder builder() {
return new AutoParcel_SimpleFeature.Builder();
}
除了最后一个函数,我几乎可以毫无意外地将所有内容移植到 AutoValue,因为我不明白它是什么或它在 AutoValue 中的等价物。
谁能解释一下这是什么,它在 AutoValue 中的等价物是什么?
构建注释允许您使用构建器模式构建不可变的 POJO,例如
SimpleFeature.builder().id("test").build()
等效注释(这并不奇怪,因为 AutoParcel 是 Autovalue 的一个端口,具有 android 特定功能,即 Parcelable)
@AutoValue.Builder
您应该能够在 https://github.com/google/auto/tree/master/value#builders
找到更全面的文档正如 JohnWowUs 的评论所暗示的,这主要是 Eclipse 问题。
他提到的 link 只是解决方案的一部分,但我不需要将更多的 JAR 放入项目中。在 issue in the AutoValue repo 的帮助下,专门配置 maven-compiler-plugin,将 JDK1.7 设置为目标,将以下部分添加到 pom.xml:
<annotationProcessors>
<annotationProcessor>com.google.auto.value.processor.AutoValueProcessor</annotationProcessor>
</annotationProcessors>