Skip to content
Open
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
21 changes: 20 additions & 1 deletion src/main/java/Book.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
public class Book {
//Book should contain name,author,year of publish and ISBN
}
private String bookName;
private String author;
private int year;
private int ISBN;

public Book(String bookName, String author, int year, int ISBN) {
this.bookName = bookName;
this.author = author;
this.year = year;
this.ISBN = ISBN;
}

public String getNameOfBook() {
return this.bookName + "";
}

public int getNumberOfBook() {
return this.ISBN;
}
}
19 changes: 13 additions & 6 deletions src/main/java/Librarian.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
public class Librarian {
/*
* The librarian should have a username and a password
* The librarian should be able to search users, librarians and books
* The librarian should be able to add\remove\update user add\remove\update_
_ librarian and add\remove\update book
*/
private String username;
private String password;

public Librarian(String username, String password){
this.username = username;
this.password = password;
}

public String getUsername() {
return this.username;
}

public String getPassword() {
return this.password;
}
}
199 changes: 162 additions & 37 deletions src/main/java/Library.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class Library {
/*
* The library should have a list of books.
Expand All @@ -6,79 +10,200 @@ public class Library {
* The library should have a list of users and a list of librarians.
*/

//book related functions
private String libraryName;
private String book = "Harry Potter";
private int num = 2;
private String librarian = "firstLibrarian";
private String User = "Haleh";
private String pass = "0000";

private static Librarian firstLibrarian = new Librarian("firstLibrarian", "0000");
private static Book firstBook = new Book("Harry Potter", "J. K. Rowling", 1997, 2);
private static User firstUser = new User("Haleh", "0000");

//book
private ArrayList<String> ExistedBooks;
private static Map<String, Integer> NumberOfBooks;

//librarian user
private static ArrayList<User> Users = new ArrayList<User>();
private static ArrayList<Librarian> Librarians = new ArrayList<Librarian>();
private static Map<String, String> users = new HashMap<String, String>();
private static Map<String, String> librarians;

public Library(String libraryName) {
this.libraryName = libraryName;
ExistedBooks = new ArrayList<String>();
ExistedBooks.add(book);
NumberOfBooks = new HashMap<String, Integer>();
NumberOfBooks.put(book, num);

public void addBook(){
//TODO
Librarians = new ArrayList<Librarian>();
Librarians.add(firstLibrarian);
librarians = new HashMap<String, String>();
librarians.put(librarian, pass);

Users = new ArrayList<User>();
Users.add(firstUser);
users = new HashMap<String, String>();
users.put(User, pass);
}

public void removeBook(){
//TODO
public ArrayList<String> getExistedBooks() {
return ExistedBooks;
}

public void searchBook(){
//TODO
public Map<String, Integer> getNumberOfBooks() {
return NumberOfBooks;
}

public void updateBook(){
//TODO
public ArrayList<Librarian> getLibrarians() {
return Librarians;
}

public void doesBookExist(){
//TODO
public Map<String, String> getlibrarians() {
return librarians;
}

public void increaseBook(){
//TODO
public ArrayList<User> getUsers() {
return Users;
}

public void decreaseBook(){
//TODO
public Map<String, String> getusers() {
return users;
}

//user related functions
ArrayList<String> rentedBooks = firstUser.getRentedBooks();

//book related functions

public void addUser(){
//TODO
public void addBook(Book book){
ExistedBooks.add(book.getNameOfBook());
NumberOfBooks.put(book.getNameOfBook(), book.getNumberOfBook());
}

public void removeUser(){
//TODO
public void removeBook(String bookName){
if(doesBookExist(bookName)) {
ExistedBooks.remove(bookName);
NumberOfBooks.remove(bookName);
System.out.println(bookName + " is removed!");
} else {
System.out.println("This book doesn't exist!");
}
}

public void searchUser(){
//TODO
public boolean doesBookExist(String bookName) {
if(NumberOfBooks.containsKey(bookName) && NumberOfBooks.get(bookName) != 0){
return true;
} else {
System.out.println("No book in the list!");
}
return false;
}

public void updateUser(){
//TODO
public void searchBook(String bookName){
if(doesBookExist(bookName)) {
System.out.println("We have " + bookName);
} else {
System.out.println("No book with name " + bookName);
}
}

public void doesUserExist(){
//TODO
public void rentBook(String book){
if(doesBookExist(book)){
NumberOfBooks.put(book, NumberOfBooks.get(book) - 1);
firstUser.rentBook(book);
} else {
System.out.println("Number of this book = 0");
}
}

//librarian related functions
public void returnBook(String book){
NumberOfBooks.put(book, NumberOfBooks.get(book) + 1);
firstUser.returnBook(book);
}

public void addLibrarian(){
//TODO
//user related functions

public void addUser(User user){
Users.add(user);
users.put(user.getUsername(), user.getPassword());
}

public void removeUser(User user){
if(doesUserExist(user)) {
Users.remove(user);
users.remove(user.getUsername());
System.out.println(user.getUsername() + " is removed!");
} else {
System.out.println("This book doesn't exist!");
}
}

public boolean doesUserExist(User user){
if(users.containsKey(user.getUsername()) && users.containsValue(user.getPassword())){
return true;
} else {
System.out.println("No member in the list!");
}
return false;
}

public void removeLibrarian(){
//TODO
public void searchUser(User user){
if(doesUserExist(user)) {
System.out.println(user.getUsername() + " exists");
} else {
System.out.println("No member with username " + user.getUsername());
}
}

public void searchLibrarian(){
//TODO
public void loginUser(User user){
if(doesUserExist(user)) {
System.out.println("Hello " + user.getUsername());
} else {
System.out.println("No member with username " + user.getUsername());
}
}

public void updateLibrarian(){
//TODO
//librarian related functions

public void addLibrarian(Librarian librarian){
Librarians.add(librarian);
librarians.put(librarian.getUsername(), librarian.getPassword());
}

public void removeLibrarian(Librarian librarian){
if(doesLibrarianExist(librarian)) {
Librarians.remove(librarian);
librarians.remove(librarian.getUsername());
System.out.println(librarian.getUsername() + " is removed!");
} else {
System.out.println("This librarian doesn't exist!");
}
}

public void doesLibrarianExist(){
//TODO
public boolean doesLibrarianExist(Librarian librarian){
if(librarians.containsKey(librarian.getUsername()) && librarians.containsValue(librarian.getPassword())){
return true;
} else {
System.out.println("No librarian in the list!");
}
return false;
}

public void searchLibrarian(Librarian librarian){
if(doesLibrarianExist(librarian)) {
System.out.println(librarian.getUsername() + " exists");
} else {
System.out.println("No member with username " + librarian.getUsername());
}
}

public void loginLibrarian(Librarian librarian){
if(doesLibrarianExist(librarian)) {
System.out.println("Hello " + librarian.getUsername());
} else {
System.out.println("No member with username " + librarian.getUsername());
}
}
}
Loading