Index

A B C D E F G H I L M O R S U V 
All Classes and Interfaces|All Packages|Serialized Form

A

ADMIN - Enum constant in enum class com.equipmentrental.equipment_rental_system.model.UserRole
 
AVAILABLE - Enum constant in enum class com.equipmentrental.equipment_rental_system.model.EquipmentStatus
 

B

BOOKED - Enum constant in enum class com.equipmentrental.equipment_rental_system.model.EquipmentStatus
 
Booking - Class in com.equipmentrental.equipment_rental_system.model
Represents a reservation of an equipment item for a specific date range.
Booking(LocalDate, LocalDate, String, BookingStatus, Equipment, User) - Constructor for class com.equipmentrental.equipment_rental_system.model.Booking
Creates a new booking with all required fields.
BookingConflictException - Exception Class in com.equipmentrental.equipment_rental_system.exception
Thrown when a new booking conflicts with an existing confirmed booking for the same equipment item (BR-02).
BookingConflictException(String, String, String) - Constructor for exception class com.equipmentrental.equipment_rental_system.exception.BookingConflictException
Creates a new exception describing the conflict.
BookingController - Class in com.equipmentrental.equipment_rental_system.controller
 
BookingController(BookingService, EquipmentService, UserService) - Constructor for class com.equipmentrental.equipment_rental_system.controller.BookingController
 
BookingRepository - Interface in com.equipmentrental.equipment_rental_system.repository
Spring Data JPA repository for Booking entities.
BookingService - Class in com.equipmentrental.equipment_rental_system.service
Service layer for managing Booking entities.
BookingService(BookingRepository, EquipmentService, UserService) - Constructor for class com.equipmentrental.equipment_rental_system.service.BookingService
 
BookingStatus - Enum Class in com.equipmentrental.equipment_rental_system.model
Defines the lifecycle status of a booking.

C

cancel() - Method in class com.equipmentrental.equipment_rental_system.model.Booking
Cancels this booking by setting its status to BookingStatus.CANCELLED.
cancel(Long, RedirectAttributes) - Method in class com.equipmentrental.equipment_rental_system.controller.BookingController
 
cancelBooking(Long) - Method in class com.equipmentrental.equipment_rental_system.service.BookingService
Cancels an existing booking and updates the equipment status if appropriate (BR-08).
CANCELLED - Enum constant in enum class com.equipmentrental.equipment_rental_system.model.BookingStatus
 
Category - Class in com.equipmentrental.equipment_rental_system.model
Represents an equipment category used to group items by type.
Category(String, String) - Constructor for class com.equipmentrental.equipment_rental_system.model.Category
Creates a new category with the specified name and description.
CategoryController - Class in com.equipmentrental.equipment_rental_system.controller
 
CategoryController(CategoryService) - Constructor for class com.equipmentrental.equipment_rental_system.controller.CategoryController
 
CategoryRepository - Interface in com.equipmentrental.equipment_rental_system.repository
Spring Data JPA repository for Category entities.
CategoryService - Class in com.equipmentrental.equipment_rental_system.service
Service layer for managing Category entities.
CategoryService(CategoryRepository, EquipmentRepository) - Constructor for class com.equipmentrental.equipment_rental_system.service.CategoryService
 
com.equipmentrental.equipment_rental_system - package com.equipmentrental.equipment_rental_system
 
com.equipmentrental.equipment_rental_system.config - package com.equipmentrental.equipment_rental_system.config
 
com.equipmentrental.equipment_rental_system.controller - package com.equipmentrental.equipment_rental_system.controller
 
com.equipmentrental.equipment_rental_system.exception - package com.equipmentrental.equipment_rental_system.exception
 
com.equipmentrental.equipment_rental_system.model - package com.equipmentrental.equipment_rental_system.model
 
com.equipmentrental.equipment_rental_system.repository - package com.equipmentrental.equipment_rental_system.repository
 
com.equipmentrental.equipment_rental_system.service - package com.equipmentrental.equipment_rental_system.service
 
