Question: Please provide the documentation for these three classes as it is asked in the photo. import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; / / Movie class

Please provide the documentation for these three classes as it is asked in the photo.
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
// Movie class to represent a movie
class Movie {
private String title;
private String actorOrActress;
private int releaseYear;
private String genre;
public Movie(String title, String actorOrActress, int releaseYear, String genre){
this.title = title;
this.actorOrActress = actorOrActress;
this.releaseYear = releaseYear;
this.genre = genre;
}
// Getters
public String getTitle(){
return title;
}
public String getActorOrActress(){
return actorOrActress;
}
public int getReleaseYear(){
return releaseYear;
}
public String getGenre(){
return genre;
}
}
// MovieStore class to manage movie operations
class MovieStore {
private ArrayList movies;
public MovieStore(){
this.movies = new ArrayList>();
}
// Method to add a movie
public void addMovie(Movie movie){
movies.add(movie);
}
// Method to remove a movie
public void removeMovie(String title){
movies.removeIf(movie -> movie.getTitle().equalsIgnoreCase(title));
}
// Method to search for a movie by title, actor/actress, year, or genre
public ArrayList searchMovies(String keyword){
ArrayList results = new ArrayList>();
for (Movie movie : movies){
if (movie.getTitle().equalsIgnoreCase(keyword)||
movie.getActorOrActress().equalsIgnoreCase(keyword)||
String.valueOf(movie.getReleaseYear()).equals(keyword)||
movie.getGenre().equalsIgnoreCase(keyword)){
results.add(movie);
}
}
return results;
}
// Method to sort movies by title, actor/actress
public void sortMoviesBy(String sortBy, boolean ascending){
if (sortBy.equalsIgnoreCase("title")){
if (ascending)
Collections.sort(movies,(m1, m2)-> m1.getTitle().compareToIgnoreCase(m2.getTitle()));
else
Collections.sort(movies,(m1, m2)-> m2.getTitle().compareToIgnoreCase(m1.getTitle()));
} else if (sortBy.equalsIgnoreCase("actor")){
if (ascending)
Collections.sort(movies,(m1, m2)-> m1.getActorOrActress().compareToIgnoreCase(m2.getActorOrActress()));
else
Collections.sort(movies,(m1, m2)-> m2.getActorOrActress().compareToIgnoreCase(m1.getActorOrActress()));
}
}
// Method to display all movies
public void displayAllMovies(){
for (Movie movie : movies){
System.out.println("Title: "+ movie.getTitle()+", Actor/Actress: "+ movie.getActorOrActress()+
", Release Year: "+ movie.getReleaseYear()+", Genre: "+ movie.getGenre());
}
}
}
// Main class to run the program
public class MovieStoreProgram {
private static final String MANAGER_PASSWORD = "your_password";
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
MovieStore movieStore = new MovieStore();
// Adding some sample movies
movieStore.addMovie(new Movie("Movie1", "Actor1",2000, "Action"));
movieStore.addMovie(new Movie("Movie2", "Actor2",2005, "Comedy"));
movieStore.addMovie(new Movie("Movie3", "Actor3",2010, "Drama"));
boolean isManager = false;
System.out.println("Enter password to access Manager Mode or press enter to continue as User Mode:");
String password = scanner.nextLine();
if (password.equals(MANAGER_PASSWORD)){
isManager = true;
System.out.println("Welcome Manager!");
} else {
System.out.println("Welcome User!");
}
int choice;
do {
System.out.println("
Menu:");
System.out.println("1. Search movies");
System.out.println("2. Sort movies");
if (isManager){
System.out.println("3. Add movie");
System.out.println("4. Remove movie");
}
System.out.println("5. Display all movies");
System.out.println("0. Exit");
System.out.print("Enter your choice: ");
choice = scanner.nextInt();
scanner.nextLine(); // Consume newline
switch (choice){
case 1:
System.out.print("Enter search keyword: ");
String keyword = scanner.nextLine();
ArrayList searchResults = movieStore.searchMovies(keyword);
if (!searchResults.isEmpty()){
System.out.println("Search Results:");
for (Movie movie : searchRes
Please provide the documentation for these three

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!