DTO as a record
lou
Posted on November 6, 2022
With DTOs we're dealing with immutable data more often than not, which means that once an object is created, we cannot change its content.
To accomplish this in Java, we create a class with private, final fields and public accessors.
Take a SpaceShipDTO class for example
final class SpaceShipDTO {
final String name;
final String description;
final int weapons;
public SpaceShip(String name, String description, int weapons) {
this.name = name;
this.description = description;
this.weapons = weapons;
}
String getName() { return name; }
double getDescription() { return description; }
double getWeapons() { return weapons; }
}
We can easily replace this with a record
record SpaceShipDTO(String name, String description, int weapons){ }
This record automatically creates 3 private final fields, public accessor methods, a constructor and implementations of equals(), hashCode(), and toString() methods, all generated by the Java compiler.
💖 💪 🙅 🚩
lou
Posted on November 6, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.