CONFIRMED - Enum constant in enum class com.equipmentrental.equipment_rental_system.model.BookingStatus
 
createBooking(Booking) - Method in class com.equipmentrental.equipment_rental_system.service.BookingService
Creates a new booking after validating all business rules.

D

dashboard(Model) - Method in class com.equipmentrental.equipment_rental_system.controller.DashboardController
 
DashboardController - Class in com.equipmentrental.equipment_rental_system.controller
 
DashboardController(EquipmentService, BookingService, CategoryService, UserService) - Constructor for class com.equipmentrental.equipment_rental_system.controller.DashboardController
 
DataInitialiser - Class in com.equipmentrental.equipment_rental_system.config
Populates the database with sample data on application startup.
DataInitialiser(CategoryRepository, UserRepository, EquipmentRepository, BookingRepository) - Constructor for class com.equipmentrental.equipment_rental_system.config.DataInitialiser
 
delete(Long, RedirectAttributes) - Method in class com.equipmentrental.equipment_rental_system.controller.CategoryController
 
delete(Long, RedirectAttributes) - Method in class com.equipmentrental.equipment_rental_system.controller.EquipmentController
 
delete(Long, RedirectAttributes) - Method in class com.equipmentrental.equipment_rental_system.controller.UserController
 
deleteById(Long) - Method in class com.equipmentrental.equipment_rental_system.service.CategoryService
Deletes a category if no equipment items are assigned to it (BR-06).
deleteById(Long) - Method in class com.equipmentrental.equipment_rental_system.service.EquipmentService
Deletes an equipment item if it has no active (confirmed) bookings (BR-07).
deleteById(Long) - Method in class com.equipmentrental.equipment_rental_system.service.UserService
Deletes a user if they have no active (confirmed) bookings.
DeletionBlockedException - Exception Class in com.equipmentrental.equipment_rental_system.exception
Thrown when an entity cannot be deleted because it has dependent records.
DeletionBlockedException(String, String) - Constructor for exception class com.equipmentrental.equipment_rental_system.exception.DeletionBlockedException
Creates a new exception explaining why deletion was blocked.

E

Equipment - Class in com.equipmentrental.equipment_rental_system.model
Represents a physical equipment item available for booking.
Equipment(String, String, String, String, EquipmentStatus, LocalDate, BigDecimal, Category) - Constructor for class com.equipmentrental.equipment_rental_system.model.Equipment
Creates a new equipment item with all fields.
EquipmentController - Class in com.equipmentrental.equipment_rental_system.controller
 
EquipmentController(EquipmentService, CategoryService) - Constructor for class com.equipmentrental.equipment_rental_system.controller.EquipmentController
 
EquipmentNotAvailableException - Exception Class in com.equipmentrental.equipment_rental_system.exception
Thrown when a booking is attempted on equipment that is not available (BR-01).
EquipmentNotAvailableException(String, EquipmentStatus) - Constructor for exception class com.equipmentrental.equipment_rental_system.exception.EquipmentNotAvailableException
Creates a new exception describing the unavailable equipment.
EquipmentRentalSystemApplication - Class in com.equipmentrental.equipment_rental_system
 
EquipmentRentalSystemApplication() - Constructor for class com.equipmentrental.equipment_rental_system.EquipmentRentalSystemApplication
 
EquipmentRepository - Interface in com.equipmentrental.equipment_rental_system.repository
Spring Data JPA repository for Equipment entities.
EquipmentService - Class in com.equipmentrental.equipment_rental_system.service
Service layer for managing Equipment entities.
EquipmentService(EquipmentRepository, BookingRepository) - Constructor for class com.equipmentrental.equipment_rental_system.service.EquipmentService
 
EquipmentStatus - Enum Class in com.equipmentrental.equipment_rental_system.model
Defines the availability status of an equipment item.
existsByName(String) - Method in interface com.equipmentrental.equipment_rental_system.repository.CategoryRepository
Checks whether a category with the given name already exists.
existsByUsername(String) - Method in interface com.equipmentrental.equipment_rental_system.repository.UserRepository
Checks whether a user with the given username already exists.

