|
|
- /*
- * 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<String> findBookTitlesByAuthor(String author){
- Set<Book> books = dataTier.getAllBooks();
- List<String> matchingTitles = new LinkedList<String>();
- for(Book b : books){
- if(includes(b.getAuthor(), author)) matchingTitles.add(b.getTitle());
- }
- return matchingTitles;
- }
-
- public long findNumberOfBooksInYear(int year){
- int bookNum = 0;
- Set<Book> books = dataTier.getAllBooks();
- for(Book b : books){
- if(b.getPublicationYear() == year) bookNum += 1;
- }
- return bookNum;
- }
-
- }
|