<dependency>
<groupId>org.immutables</groupId>
<artifactId>value</artifactId>
<version>2.8.7</version>
</dependency>
@Value.Immutable
public abstract class DateValue {
public abstract int getYear();
public abstract int getMonth();
public abstract int getDay();
}
public class Main {
public static void main(String[] args) {
DateValue date = ImmutableDateValue.builder()
.year(2022)
.month(12)
.day(25)
.build();
System.out.println(date);
}
}
DateValue{year=2022, month=12, day=25}