public record TituloOmdb(String title, String year, String runtime) {
}
public class Titulo implements Comparable{
private String nombre;
private int fechaDeLanzamiento;
private int duracionEnMinutos;
public Titulo(TituloOmdb miTituloOmdb) {
this.nombre = miTituloOmdb.title();
this.fechaDeLanzamiento = Integer.valueOf(miTituloOmdb.year());
this.duracionEnMinutos = Integer.valueOf(miTituloOmdb.runtime().replace(" min",""));
}
public String getNombre() {
return nombre;
}
public int getFechaDeLanzamiento() {
return fechaDeLanzamiento;
}
public int getDuracionEnMinutos() {
return duracionEnMinutos;
}
@Override
public int compareTo(Titulo otroTitulo) {
return this.nombre.compareTo(otroTitulo.nombre);
}
@Override
public String toString() {
return "Película: " + nombre +
" | Año: " + fechaDeLanzamiento +
" | Duración: " + duracionEnMinutos + " minutos";
}
}
public class PrincipalConBusqueda {
public static void main(String[] args) {
Scanner lectura = new Scanner(System.in);
System.out.println("Escriba el nombre de una pelicula:");
String busqueda = lectura.nextLine();
// JSON ficticio simulando respuesta de OMDb
String json = """
{
"Title":"Titanic",
"Year":"1997",
"Runtime":"195 min"
}
""";
System.out.println("Respuesta simulada de la API:");
System.out.println(json);
Gson gson = new GsonBuilder()
.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
.create();
TituloOmdb miTituloOmdb = gson.fromJson(json, TituloOmdb.class);
System.out.println("Datos convertidos a record:");
System.out.println(miTituloOmdb);
Titulo miTitulo = new Titulo(miTituloOmdb);
System.out.println("Objeto final de la aplicación:");
System.out.println(miTitulo);
}
}