Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions src/main/java/com/zipcodewilmington/centrallibrary/Book.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package com.zipcodewilmington.centrallibrary;

public abstract class Book extends LibraryItem {

private String author;
private String genre;
private String publicationDate;
private int pages;

public Book(String author, String genre, String publicationDate, int numberOfPages) {
this.author = author;
this.genre = genre;
this.publicationDate = publicationDate;
this.pages = numberOfPages;

}

public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;

}

public String getGenre() {
return genre;
}
public void setGenre(String genre) {
this.genre = genre;
}

public String getpublication() {
return publicationDate;
}

public void serpublicationDate(String publicationDate) {
this.publicationDate = publicationDate;
}

public int getPages() {
return pages;
}
public void setPages(int pages) {
this.pages = pages;

}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
package com.zipcodewilmington.centrallibrary;


public abstract class LibraryItem {
private int id;
private String title;
private String location;
private boolean isAvailable;

//constructor


public LibraryItem() {

}

public LibraryItem(int id, String title, String location){
this.id = id;
this.title = title;
this.location = location;
this.isAvailable = true;

//getters and setters
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}

public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}

public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}

public boolean isAvailable() {
return isAvailable;
}
public void setAvailable(boolean available) {
isAvailable = available;
}

public void checkOut() {
this.isAvailable = false;
}

public void checkIn() {
this.isAvailable = true;

}

public boolean matchesKeyword(String keyword) {
for (String field : getSearchableFields()) {
if (field != null && field.contains(keyword)) {
return true;
}
}
return false;
}

public abstract double calculateLateFee(int daysLate);
public abstract int getMaxBorrowDays();
public abstract String getItemType();
public abstract String[] getSearchableFields();




}