This project is a console-based User Interface (UI) that allows users to interact with a Movies Dataset.
The main functionalities of this program are as follows:
1. List All the Entities
a. List All Fields of Each Entity
b. List Only Selected Fields of Each Entity
c. List Entities Based on the Range of Rows
d. Print the Number of Entities Listed
2. Sort the Entities
a. Based on Any Field
b. In Any Order (ASC, DESC)
3. Search Entity(ies) Based on Given Field and Value
a. String Fields and Values
b. Non-String Fields and Values
c. Genre Field Search
4. List Column Names
The program allows users to list the names of all columns in the dataset.
5. Filter Entities
Users can filter entities based on any given field or set of fields according to specific rules.
Inputs and Outputs Format: The program will take inputs and display results in a specific format, and users should provide inputs accordingly.
Interactive Menu: The menu will be interactive, allowing users to perform a sequence of requests.
Reusability: The program will return a collection of results after each request or sub-request, increasing reusability for subsequent requests.
Use of Java Concepts: The project will utilize various Java concepts, such as collections, functional interfaces, exception handling, file reading, OOP principles, LocalDate and LocalTime classes, enums, etc.
Error Handling: The program will display user-friendly error messages instead of printing stack traces for exceptions.