record-builder
javawriter
record-builder | javawriter | |
---|---|---|
35 | 10 | |
653 | 10,693 | |
- | 0.3% | |
7.3 | 6.2 | |
26 days ago | 6 days ago | |
Java | Java | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
record-builder
-
JEP Draft – Derived Record Creation (Preview) – Java
The problem with this approach is that the people will have to build crutches like https://github.com/Randgalt/record-builder and by the time Java adds missing features all the codebases will be forever polluted with legacy workarounds that nobody will dare to remove because of backwards compatibility.
It also hinders adoption of new features as people will prefer to maintain consistency in their codebases.
-
Any library you would like to recommend to others as it helps you a lot? For me, mapstruct is one of them. Hopefully I would hear some other nice libraries I never try.
Record builder is pretty good for making builders for your Java 17 records
-
Useful & Unknown Java Libraries - Piotr's TechBlog
I always have to bring up RecordBuilder simply because of the included Withers and it being a source generator instead of the Lombok weirdness.
-
How to use Java Records
The above is not particularly user-friendly. Luckily compiler plugins can provide the missing feature, most notably RecordBuilder:
-
Named Parameters in Java
For records, instead of lombok you can use https://github.com/Randgalt/record-builder which is a valid annotation processor and will not break on JDK changes
-
has anyone written custom annotations using Lombok ?
In this particular case you can generate the builder with something like https://github.com/Randgalt/record-builder that is both valid java and lombok-like enough
-
I made a java client for the todoist api
Records + Record Builder or immutables + the trick to hide the implementing class w/sealed are your friend. Both the mutability and naming conventions this generates are vomitus.
-
"With" for records -- Brian Goetz
Did you use https://github.com/Randgalt/record-builder ?
-
What's your top Java pet peeve?
Try my annotation processor. It generates withers. https://github.com/Randgalt/record-builder
-
Stay with Java(+Spring) or pivot towards Go/Python?
I personally don't use that one much, but you could use this library instead.
javawriter
-
Supercharge Your Spring Boot Services with Multiple Data Sources! Introducing spring-multi-data-source!
javapoet (for generating code in Java): square/javapoet: A Java API for generating .java source files. (github.com)
-
Supercharge Your Spring Boot Services with Multiple Data Sources! Introudcing spring-multi-data-source!
Resources: 1. Spring Boot Official Documentation on configuring multiple data sources: Spring Boot Reference Documentation 2. javapoet (for generating code in Java): square/javapoet: A Java API for generating .java source files. (github.com) 3. Guide to Annotation Processing in Java: Java Annotation Processing and Creating a Builder | Baeldung
-
Any library you would like to recommend to others as it helps you a lot? For me, mapstruct is one of them. Hopefully I would hear some other nice libraries I never try.
Javapoet. This helped me a lot, because i wrote two generators, one for one employer, who don't like dynamic generators, so the first was to generate mappers like mapstruct does; from model to pojos and viceversa. The second one was a static testing pojo factory generator; this last one i made public (it's pretty basic and now we have projects like instancio and podam) its name is mother-factory.
- Generare de cod pentru Java
- Any news on the Classfile API?
-
Proposed: A new CMake scripting language usable alongside existing one
> can you show an example of how you'd parse, say, a .java.in
The canonical way to do such a thing is through the java annotation processing api [1] and using a tool like java poet [2]. Before you did that, you'd probably decide if you wanted to instead use bytecode generation with a library like bytebuddy [3]
But, assuming for some reason, you wanted to torture yourself and actually consume a java.in file and apply a regex, then you'd probably pull out the "maven-replacer-plugin" [4] and configure that for the task at hand. (or use your favorite templating language plugin. There's a million of them).
Though, to be fair, this really isn't something that comes up in regular java programming due to the nature of the ecosystem. Anything you'd want to codegen likely already has a library and anything you didn't would receive (legitimate) push back.
[1] https://www.baeldung.com/java-annotation-processing-builder
[2] https://github.com/square/javapoet
[3] https://bytebuddy.net/
[4] https://github.com/beiliubei/maven-replacer-plugin
-
Scaffolding multiple java files
I’ve used a maven archetype before with velocitemplate. That solution was iffy so we then migrated to using https://github.com/square/javapoet to generate the java source and write it to the desired files. I think we also used the google formatter library so the files would be formatted after generating.
-
20+ Trending and Popular Java Open Source Project
JavaPoet
- May be a stupid question: Why are computer programs that modify themselves so uncommon? I can't really think of a use case, but does the phenomenon have a name?
What are some alternatives?
MapStruct - An annotation processor for generating type-safe bean mappers
FreeBuilder - Automatic generation of the Builder pattern for Java
Lombok - Very spicy additions to the Java programming language.
Joda-Beans - Java library to provide an API for beans and properties.
awesome-annotation-processing - A curated list of resources related to the Java annotation processing API (JSR 269)
SDMLib
core - An advanced and highly optimized Java library to build frameworks: it's useful for scanning class paths, generating classes at runtime, facilitating the use of reflection, scanning the filesystem, executing stringified source code and much more...
parceler - :package: Android Parcelables made easy through code generation.
Immutables - Annotation processor to create immutable objects and builders. Feels like Guava's immutable collections but for regular value objects. JSON, Jackson, Gson, JAX-RS integrations included
NetworkParser - Framework for serialization to Json, XML, Byte and Excel, therefore an oviparous wool milk sow J
Jackson JSON Processor - Main Portal page for the Jackson project
ParcelablePlease - Annotation Processor for generating Parcelable code