Tengo una duda respecto a la annotations, en el video se explica que se utilizan para evitar problemas de coincidencia con los nombres, pero ya aplicamos un método de json para obtener el uppercammelcase, osea que ya aqui las annotations serian redundantes?
package com.alura.screenmatch.modelos;
import com.google.gson.annotations.SerializedName;
public class Titulo implements Comparable<Titulo>{
// @SerializedName("Title")
private String nombre;
// @SerializedName("Year")
private int fechaDeLanzamiento;
private boolean incluidoEnElPlan;
private double sumaDeLasEvaluaciones;
private int totalDeEvaluaciones;
// @SerializedName("Runtime")
private int duracionEnMinutos;
public Titulo(String nombre, int fechaDeLanzamiento) {
this.nombre = nombre;
this.fechaDeLanzamiento = fechaDeLanzamiento;
}
public Titulo(TituloOmdb miTituloOMDB) {
this.nombre = miTituloOMDB.title();
this.fechaDeLanzamiento = Integer.parseInt(miTituloOMDB.year());
this.duracionEnMinutos = Integer.parseInt(miTituloOMDB.runtime().substring(0, 2));
}
public String getNombre() {
return nombre;
}
public int getFechaDeLanzamiento() {
return fechaDeLanzamiento;
}
public boolean isIncluidoEnElPlan() {
return incluidoEnElPlan;
}
public int getDuracionEnMinutos() {
return duracionEnMinutos;
}
public int getTotalDeEvaluaciones() {
return totalDeEvaluaciones;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public void setFechaDeLanzamiento(int fechaDeLanzamiento) {
this.fechaDeLanzamiento = fechaDeLanzamiento;
}
public void setIncluidoEnElPlan(boolean incluidoEnElPlan) {
this.incluidoEnElPlan = incluidoEnElPlan;
}
public void setDuracionEnMinutos(int duracionEnMinutos) {
this.duracionEnMinutos = duracionEnMinutos;
}
public void muestraFichaTecnica(){
System.out.println("Nombre de la película: " + nombre);
System.out.println("Año de lanzamiento: " + fechaDeLanzamiento);
}
public void evalua(double nota){
sumaDeLasEvaluaciones += nota;
totalDeEvaluaciones++;
}
public double calculaMediaEvaluaciones(){
return sumaDeLasEvaluaciones / totalDeEvaluaciones;
}
@Override
public int compareTo(Titulo otroTitulo) {
return this.getNombre().compareTo(otroTitulo.getNombre());
}
@Override
public String toString() {
return "Titulo{" +
"nombre='" + nombre + '\'' +
", fechaDeLanzamiento=" + fechaDeLanzamiento +
", duracionEnMinutos=" + duracionEnMinutos +
'}';
}
}