问题标签 [immutables-library]
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.
jackson - 不可变包装器在杰克逊中作为字符串
我如何杰克逊将包装器类型序列化到字符串和从字符串中序列化?
我从他们网站的两个不同示例中合并了以下内容。但是 HostName 类型被序列化/反序列化为
当我希望它只是字符串时
请注意,我有很多XName 类型,因此使用了 Immutables 包装器。所以我更喜欢一个能减少样板数量的解决方案。
java - 无法使用 Spring Boot 将 JSON 部分反序列化为 Immutables 对象
我有一个读取的 JSON 文件,restTemplate
并且只想将某些字段存储到我的对象中。调用成功,但我的对象不包含来自 JSON 的信息。这是文件,我只对my-channels
对象感兴趣。
我的 pom.xml:
我的 JacksonConfig 禁用丢失字段失败并启用了 kebab-case:
保存我的数据的对象。
我主要使用命令行运行程序:
应用程序编译并运行,但是输出很简单Gist{salesChannels=[]}
(减去整个 spring 默认输出)
java - 包含列表的不可变类在没有列表的情况下不会抛出异常
我有一个类,如果在构建器中未指定名称或内容的情况下尝试构建它,我希望它会引发异常。如果我不设置“名称”会发生这种情况,但如果我不设置“东西”则不会。
有人可以指出我如何强制要求指定列表或使用 Immutables 库将对象添加到列表中吗?
java - 我可以指定要添加到不可变生成类的注释吗?
我有一些使用 Immutables ( https://immutables.github.io/ ) 的代码,它使用如下方法生成一个ImmutableEntity
类:
但是要使用 MongoDB POJO,我需要该方法具有如下注释:
该Entity
接口只定义了一些 getter,我宁愿继续让 Immutables 生成ImmutableEntity
类和方法,如of()
我应该看注解注入吗?
java - Spring boot 的不可变配置
我正在尝试找到一种方法来使用Immutables 库来创建数据类来保存我的 Spring Boot 应用程序的配置。
我的数据配置类是:
而主配置类设置为
我尝试了一些使用其中一个ImmutableAuthConfig
或仅AuthConfig
作为一个字段的变体,但没有任何改善这种情况。配置没有被拾取,并且在应用程序启动后auth
配置的字段仍然存在。null
用传统的 POJO替换AuthConfig
类的内容可以解决问题,但我更喜欢不可变对象。有什么方法可以说服 Spring 与 Immutables 库生成的类进行交互?
java - Android: Dagger 2 interferes with Immutables?
Getting a really strange issue; hopefully you guys can help.
I have been using Immutables library in my android project since a long time and had no issues. The auto-generated files for Immutable objects are located in (as example) build/generated/source/apt/debug/com/package/name/ImmutableClass.java
and the project compiles and works fine.
I recently decided to use Dependency Injection in the same project and started using Dagger 2. I have used Guice in another Java project (non-Android), but never used Dagger before. All of a sudden, I am starting to get weird errors saying that the Immutables class could not be found.
Error: error: cannot find symbol class ImmutableClass
.
I tried removing the @Component
and @Module
that I created and the errors went away. The funny thing is that the file ImmutableClass.java
is still there in the same location as earlier.
Please let me know your thoughts. Thanks.
java - Force Java Immutables to generate toString() for Throwable classes
Is it possible to force Java Immutables annotation processing library to generate toString method for an abstract class which already inherits non-default toString() method?
For example:
And result to be:
RuntimeException inherits toString() from Throwables and what I have seen so far Immutables library skips generating toString() because of that.
java - 如何在 Java `Immutables` 对象的副本中编辑子集合?
给定一个@Value.Immutable
包含不可变对象集合的带注释的类,创建一个新副本的最优雅的方法是什么,其中子对象被修改?
例如,给定一家有员工的公司,如果我想将所有员工姓名设置为大写,这是正确的方法,还是有更简单的方法?
这在我的真实场景中变得相当难以理解,其中正在编辑的属性被埋在距离父节点(公司)三个级别的地方,所以我只是想确保我没有更简单的方法失踪。
java - Immutables 和 Hibernate vladmihalcea jsonb 类型的反序列化异常
我正在使用Immutables和Hibernate Types将对象序列jsonb
化为 PostgreSQL。
我的实体映射如下:
Aggregate
看起来像这样:
我的具体类型为Aggregate
:
从数据库读取时出现以下异常:
我该如何解决这个问题?
mapstruct - 如何仅使用 `mvn clean install` 编译项目而不必随后运行 `mvn install`?
我正在尝试编译同时使用Mapstruct
和的项目Immutables
。解决我的问题的唯一解决方案是运行:
mvn clean compile
-> 编译失败;找不到生成的类Immutables
mvn compile
-> 成功
这对我来说是不可接受的。
我已经尝试过推荐的解决方案,您可以在代码部分看到。我还看过:
- https://github.com/mapstruct/mapstruct/issues/1596
- https://github.com/mapstruct/mapstruct/issues/1270
...
...
...
我希望能够只运行mvn clean compile
才能编译项目。