package com.aluracursos.screenmatch.modelos;
import com.google.gson.annotations.SerializedName;
public class Titulo implements Comparable {
@SerializedName("Title")
private String nombre;
@SerializedName("Year")
private int fechaLanzamiento;
private int duracion;
private boolean incluidoEnElPlan;
private double sumaEvaluaciones;
private int totalEvaluaciones;
public Titulo(String nombre, int fechaLanzamiento, int duracion, boolean incluidoEnElPlan, double sumaEvaluaciones, int totalEvaluaciones) {
this.nombre = nombre;
this.fechaLanzamiento = fechaLanzamiento;
this.duracion = duracion;
this.incluidoEnElPlan = incluidoEnElPlan;
this.sumaEvaluaciones = sumaEvaluaciones;
this.totalEvaluaciones = totalEvaluaciones;
}
public Titulo(String nombre, int fechaLanzamiento) {
this.nombre = nombre;
this.fechaLanzamiento = fechaLanzamiento;
}
public Titulo(){}
public Titulo(TituloOmbd miTituloOmdb) {
this.nombre =miTituloOmdb.title();
this.fechaLanzamiento = Integer.valueOf(miTituloOmdb.year());
this.duracion = Integer.valueOf(miTituloOmdb.runtime().substring(0,2));
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public void setFechaLanzamiento(int fechaLanzamiento) {
this.fechaLanzamiento = fechaLanzamiento;
}
public int getDuracion() {
return duracion;
}
public void setDuracion(int duracion) {
this.duracion = duracion;
}
public boolean isIncluidoEnElPlan() {
return incluidoEnElPlan;
}
public void setIncluidoEnElPlan(boolean incluidoEnElPlan) {
this.incluidoEnElPlan = incluidoEnElPlan;
}
double getSumaEvaluaciones(){
return sumaEvaluaciones;
}
public int getFechaLanzamiento() {
return fechaLanzamiento;
}
public void muestraFichaTecnica() {
System.out.println(" El Tutulo es: " + getNombre());
System.out.println(" La Fecha de Lanzamiento: " + getFechaLanzamiento());
System.out.println(" Duracion en minutos es: " + getDuracion());
System.out.println(" Incliudo en el plan: " +incluidoEnElPlan);
System.out.println(" La evalución del Título es: " +calcularMedia());
}
public void evaluar(double nota){
sumaEvaluaciones += nota;
totalEvaluaciones++;
}
public double calcularMedia(){
return sumaEvaluaciones/totalEvaluaciones;
}
@Override
public int compareTo(Titulo otroTitulo) {
return this.getNombre().compareTo(otroTitulo.getNombre());
}
@Override
public String toString() {
final StringBuilder sb = new StringBuilder("Titulo{");
sb.append("nombre='").append(nombre).append('\'');
sb.append(", fechaLanzamiento=").append(fechaLanzamiento);
sb.append('}');
return sb.toString();
}
}