/* * SD2x Homework #8 * This class represents the Logic Tier in the three-tier architecture. * Implement the appropriate methods for this tier below. */ import java.util.List; import java.util.LinkedList; import java.util.Set; public class LogicTier { private DataTier dataTier; // link to the Data Tier public LogicTier(DataTier dataTier) { this.dataTier = dataTier; } private boolean includes(String author, String search){ for(int i=0; i <= author.length() - search.length(); i++){ if(author.substring(i, i + search.length()).equals(search)) return true; } return false; } public List findBookTitlesByAuthor(String author){ Set books = dataTier.getAllBooks(); List matchingTitles = new LinkedList(); for(Book b : books){ if(includes(b.getAuthor(), author)) matchingTitles.add(b.getTitle()); } return matchingTitles; } public long findNumberOfBooksInYear(int year){ int bookNum = 0; Set books = dataTier.getAllBooks(); for(Book b : books){ if(b.getPublicationYear() == year) bookNum += 1; } return bookNum; } }