import java.util.ArrayList;
public class GestorLibretas
{
//declaracion de atributos.
private ArrayList<Libreta> Libretas;
private ArrayList<Nota> Notas;
int i=0;
public GestorLibretas()
{
}
public ArrayList<Libreta> getLibretas()
{
return Libretas;
}
public ArrayList<Nota> getNotas()
{
return Notas;
}
/**
* Inicializacion de GestorLibretas.
*/
public void setLibreta (ArrayList<Libreta> Libretas)
{
this.Libretas = Libretas;
this.Notas = Notas;
}
/**
* @return El numero de Libretas que tiene actualmente el Gestor.
*/
public int numeroDeLibretas()
{
return Libretas.size();
}
/**
* @return El numero de Notas que tiene actualmente el Gestor.
*/
public int numeroDeNotas()
{
return Notas.size();
}
/**
* Introducción de Libretas en el Gestor por su TiTulo.
*/
public void anadirLibreta(Libreta NuevaLibreta){
int largoArreglo=0;
if(Libretas!=null){
largoArreglo = Libretas.size();
}
boolean isRepeated = false;
for (int i = 0; i<largoArreglo; i++)
{
if (Libretas.get(i).getTituloLibreta().equals(NuevaLibreta.getTituloLibreta()))
{
isRepeated = true;
}
}
if (isRepeated == false)
{
Libretas.add(NuevaLibreta);
System.
out.
println("Se ha introducido la Libreta de Titulo: " +NuevaLibreta.
getTituloLibreta()); }
else
{
System.
out.
println("Ya existe una Libreta con ese TiTulo: " +NuevaLibreta.
getTituloLibreta()); }
}
/** Añade Notas a ArrayList "Notas", mediante la introduccion del TiTulo de la Nota y el Titulo de Libreta.
* Comprueba que no existe una Nota de igual nombre.
* Si no existe ese nombre devuelve "True", en caso de que ya existiera devuelve "False" y
* un mensaje de error.
*/
public void anadirNota(Nota TiTulo,Libreta TituloLibreta)
{
if(Libretas.contains(TituloLibreta)== false && Notas.contains(TiTulo) == false)
{
System.
out.
println("Este titulo de libreta y/o de Nota no existe"); }
else
{
System.
out.
println("Se ha añadido la Nota"); Notas.add(TiTulo);
}
}
/**
* Elimina Notas por su TiTulo y por el Titulo de Libreta.
*/
public void eliminarNota(Nota TiTulo,Libreta TituloLibreta)
{
if(Libretas.contains(TituloLibreta)== false && Notas.contains(TiTulo) == false)
{
System.
out.
println("El Titulo de libreta y/o de Nota no existe"); }
else
{
System.
out.
println("Se ha borrado la Nota"); Notas.remove(TiTulo);
}
}
/** Este metodo elimina una Libreta por su Titulo.
*
*/
public void eliminarLibreta(Libreta EliminaLibreta){
int largoArreglo=0;
if(Libretas!=null){
largoArreglo = Libretas.size();
}
boolean isRepeated = false;
for (int i = 0; i<largoArreglo; i++)
{
if (Libretas.get(i).getTituloLibreta().equals(EliminaLibreta.getTituloLibreta()))
{
isRepeated = true;
Libretas.remove(EliminaLibreta);
System.
out.
println("Se ha borrado la Libreta de Titulo: " +EliminaLibreta.
getTituloLibreta()); }
else
{
System.
out.
println("La Libreta no existe"); }
}
}
/**
* Muestra un listado de las Libretas del GestorLibretas y su Titulo de libreta.
*/
public void verListaLibretasPorTitulo()
{
for (int i = 0; i<Libretas.size(); i++)
{
Libreta unaLibreta = Libretas.get(i);
System.
out.
println("Libreta nº:" +i
); System.
out.
println("Titulo:"+unaLibreta.
getTituloLibreta()); }
System.
out.
println("--------------------------"); }
/**Muestra una libreta por Titulo.
*/
public ArrayList<Libreta> getLibretaPorTitulo(Libreta TituloLibreta)
{
//Se crea una lista vacía
ArrayList<Libreta> resultado = new ArrayList<Libreta>();
for (int i=0; i<Libretas.size(); i++)
{
Libreta Lib1 = Libretas.get(i);
//Compara el nombre buscado con los nombres de las libretas existentes.
if (Lib1.getTituloLibreta().equals(TituloLibreta))
{
resultado.add(Lib1);
}
}
//devuelve la lista de coincidencias.
return resultado;
}
/**Busca el contenido de una Libreta por su Titulo de libreta.
* Introduzca el Titulo de Libreta.
*/
public void getContenido(Libreta TituloLibreta)
{
//Se crea una lista vacía
ArrayList<Libreta> resultado = new ArrayList<Libreta>();
for (int i=0; i<Libretas.size(); i++)
{
Libreta lib1 = Libretas.get(i);
//compara el titulo buscado con los titulos existentes.
if (lib1.getTituloLibreta().equals(TituloLibreta))
{
resultado.add(lib1);
}
lib1.imprimirContenidoLibreta();
}
}
/**Busca una Titulo de una Nota por un Titulo de Libreta.
* Introduzca el Titulo de Libreta.
*/
public void getTiTuloNota(Libreta TituloLibreta)
{
//Se crea una lista vacía
ArrayList<Libreta> resultado = new ArrayList<Libreta>();
for (int i=0; i<Libretas.size(); i++)
{
Libreta lib1 = Libretas.get(i);
Nota unaNota = Notas.get(i);
//compara el titulo buscado con los titulos existentes.
if(Libretas.contains(TituloLibreta) == false)
{
System.
out.
println("Esta Libreta no existe"); }
else
{
System.
out.
println("Titulo de Notas:"+unaNota.
getTiTulo()); }
}
}
/**Busca una Titulo de una Libreta por un Titulo de Nota.
* Introduzca el Titulo de Nota.
*/
public void getTituloLibreta(Nota TiTuloNota)
{
//Se crea una lista vacía
ArrayList<Libreta> resultado = new ArrayList<Libreta>();
for (int i=0; i<Libretas.size(); i++)
{
Libreta lib1 = Libretas.get(i);
Nota unaNota = Notas.get(i);
//compara el titulo buscado con los titulos existentes.
if(Notas.contains(TiTuloNota) == false)
{
System.
out.
println("Esta Nota no existe"); }
else
{
System.
out.
println("Titulo de Libreta:"+lib1.
getTituloLibreta()); }
}
}
/**
* Imprimir por pantalla el contenido del GestorLibretas.
*/
public void imprimirContenidoGestorLibretas()
{
System.
out.
println("##########################################"); System.
out.
println("# Libreta/s:" +Libretas
); System.
out.
println("# Nota/s:" +Notas
); System.
out.
println("##########################################"); }
/**
* Imprimir por pantalla las estadisticas del Gestor.
*/
public void EstadisticasGestor()
{
int indice=Libretas.size();
{
System.
out.
println("El Gestor contiene " + indice
+ " Libretas"); }
}
}