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
Alternatives To Immutables
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Jsonschema2pojo6,051115462 days ago55February 18, 2023190apache-2.0Java
Generate Java types from JSON or JSON Schema and annotate those types for data-binding with Jackson, Gson, etc
Immutables3,3254764929 days ago136June 05, 2023407apache-2.0Java
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
Jsontokotlinclass2,750
10 months ago2August 13, 202234gpl-3.0Kotlin
🚀 Plugin for Android Studio And IntelliJ Idea to generate Kotlin data class code from JSON text ( Json to Kotlin )
Robopojogenerator704
2 months ago10mitKotlin
IntelliJ IDEA/Android studio plugin: Json to Java, Java records and Kotlin POJO (GSON, Logan Square, Jackson, FastJSON, AutoValue, Moshi, Lombok)
Methanol1978a month ago9May 09, 20223mitJava
⚗️ Lightweight HTTP extensions for Java
Httpmocker167
2 years ago3February 26, 20213otherKotlin
HttpMocker is a simple HTTP mocking library written in Kotlin to quickly and easily handle offline modes in your apps
Jmespath Java1379119 months ago7December 04, 202114bsd-3-clauseJava
A Java implementation of JMESPath
Jsontokotlinclass131
3 years agomitJava
Intellij Idea, Android Studio plugin for generating Kotlin data classes from JSON. Helps to avoid writing boilerplate code for model classes. Supports annotations for Gson, Moshi, Jackson.
Javautils111
4 years agoapache-2.0Java
java utils
Easyjson1092910 months ago52September 09, 202214apache-2.0Java
Provides an unified JSON access API, you can adapter any JSON library to Gson, Jackson, FastJson with easyjson。 提供了一个JSON门面库,就像slf4j一样。easyjson本身不做json的操作,完全依赖于底层实现库。可以直接使用Easyjson的API,底层的JSON库随时可切换。也可以使用其中某个json的API,然后通过easyjson适配给其他的json库
Alternatives To Immutables
Select To Compare


Alternative Project Comparisons
Readme

Read full documentation at http://immutables.org

CI

Modern usage style, aka "sandwich"

// Define abstract value type using interface, abstract class or annotation
@Value.Immutable
public interface ValueObject extends WithValueObject {
  // WithValueObject is not yet generated, We extend With* to inherit `with*` method signatures
  String getName();
  List<Integer> getCounts();
  Optional<String> getDescription();

  class Builder extends ImmutableValueObject.Builder {}
  // ImmutableValueObject.Builder will be generated and
  // our builder will inherit and reexport methods as it's own.
  // Static nested Builder will inherit all the public method
  // signatures of ImmutableValueObject.Builder
} 

// Use generated immutable implementation and builder
ValueObject v =
    new ValueObject.Builder()
        .name("Nameless")
        .description("present")
        .addCounts(1)
        .addCounts(2)
        .build();

v = v.withName("Doe");

//fetch values via standard getters
List<Integer> counts = v.getCounts();
Optional<String> description = v.getDescription();

ImmutableValueObject then would not be used outside of generated type. See about this and other generation styles here

License

   Copyright 2013-2023 Immutables Authors and Contributors

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

See releases tab for release history. Archived changelog for earlier releases.

Popular Gson Projects
Popular Jackson Projects
Popular Data Processing Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Java
R
Annotations
Builder
Immutable
Gson
Jackson
Annotation Processor
Immutable Collections