package project3; import java.util.*; public class BookCatalog { private ArrayList list; public BookCatalog() { list = new ArrayList(); } // return true if OK, false if already in list public boolean addBook(Book book) { Book oldBook; oldBook = locateByTitle(book.getTitle()); if (oldBook != null) return false; list.add(book); sortList(); return true; } public String getFullList() { StringBuffer sb = new StringBuffer(); for (int i = 0; i < list.size(); i++) sb.append(list.get(i).getLongDescription() + "\n"); return sb.toString(); } public String getCompactList() { StringBuffer sb = new StringBuffer(); for (int i = 0; i < list.size(); i++) sb.append(list.get(i).getShortDescription() + "\n"); return sb.toString(); } public String getCompactListPopular() { StringBuffer sb = new StringBuffer(); for (int i = 0; i < list.size(); i++) if (list.get(i) instanceof PopularBook) sb.append(list.get(i).getShortDescription() + "\n"); return sb.toString(); } public Book locateByTitle(String s) { for (int i = 0; i < list.size(); i++) if (list.get(i).getTitle().equals(s)) return list.get(i); return null; } private void sortList() { Collections.sort(list); } }