You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The library management system should allow librarians to manage books, members, and borrowing activities.
The system should support adding, updating, and removing books from the library catalog.
Each book should have details such as title, author, ISBN, publication year, and availability status.
The system should allow members to borrow and return books.
Each member should have details such as name, member ID, contact information, and borrowing history.
The system should enforce borrowing rules, such as a maximum number of books that can be borrowed at a time and loan duration.
The system should handle concurrent access to the library catalog and member records.
The system should be extensible to accommodate future enhancements and new features.
Classes, Interfaces and Enumerations
The Book class represents a book in the library catalog, with properties such as ISBN, title, author, publication year, and availability status.
The Member class represents a library member, with properties like member ID, name, contact information, and a list of borrowed books.
The LibraryManager class is the core of the library management system and follows the Singleton pattern to ensure a single instance of the library manager.
The LibraryManager class uses concurrent data structures (ConcurrentHashMap) to handle concurrent access to the library catalog and member records.
The LibraryManager class provides methods for adding and removing books, registering and unregistering members, borrowing and returning books, and searching for books based on keywords.
The LibraryManagementSystemDemo class serves as the entry point of the application and demonstrates the usage of the library management system.