You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Alessandro Solimando (Jira)" <ji...@apache.org> on 2021/09/20 08:28:00 UTC

[jira] [Commented] (CALCITE-4787) Evaluate use of Immutables instead of ImmutableBeans

    [ https://issues.apache.org/jira/browse/CALCITE-4787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17417522#comment-17417522 ] 

Alessandro Solimando commented on CALCITE-4787:
-----------------------------------------------

I am not familiar with GraalVM, but I am very fond of immutables library, I have used it with success in several past projects, it has always helped reducing boilerplate, made code clearer and safer (for both writing the classes and for using them).

Additional good features: it also plays very well with JSON serialization out of the box (tried with Jackson but it supports GSON and others), and it's a compile time library, so no additional dependencies at runtime, and no particular setup effort to build the project with recent IDEs.

So a big +1 from me on the suggested adoption.

> Evaluate use of Immutables instead of ImmutableBeans
> ----------------------------------------------------
>
>                 Key: CALCITE-4787
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4787
>             Project: Calcite
>          Issue Type: Improvement
>            Reporter: Jacques Nadeau
>            Priority: Major
>
> In the creation of CALCITE-3328, [Immutables|https://immutables.github.io/] was discussed as an alternative to a custom implementation. This ticket is to evaluate the impact to the codebase of changing. Ideally, introduction of immutables would both add flexibility and reduce the amount of code associated with these classes.
> Immutables works via annotation processor which means that it is should be relatively seamless to build systems and IDEs.
> The switch would also make it easier to work with these objects types in the context of aot compilation tools like GraalVM.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)