Son la representación de un objeto o concepto del mundo real que se describe en términos de datos computables, que pueden ser enviados por un protocolo y ser almacenados de forma persistente.
Nuestros modelos solo deben almacenar información para representar objetos o conceptos del mundo real y no deben usarse para otras responsabilidades.
La librería usa clases que implementan la interface Model
con un identificador único de tipo String
para realizar búsquedas, eliminaciones y actualizaciones.
import es.revengenetwork.storage.model.Model;
import org.jetbrains.annotations.NotNull;
public class UserModel implements Model {
private final String id;
private final String name;
private int age;
private Date birthday;
public UserModel(
final @NotNull String id,
final @NotNull String name,
final int age,
final @NotNull Date birthday
) {
this.id = id;
this.name = name;
this.age = age;
this.birthday = birthday;
}
@Override
public @NotNull String id() {
return this.id;
}
public @NotNull String name() {
return this.name;
}
public int age() {
return this.age;
}
public @NotNull Date birthday() {
return this.birthday;
}
}
Estos modelos no requieren un formato específico de almacenamiento. Solo asegúrate de que sus atributos puedan al final representarse como datos primitivos ya que posteriormente lo necesitarás para el proceso de serialización.