问题标签 [auto-value]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
482 浏览

java - 如何将 @AutoFactory 与 @AutoValue 类一起使用?

假设我有一个简单的 AutoValue 类:

现在我想要一个工厂,所以每次我想要一个 Foo 时我都不需要通过 commonDep。如果这不是 AutoValue 类,我可以通过注释 CommonDependency 来轻松地使用 AutoFactory @Provided

你知道让这两个代码生成器一起工作的方法吗?

0 投票
3 回答
2016 浏览

java - 如何使用 AutoValue 解析 JSON 结构为对象数组?

我有这个 JSON 正文:

我的pojoItem

我的pojoItemList

我有AutoValueGsonFactory

我正在使用带有 RxJava 的 Retrofit。我得到了这个例外:

java.lang.IllegalStateException:应为 BEGIN_OBJECT 但为 BEGIN_ARRAY

如何设置我的 POJO 以将 JSON 读取为对象数组而不是集合?

0 投票
0 回答
449 浏览

java - 实体中的值对象列不是在启动时创建的

我正在将 Spring Boot 与 Spring Data 和 H2 in-memory db 一起使用,并想尝试在任何地方使用值对象而不是字符串,我发现了这个简洁的库:AutoValue来创建值对象。所以这是我的实体:

这是其中一个值对象(由于 AutoValue,它们都很相似):

当我检查我的数据库时,没有对象值的列: 无列

我该如何解决?

EDIT1:这是 AddressTest 确认 AutoValue 实际上创建字段并且工作正常:

编辑2:状态为值对象:

0 投票
1 回答
3197 浏览

java - 如何使用构建器复制/转换 AutoValue 对象

我最近在玩 builder 的 auto-value。我处于这种情况,假设我必须将现有对象转换为具有一些属性的新对象得到更新。示例代码在这里:

注意我写了一个newBuilder方法,这样我就可以像这样进行转换:

是的,我可以newBuilder这样写:

但是应该有更好的方法,尤其是在处理现实生活中的复杂对象时。这样的事情要好得多:

不幸的是,生成的构造函数Builder(SomeObject)是私有的,我找不到任何对它的引用。

那么你对这个问题有什么看法呢?

AutoValue 版本是1.4-rc2. 提前致谢。

0 投票
1 回答
1113 浏览

android - 带有接口错误的 Auto-value-gson,注册 InstanceCreator?

我有一个看起来像这样的接口类。

以及一个使用 TypeAdapterHuman实现的类。@AutoValue

当我从我们的 API 中提取数据时,我收到了这个错误。

无法为接口调用无参数构造函数.....物种。向 Gson 注册此类型的 InstanceCreator 可能会解决此问题。

我一直在想办法解决这个问题,但运气不佳。

我找到了一些类似Serialize And Deserialize Interfaces的资源,但它们不使用 @AutoValue 或 auto-value-gson,所以不知道如何将所有内容放在一起。

任何帮助将不胜感激!

0 投票
4 回答
1841 浏览

android - Retrofit 的继承调用失败,没有参数

我有这个看起来像这样的基本抽象类。

然后我的人类班看起来像这样。

E/com.service.androidbrain.util.networking.RetrofitCallback.onFailure:无法调用没有参数的公共 com.service.example.models.Species()

但是由于某种原因,我收到了这个错误,我不明白发生了什么,知道吗?

0 投票
0 回答
1246 浏览

spring - Jackson + Autovalue Builder bean验证

我有以下EventDTO 类:

验证适用于type和属性,当有效负载不正确时date,Jackson 会按预期抛出一个。JsonMappingException不幸的是,返回的错误消息text/plain类似于: JsonMappingException: Can not construct instance of project.dto.AutoValue_Event$Builder, problem: Missing required properties: type

有没有办法处理这些验证错误并返回一个明确的 json 错误对象?

我发现这篇文章 可以捕获异常并返回显式 json,但我无法在反序列化失败的字段上映射自定义错误消息(我不想解析消息异常以了解哪个字段不正确)。任何想法?

0 投票
2 回答
2589 浏览

maven - 如何让 IntelliJ IDEA 识别构建时生成的源?

我做了一个小的 zip 示例来说明这个问题。

我在项目中有来自AutoValue 示例的 Animal 类和一个 maven pom 文件来进行代码生成和编译。见下文。

运行mvn clean install效果很好,并将所有内容生成并编译为target/classes

在此处输入图像描述

问题是 IntelliJ 无法识别AutoValue_Animal

在此处输入图像描述

那么如何让 IntelliJ IDEA 识别构建时生成的源呢?

* 最好不需要更改 IDEA 的特定设置,以保持开发环境围绕 Maven 整合。

班级:

pom.xml:

0 投票
0 回答
145 浏览

code-generation - 在同一个项目中同时使用 @AutoMatter 和 @AutoValue

最近我遇到了在项目中必须同时使用@AutoMatter 和@AutoValue 来生成代码的情况。但是,这不起作用,因为没有为带注释的类(@Automatter)之一生成代码。如果这是一个编译器插件,为什么它不起作用?

0 投票
1 回答
2095 浏览

android - Android Gradle annotationProcessor 在父模块中不可用

我有以下设置:

项目A build.grade:

ProjectB build.gradle:

在实施ParcelableSomeClass的 ProjectA 中

AutoValue 不会在 AutoValue_SomeClass 中生成任何 Parcelable 相关的方法。

但是,如果我将 auto-value-parcel annotationProcessor 直接包含到 ProjectA 中,问题就解决了。

项目A build.grade:

谁能解释auto-value-parcelannotationProcessor 是如何从 ProjectA 中排除的?