F

findAll() - Method in class com.equipmentrental.equipment_rental_system.service.BookingService
Returns all bookings in the system.
findAll() - Method in class com.equipmentrental.equipment_rental_system.service.CategoryService
Returns all categories in the system.
findAll() - Method in class com.equipmentrental.equipment_rental_system.service.EquipmentService
Returns all equipment items in the system.
findAll() - Method in class com.equipmentrental.equipment_rental_system.service.UserService
Returns all registered users.
findByCategoryId(Long) - Method in interface com.equipmentrental.equipment_rental_system.repository.EquipmentRepository
Finds all equipment items belonging to a specific category.
findByCategoryId(Long) - Method in class com.equipmentrental.equipment_rental_system.service.EquipmentService
Finds all equipment items belonging to a specific category.
findByEquipmentId(Long) - Method in interface com.equipmentrental.equipment_rental_system.repository.BookingRepository
Finds all bookings for a specific equipment item.
findByEquipmentId(Long) - Method in class com.equipmentrental.equipment_rental_system.service.BookingService
Finds all bookings for a specific equipment item.
findById(Long) - Method in class com.equipmentrental.equipment_rental_system.service.BookingService
Finds a booking by its ID.
findById(Long) - Method in class com.equipmentrental.equipment_rental_system.service.CategoryService
Finds a category by its ID.
findById(Long) - Method in class com.equipmentrental.equipment_rental_system.service.EquipmentService
Finds an equipment item by its ID.
findById(Long) - Method in class com.equipmentrental.equipment_rental_system.service.UserService
Finds a user by their ID.
findByName(String) - Method in interface com.equipmentrental.equipment_rental_system.repository.CategoryRepository
Finds a category by its unique name.
findByNameContainingIgnoreCase(String) - Method in interface com.equipmentrental.equipment_rental_system.repository.EquipmentRepository
Searches for equipment items whose name contains the given text (case-insensitive).
findByStatus(BookingStatus) - Method in interface com.equipmentrental.equipment_rental_system.repository.BookingRepository
Finds all bookings with a specific status.
findByStatus(EquipmentStatus) - Method in interface com.equipmentrental.equipment_rental_system.repository.EquipmentRepository
Finds all equipment items with a specific availability status.
findByStatus(EquipmentStatus) - Method in class com.equipmentrental.equipment_rental_system.service.EquipmentService
Finds all equipment items with a specific availability status.
findByUserId(Long) - Method in interface com.equipmentrental.equipment_rental_system.repository.BookingRepository
Finds all bookings created by a specific user.
findByUserId(Long) - Method in class com.equipmentrental.equipment_rental_system.service.BookingService
Finds all bookings created by a specific user.
findByUsername(String) - Method in interface com.equipmentrental.equipment_rental_system.repository.UserRepository
Finds a user by their unique username.
findByUsername(String) - Method in class com.equipmentrental.equipment_rental_system.service.UserService
Finds a user by their unique username.
findConflictingBookings(Long, LocalDate, LocalDate) - Method in interface com.equipmentrental.equipment_rental_system.repository.BookingRepository
Finds confirmed bookings for a given equipment item that overlap with the specified date range.

G

getDurationDays() - Method in class com.equipmentrental.equipment_rental_system.model.Booking
Calculates the duration of this booking in days (inclusive of both start and end dates).
getEquipmentCount() - Method in class com.equipmentrental.equipment_rental_system.model.Category
Returns the number of equipment items currently assigned to this category.
getFullName() - Method in class com.equipmentrental.equipment_rental_system.model.User
Returns the user's full name by combining first and last name.
GlobalExceptionHandler - Class in com.equipmentrental.equipment_rental_system.controller
Centralised exception handler for all controllers in the application.
GlobalExceptionHandler() - Constructor for class com.equipmentrental.equipment_rental_system.controller.GlobalExceptionHandler
 

