add filtri
This commit is contained in:
parent
f76eb62233
commit
c44cf35969
@ -20,7 +20,7 @@ public class Biblioteca{
|
|||||||
Prestito p=Prestito.read(scP);
|
Prestito p=Prestito.read(scP);
|
||||||
while(p!=null){
|
while(p!=null){
|
||||||
try{
|
try{
|
||||||
l=libroSearch(p.getID()); // ricerca del libro
|
l=libroSearchByID(p.getID()); // ricerca del libro
|
||||||
p.setLibro(l); // se il libro esiste viene linkato al prestito
|
p.setLibro(l); // se il libro esiste viene linkato al prestito
|
||||||
l.addPrestito(p); // il prestito viene linkato al libro
|
l.addPrestito(p); // il prestito viene linkato al libro
|
||||||
prestiti.add(p); // il orestito viene agginto alla lista dei prestiti
|
prestiti.add(p); // il orestito viene agginto alla lista dei prestiti
|
||||||
@ -34,7 +34,12 @@ public class Biblioteca{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Libro libroSearch(String id){
|
public Biblioteca(ArrayList<Libro> libri, ArrayList<Prestito> prestiti){
|
||||||
|
this.prestiti=prestiti;
|
||||||
|
this.libri=libri;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Libro libroSearchByID(String id){
|
||||||
Iterator<Libro> iter = libri.iterator();
|
Iterator<Libro> iter = libri.iterator();
|
||||||
boolean trovato=false;
|
boolean trovato=false;
|
||||||
Libro l=null;
|
Libro l=null;
|
||||||
@ -57,6 +62,55 @@ public class Biblioteca{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void printStricoUtente(PrintStream ps){
|
||||||
|
for(Prestito p: prestiti){
|
||||||
|
ps.print(p.toString()+" ");
|
||||||
|
ps.println(p.getLibro().toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Biblioteca filtroLibroByID(String id){
|
||||||
|
ArrayList<Prestito> prestitiFilter=new ArrayList<Prestito>();
|
||||||
|
ArrayList<Libro> libriFilter= new ArrayList<Libro>();
|
||||||
|
Libro l=libroSearchByID(id);
|
||||||
|
libriFilter.add(l);
|
||||||
|
prestitiFilter.addAll(l.getPrestiti());
|
||||||
|
return new Biblioteca(libriFilter, prestitiFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Biblioteca filtroLibroByTitolo(String titolo){
|
||||||
|
ArrayList<Prestito> prestitiFilter=new ArrayList<Prestito>();
|
||||||
|
ArrayList<Libro> libriFilter= new ArrayList<Libro>();
|
||||||
|
for(Libro l: libri)
|
||||||
|
if(l.getTitolo().equals(titolo)){
|
||||||
|
libriFilter.add(l);
|
||||||
|
prestitiFilter.addAll(l.getPrestiti());
|
||||||
|
}
|
||||||
|
return new Biblioteca(libriFilter, prestitiFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Biblioteca filtroLibroByAutore(String autore){
|
||||||
|
ArrayList<Prestito> prestitiFilter=new ArrayList<Prestito>();
|
||||||
|
ArrayList<Libro> libriFilter= new ArrayList<Libro>();
|
||||||
|
for(Libro l: libri)
|
||||||
|
if(l.hasAutore(autore)){
|
||||||
|
libriFilter.add(l);
|
||||||
|
prestitiFilter.addAll(l.getPrestiti());
|
||||||
|
}
|
||||||
|
return new Biblioteca(libriFilter, prestitiFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Biblioteca filtroPrestitoByNome(String nome){
|
||||||
|
ArrayList<Prestito> prestitiFilter=new ArrayList<Prestito>();
|
||||||
|
ArrayList<Libro> libriFilter= new ArrayList<Libro>();
|
||||||
|
for(Prestito p: prestiti)
|
||||||
|
if(p.getNome().equals(nome)){
|
||||||
|
libriFilter.add(p.getLibro());
|
||||||
|
prestitiFilter.add(p);
|
||||||
|
}
|
||||||
|
return new Biblioteca(libriFilter, prestitiFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private ArrayList<Prestito> prestiti;
|
private ArrayList<Prestito> prestiti;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
import java.util.Iterator;
|
||||||
|
|
||||||
public class Libro {
|
public class Libro {
|
||||||
|
|
||||||
@ -32,9 +33,25 @@ public class Libro {
|
|||||||
return autori;
|
return autori;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ArrayList<Prestito> getPrestiti() {
|
||||||
|
return prestiti;
|
||||||
|
}
|
||||||
|
|
||||||
public void addPrestito(Prestito p){
|
public void addPrestito(Prestito p){
|
||||||
prestiti.add(p);
|
prestiti.add(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hasAutore(String autore){
|
||||||
|
String s=null;
|
||||||
|
Iterator<String> iter = autori.iterator();
|
||||||
|
boolean trovato=false;
|
||||||
|
while(iter.hasNext() && !trovato){
|
||||||
|
s=iter.next();
|
||||||
|
trovato=s.equals(autore);
|
||||||
|
}
|
||||||
|
|
||||||
|
return trovato;
|
||||||
|
}
|
||||||
|
|
||||||
public static Libro read(Scanner sc){
|
public static Libro read(Scanner sc){
|
||||||
String id, titolo;
|
String id, titolo;
|
||||||
|
@ -35,6 +35,10 @@ public class Prestito{
|
|||||||
return end;
|
return end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Libro getLibro(){
|
||||||
|
return libro;
|
||||||
|
}
|
||||||
|
|
||||||
public void setEnd(Date end){
|
public void setEnd(Date end){
|
||||||
this.end=end;
|
this.end=end;
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,6 @@ public class Test{
|
|||||||
}
|
}
|
||||||
|
|
||||||
Biblioteca bl1 = new Biblioteca(scP, scL);
|
Biblioteca bl1 = new Biblioteca(scP, scL);
|
||||||
bl1.printStoricoPrestiti(System.out);
|
bl1.filtroPrestitoByNome("Noemi").printStricoUtente(System.out);
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user