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
2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

124 changes: 124 additions & 0 deletions .idea/uiDesigner.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Proje sayımız ilerledikçe proje yönetimimizi kolaylaştırmak adına projele

### Hedeflerimiz:

### Library System
### library.Library System

* ![](challenge1.png)
* Bir kütüphane sistemi modelimiz mevcut.
Expand Down
Binary file added out/production/s16-Challenge/Main.class
Binary file not shown.
Binary file not shown.
Binary file added out/production/s16-Challenge/book/Book.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added out/production/s16-Challenge/book/GenreEnum.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
117 changes: 117 additions & 0 deletions out/production/s16-Challenge/description.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
@startuml
package person {

class Person {
- name: String
# whoyouare(): String
}

class Reader {
- member_record: MemberRecord
---
+ setMember_record(memberRecord: MemberRecord): void
+ getMember_record(): MemberRecord
# whoyouare(): String
}

class Author {
- books: Set<Book>
+ show_book(): Set<Book>
+ setBooks(books: Set<Book>): void
+ new_book(book: Book): boolean
+ whoyouare(): String
}

class Librarian {
- password: String
- library: Library
+ Librarian(name: String, password: String, library: Library)
+ getLibrary(): Library
+ createRecord(reader: Reader, memberRecord: MemberRecord): boolean
+ addReaderToLibrary(reader: Reader): boolean
+ giveBackBook(bookId: long): boolean
+ whoyouare(): String
}

class MemberRecord {
- member_id: long
- library: Library
- reader: Reader
- type: membershipType
- date_of_membership: CustomDate
- lendedBooks: Set<Book>
- MAX_LENDED_BOOKS: int
- dept: double
+ MemberRecord()
+ MemberRecord(member_id: long, type: membershipType, reader: Reader, library: Library)
+ getDept(): double
+ getLendedBooks(): Set<Book>
+ getLibrary(): Library
+ setLibrary(library: Library): void
+ addBookToLendedBooks(book: Book): boolean
+ returnBook(id: long): boolean
+ toString(): String
}

Person <|-- Author : Inherits
Person <|-- Reader : Inherits
Person <|-- Librarian : Inherits
Reader --> MemberRecord : Has a
MemberRecord --> Library : Uses
}

package book {
class Book {
+ getPrice(): double
+ getName(): String
+ setStatus(status: BookStatus): void
+ setOwner(owner: MemberRecord): void
+ get_author(): Author
+ getGenre(): GenreEnum
+ lendBook(record: MemberRecord): void
+ getBookId(): long
}

class BookStatus {
<<enumeration>>
+ AVAILABLE
+ ON_HOLD
+ LENT_OUT
}

class GenreEnum {
<<enumeration>>
+ FICTION
+ NON_FICTION
+ SCI_FI
+ BIOGRAPHY
+ FANTASY
}
}

package library {
class Library {
- books: Map<Long, Book>
- readers: Map<String, Reader>
+ Library()
+ Library(books: Map<Long, Book>, readers: Map<String, Reader>)
+ get_book(): Map<Long, Book>
+ get_book(id: long): Book
+ get_book(name: String): Book
+ get_book(author: Author): Set<Book>
+ deleteBook(id: long): boolean
+ getBooksByGenre(genre: GenreEnum): List<Book>
+ get_readers(): Map<String, Reader>
+ searchForReader(name: String): Reader
+ new_book(book: Book): boolean
+ addReader(reader: Reader): boolean
+ lendBook(bookId: long, readerName: String): boolean
+ toString(): String
}
}

Author --> Book : Has a Set of
Library --> Book : Contains
Library --> Reader : Contains
Library --> MemberRecord : Uses
@enduml
Binary file not shown.
Binary file added out/production/s16-Challenge/person/Author.class
Binary file not shown.
Binary file not shown.
Binary file added out/production/s16-Challenge/person/Person.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
47 changes: 46 additions & 1 deletion src/Main.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,50 @@
import Shared.CustomDate;
import book.Book;
import book.BookEdition;
import book.GenreEnum;
import library.Library;
import person.Author;
import person.Librarian;

import person.reader.MemberRecord;
import person.reader.Reader;
import person.reader.membershipType;


public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
Library library = new Library();
Author author = new Author("Ridvan");
Reader mete = new Reader("mete");
MemberRecord meteRecord = new MemberRecord(1, membershipType.PREMIUM,mete,library);

Librarian librarian = new Librarian("Ridvan","bekar5561",library);
librarian.addReaderToLibrary(mete);
librarian.createRecord(mete,meteRecord);

Book book1 = new Book(1,author,"Narnia", "Cadı, kapı, aslan 1",20.00, BookEdition.FIRST_EDITION, new CustomDate(1,1,1998),GenreEnum.ADVENTURE);
Book book2 = new Book(2,author,"Narnia 1","Cadı, kapı, aslan 2",18.00, BookEdition.FIRST_EDITION, new CustomDate(1,1,1998),GenreEnum.ADVENTURE);
Book book3 = new Book(3,author,"Narnia 2","Cadı, kapı, aslan 3",16.00, BookEdition.FIRST_EDITION, new CustomDate(1,1,1998),GenreEnum.ADVENTURE);
Book book4 = new Book(4,author,"Atatürk","Ülke nasıl kurulur?",300.00, BookEdition.HARDCOVER_EDITION, new CustomDate(1,1,1881),GenreEnum.HISTORICAL);
Book book5 = new Book(5,author,"Atatürk","Ülke nasıl kurulur?",300.00, BookEdition.HARDCOVER_EDITION, new CustomDate(1,1,1881),GenreEnum.HISTORICAL);

library.new_book(book1);
library.new_book(book2);
library.new_book(book3);
library.new_book(book4);
library.new_book(book5);

System.out.println("menekşe");
library.get_book(1);
System.out.println(library.get_book(2));
System.out.println("menekşe");
library.lendBook(3,"mete");
library.lendBook(1,"mete");
library.lendBook(2,"mete");
librarian.giveBackBook(1);
System.out.println(meteRecord.getDept());

Book istegim = library.get_book(2);
library.lendBook(3,"mete");
}
}
Loading