问题标签 [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.
java - 如何将 @AutoFactory 与 @AutoValue 类一起使用?
假设我有一个简单的 AutoValue 类:
现在我想要一个工厂,所以每次我想要一个 Foo 时我都不需要通过 commonDep。如果这不是 AutoValue 类,我可以通过注释 CommonDependency 来轻松地使用 AutoFactory @Provided
。
你知道让这两个代码生成器一起工作的方法吗?
java - 如何使用 AutoValue 解析 JSON 结构为对象数组?
我有这个 JSON 正文:
我的pojoItem
:
我的pojoItemList
:
我有AutoValueGsonFactory
:
我正在使用带有 RxJava 的 Retrofit。我得到了这个例外:
java.lang.IllegalStateException:应为 BEGIN_OBJECT 但为 BEGIN_ARRAY
如何设置我的 POJO 以将 JSON 读取为对象数组而不是集合?
java - 实体中的值对象列不是在启动时创建的
我正在将 Spring Boot 与 Spring Data 和 H2 in-memory db 一起使用,并想尝试在任何地方使用值对象而不是字符串,我发现了这个简洁的库:AutoValue来创建值对象。所以这是我的实体:
这是其中一个值对象(由于 AutoValue,它们都很相似):
我该如何解决?
EDIT1:这是 AddressTest 确认 AutoValue 实际上创建字段并且工作正常:
编辑2:状态为值对象:
java - 如何使用构建器复制/转换 AutoValue 对象
我最近在玩 builder 的 auto-value。我处于这种情况,假设我必须将现有对象转换为具有一些属性的新对象得到更新。示例代码在这里:
注意我写了一个newBuilder
方法,这样我就可以像这样进行转换:
是的,我可以newBuilder
这样写:
但是应该有更好的方法,尤其是在处理现实生活中的复杂对象时。这样的事情要好得多:
不幸的是,生成的构造函数Builder(SomeObject)
是私有的,我找不到任何对它的引用。
那么你对这个问题有什么看法呢?
AutoValue 版本是1.4-rc2
. 提前致谢。
android - 带有接口错误的 Auto-value-gson,注册 InstanceCreator?
我有一个看起来像这样的接口类。
以及一个使用 TypeAdapterHuman
实现的类。@AutoValue
当我从我们的 API 中提取数据时,我收到了这个错误。
无法为接口调用无参数构造函数.....物种。向 Gson 注册此类型的 InstanceCreator 可能会解决此问题。
我一直在想办法解决这个问题,但运气不佳。
我找到了一些类似Serialize And Deserialize Interfaces的资源,但它们不使用 @AutoValue 或 auto-value-gson,所以不知道如何将所有内容放在一起。
任何帮助将不胜感激!
android - Retrofit 的继承调用失败,没有参数
我有这个看起来像这样的基本抽象类。
然后我的人类班看起来像这样。
E/com.service.androidbrain.util.networking.RetrofitCallback.onFailure:无法调用没有参数的公共 com.service.example.models.Species()
但是由于某种原因,我收到了这个错误,我不明白发生了什么,知道吗?
spring - Jackson + Autovalue Builder bean验证
我有以下Event
DTO 类:
验证适用于type
和属性,当有效负载不正确时date
,Jackson 会按预期抛出一个。JsonMappingException
不幸的是,返回的错误消息text/plain
类似于:
JsonMappingException: Can not construct instance of project.dto.AutoValue_Event$Builder, problem: Missing required properties: type
。
有没有办法处理这些验证错误并返回一个明确的 json 错误对象?
我发现这篇文章 可以捕获异常并返回显式 json,但我无法在反序列化失败的字段上映射自定义错误消息(我不想解析消息异常以了解哪个字段不正确)。任何想法?
maven - 如何让 IntelliJ IDEA 识别构建时生成的源?
我做了一个小的 zip 示例来说明这个问题。
我在项目中有来自AutoValue 示例的 Animal 类和一个 maven pom 文件来进行代码生成和编译。见下文。
运行mvn clean install
效果很好,并将所有内容生成并编译为target/classes
:
问题是 IntelliJ 无法识别AutoValue_Animal
:
那么如何让 IntelliJ IDEA 识别构建时生成的源呢?
* 最好不需要更改 IDEA 的特定设置,以保持开发环境围绕 Maven 整合。
班级:
pom.xml:
code-generation - 在同一个项目中同时使用 @AutoMatter 和 @AutoValue
最近我遇到了在项目中必须同时使用@AutoMatter 和@AutoValue 来生成代码的情况。但是,这不起作用,因为没有为带注释的类(@Automatter)之一生成代码。如果这是一个编译器插件,为什么它不起作用?
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-parcel
annotationProcessor 是如何从 ProjectA 中排除的?