H

handleBookingConflict(BookingConflictException, Model) - Method in class com.equipmentrental.equipment_rental_system.controller.GlobalExceptionHandler
Handles booking date conflicts (BR-02).
handleDeletionBlocked(DeletionBlockedException, Model) - Method in class com.equipmentrental.equipment_rental_system.controller.GlobalExceptionHandler
Handles attempts to delete entities with dependent records (BR-06, BR-07).
handleEquipmentNotAvailable(EquipmentNotAvailableException, Model) - Method in class com.equipmentrental.equipment_rental_system.controller.GlobalExceptionHandler
Handles attempts to book equipment that is not available (BR-01).
handleGenericException(Exception, Model) - Method in class com.equipmentrental.equipment_rental_system.controller.GlobalExceptionHandler
Catches any unhandled exception, including missing static resources (favicon.ico).
handleInvalidBookingDates(InvalidBookingDatesException, Model) - Method in class com.equipmentrental.equipment_rental_system.controller.GlobalExceptionHandler
Handles invalid booking date ranges (BR-05).
handleResourceNotFound(ResourceNotFoundException, Model) - Method in class com.equipmentrental.equipment_rental_system.controller.GlobalExceptionHandler
Handles cases where a requested entity was not found by its ID.
hasConflictWith(Booking) - Method in class com.equipmentrental.equipment_rental_system.model.Booking
Checks whether this booking's date range overlaps with another booking.
help(Model) - Method in class com.equipmentrental.equipment_rental_system.controller.HelpController
 
HelpController - Class in com.equipmentrental.equipment_rental_system.controller
 
HelpController() - Constructor for class com.equipmentrental.equipment_rental_system.controller.HelpController
 

I

InvalidBookingDatesException - Exception Class in com.equipmentrental.equipment_rental_system.exception
Thrown when a booking is submitted with an invalid date range (BR-05).
InvalidBookingDatesException(String, String) - Constructor for exception class com.equipmentrental.equipment_rental_system.exception.InvalidBookingDatesException
Creates a new exception describing the invalid date range.
isActive() - Method in class com.equipmentrental.equipment_rental_system.model.Booking
Checks whether this booking is currently active (confirmed and not cancelled).
isAvailable() - Method in class com.equipmentrental.equipment_rental_system.model.Equipment
Checks whether this equipment item has AVAILABLE status.

L

list(String, Long, EquipmentStatus, Model) - Method in class com.equipmentrental.equipment_rental_system.controller.EquipmentController
 
list(Model) - Method in class com.equipmentrental.equipment_rental_system.controller.BookingController
 
list(Model) - Method in class com.equipmentrental.equipment_rental_system.controller.CategoryController
 
list(Model) - Method in class com.equipmentrental.equipment_rental_system.controller.UserController
 

M

main(String[]) - Static method in class com.equipmentrental.equipment_rental_system.EquipmentRentalSystemApplication
 
MAINTENANCE - Enum constant in enum class com.equipmentrental.equipment_rental_system.model.EquipmentStatus
 

O

onCreate() - Method in class com.equipmentrental.equipment_rental_system.model.Booking
Automatically sets the creation timestamp when the booking is first persisted.

R

ResourceNotFoundException - Exception Class in com.equipmentrental.equipment_rental_system.exception
Thrown when a requested entity cannot be found by its ID.
ResourceNotFoundException(String, Long) - Constructor for exception class com.equipmentrental.equipment_rental_system.exception.ResourceNotFoundException
Creates a new exception with a descriptive message.
run(String...) - Method in class com.equipmentrental.equipment_rental_system.config.DataInitialiser
 

S

save(Category, BindingResult, Model, RedirectAttributes) - Method in class com.equipmentrental.equipment_rental_system.controller.CategoryController
 
save(Equipment, BindingResult, Long, Model, RedirectAttributes) - Method in class com.equipmentrental.equipment_rental_system.controller.EquipmentController
 
