问题标签 [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.
java - 如何让 micronaut 为 Value.Immutable 类生成 OpenAPI 模式属性?
我使用 Value.Immutable 类作为其余的 api 请求/响应。生成的 OpenAPI 文档不显示不可变类的属性。看起来 OpenAPI 生成器不理解这些 bean,因为不可变抽象定义中没有 getter 和 setter。
当我使用 Value.Immutable 类时,如何正确生成 OpenAPI 文档?
这是一个简单的例子——
Value.Immutable 类:
控制器:
为 City 生成的 OpenAPI 模式没有属性:
如果我将 City.java 更改为不使用不可变对象而是使用 getter/setter,则会生成以下属性:
java - 如何将 java 验证与 immutables.github.io 一起使用
我在我的 SpringBoot 项目中使用http://immutables.github.io 。我添加了 Javax 验证注释以验证类,但它不起作用。我试图这样做:
在这样的控制器主体中:
我的代码不起作用,我无法用这种方式验证类。应该如何在不可变类中实现 javax 验证注解?
java - Java Immutables Polymorphism - 如何使生成的类扩展另一个类?
我正在使用该immutables
库从接口创建不可变对象。但是,我找不到使生成的类相互扩展以使它们具有多态性的方法。
考虑这段代码:
这将生成两个类:Advert
和StudioAdvert
。
我想在其他地方有List<Advert>
作为参数的方法,但它也接受,List<StudioAdvert>
因此我需要这里的多态性。
TLDR:上面的代码不会生成StudioAdvert
扩展Advert
。不过,我希望他们有这种关系。
任何建议表示赞赏。
编辑 1
在我的用例中,假设我有 aList<StudioAdvert>
和 aList<RoomAdvert>
我想传递给同一个函数进行处理。List<Advert>
如果我使用orList<AbstractAdvert>
作为方法的参数,以下方法目前不起作用。
java - JDK 11 模块中的不可变标准语法错误
我有一个项目,我正在尝试使用不可变标准:https ://immutables.github.io/criteria.html
我在 pom.xml 中添加了以下内容:
一切似乎都很好。但是,我在导入和工作时遇到了一些问题。我对工作正常的 Immutables.Value 没有任何问题。当我导入标准 Eclipse 抱怨:
The type org.immutables.criteria.Criteria is not accessible
所以我尝试将模块添加到我的 module-info.java 中,如下所示:
也试过:
我正在使用 Eclipse 建议来自动完成模块名称,因为我真的不知道模块名称应该是什么,但是,当我添加上面的 Eclipse 时说,require 语句中的“-”存在语法错误。所以在这一点上我有点卡住了!如果有人有任何建议,我很想听听他们的意见!
谢谢!!
java - Inner immutable class with mapStruct
We are using Immutables with MapStruct and ran into a problem while converting an entity to dto.
The mapper class
In the cases of error, the issue is exactly the same
I checked the tests for mapstruct with immutables and there is nothing different I see https://github.com/mapstruct/mapstruct/blob/master/integrationtest/src/test/resources/immutablesBuilderTest/mapper/src/main/java/org/mapstruct/itest/immutables/Person.java.
I tried removing serialization statements but no luck. I added some verbose statements which say
And this looks absolutely correct
java - 用 Jackson 序列化 ImmutableMap
我正在尝试使用 Jackson 序列化 ImmutableMap<Dummy, DummyInfo> 。自定义序列化程序是专门为 Dummy 类编写的。其余的默认行为是可以的。它适用于 Dummy 类,但不适用于 ImmutableMap 对象。
序列化器类:
用法:
输出不是看到指定的序列化,而是 ImmutableMap 的默认字符串输出。
javascript - 通过studentId字段过滤唯一学生对象的javascript不可变过滤器
我不熟悉使用类型脚本和不可变对象。我不确定实现这一目标的最佳方法是什么。
我有以下类型的对象
我有一个不可变的学生名单 List students 。由于学生可以完成多个科目,因此我的 studentId 和 StudentName 跨科目重复
如果已经有一个具有相同 studentId 的 Student 对象,我想返回一个只有第一个 Student 的 StudentId 的 List
例子
- studentId、StudentName、活动、主题
- 1,山姆,真,数学
- 2,马克,假,数学
- 1,山姆,真实,英语
- 4、克拉克,真实,英语
我要返回的学生列表不应包括第三行中具有 studentId 1 的 Sam,因为它已经看到了一个 studentId 1
列表中的预期学生对象
- 1,山姆,真,数学
- 2,马克,假,数学
- 4、克拉克,真实,英语
过滤重复的 studentId 并返回由 studentId 唯一的 Student 对象列表的最佳方法是什么。如果学生 ID 重复,则只考虑最先看到的学生对象。
java - 不可变 @Value.Immutable 公共最终字段(而不是 getter)
我主要用 Kotlin 编写代码,但我也从事一个用 Java 编写的项目
我想使用 Immutables 库来避免编写样板代码
我习惯于在没有任何 getter 的情况下访问我的数据类字段(例如config.value
,而不是config.getValue()
)
我无法弄清楚如何使用不可变库来做到这一点。它不断制作私有最终字段
有没有办法生成公共最终字段?
java - Immutables 没有生成类 eclipse
一直在尝试设置 Immutables 库,但尽管遵循指南 Eclipse 似乎没有在 target/generated-sources/annotations 文件夹中生成任何类
这是java编译器的截图->注释处理设置
工厂路径显示根据 Immutables 指南选择了 Immutables value-2.8.2.jar - https://immutables.github.io/immutable.html。
我已经运行了 Project -> Clean 然后 Project -> Build All
我在错误日志中收到错误:Java 注释处理器 org.immutables.processor.ProxyProcessor@63924c86 引发的异常
和相应的堆栈跟踪
我究竟做错了什么?