save(User, BindingResult, Model, RedirectAttributes) - Method in class com.equipmentrental.equipment_rental_system.controller.UserController
 
save(Booking, Long, Long, Model, RedirectAttributes) - Method in class com.equipmentrental.equipment_rental_system.controller.BookingController
 
save(Category) - Method in class com.equipmentrental.equipment_rental_system.service.CategoryService
Saves a new or updated category.
save(Equipment) - Method in class com.equipmentrental.equipment_rental_system.service.EquipmentService
Saves a new or updated equipment item.
save(User) - Method in class com.equipmentrental.equipment_rental_system.service.UserService
Saves a new or updated user.
searchByName(String) - Method in class com.equipmentrental.equipment_rental_system.service.EquipmentService
Searches for equipment items whose name contains the given text (case-insensitive).
showCreateForm(Model) - Method in class com.equipmentrental.equipment_rental_system.controller.BookingController
 
showCreateForm(Model) - Method in class com.equipmentrental.equipment_rental_system.controller.CategoryController
 
showCreateForm(Model) - Method in class com.equipmentrental.equipment_rental_system.controller.EquipmentController
 
showCreateForm(Model) - Method in class com.equipmentrental.equipment_rental_system.controller.UserController
 
showEditForm(Long, Model) - Method in class com.equipmentrental.equipment_rental_system.controller.CategoryController
 
showEditForm(Long, Model) - Method in class com.equipmentrental.equipment_rental_system.controller.EquipmentController
 
showEditForm(Long, Model) - Method in class com.equipmentrental.equipment_rental_system.controller.UserController
 
STAFF - Enum constant in enum class com.equipmentrental.equipment_rental_system.model.UserRole
 

U

UNAVAILABLE - Enum constant in enum class com.equipmentrental.equipment_rental_system.model.EquipmentStatus
 
updateStatus(EquipmentStatus) - Method in class com.equipmentrental.equipment_rental_system.model.Equipment
Updates the equipment status to the specified value.
updateStatus(Long, EquipmentStatus) - Method in class com.equipmentrental.equipment_rental_system.service.EquipmentService
Updates the availability status of an equipment item (BR-08).
User - Class in com.equipmentrental.equipment_rental_system.model
Represents a staff member who can create and manage equipment bookings.
User(String, String, String, String, UserRole, String, String, String) - Constructor for class com.equipmentrental.equipment_rental_system.model.User
Creates a new user with all required and optional fields.
UserController - Class in com.equipmentrental.equipment_rental_system.controller
 
UserController(UserService) - Constructor for class com.equipmentrental.equipment_rental_system.controller.UserController
 
UserRepository - Interface in com.equipmentrental.equipment_rental_system.repository
Spring Data JPA repository for User entities.
UserRole - Enum Class in com.equipmentrental.equipment_rental_system.model
Defines the access level of a system user.
UserService - Class in com.equipmentrental.equipment_rental_system.service
Service layer for managing User entities.
UserService(UserRepository, BookingRepository) - Constructor for class com.equipmentrental.equipment_rental_system.service.UserService
 

V

valueOf(String) - Static method in enum class com.equipmentrental.equipment_rental_system.model.BookingStatus
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class com.equipmentrental.equipment_rental_system.model.EquipmentStatus
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class com.equipmentrental.equipment_rental_system.model.UserRole
Returns the enum constant of this class with the specified name.
values() - Static method in enum class com.equipmentrental.equipment_rental_system.model.BookingStatus
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class com.equipmentrental.equipment_rental_system.model.EquipmentStatus
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class com.equipmentrental.equipment_rental_system.model.UserRole
Returns an array containing the constants of this enum class, in the order they are declared.
verifyAvailableForBooking(Equipment) - Method in class com.equipmentrental.equipment_rental_system.service.EquipmentService
Verifies that an equipment item is available for booking (BR-01).
A B C D E F G H I L M O R S U V 
All Classes and Interfaces|All Packages|Serialized Form