package com.mediamania.prototype;
import java.util.Set;
import java.util.HashSet;
import java.util.Collections;
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
import java.text.ParsePosition;
public class Movie {
private static SimpleDateFormat yearFmt = new SimpleDateFormat("yyyy");
public static final String[] MPAAratings = {
"G", "PG", "PG-13", "R", "NC-17", "NR"};
private String title;
private Date releaseDate;
private int runningTime;
private String rating;
private String webSite;
private String genres;
private Set cast; // element type: Role
private Movie() {}
public Movie(String title, Date release, int duration, String rating,
String genres) {
this.title = title;
releaseDate = release;
runningTime = duration;
this.rating = rating;
this.genres = genres;
cast = new HashSet();
}
public String getTitle() {
return title;
}
public Date getReleaseDate() {
return releaseDate;
}
public String getRating() {
return rating;
}
public int getRunningTime() {
return runningTime;
}
public void setWebSite(String site) {
webSite = site;
}
public String getWebSite() {
return webSite;
}
public String getGenres() {
return genres;
}
public void addRole(Role role) {
cast.add(role);
}
public Set getCast() {
return Collections.unmodifiableSet(cast);
}
public static Date parseReleaseDate(String val) {
Date date = null;
try {
date = yearFmt.parse(val);
} catch (java.text.ParseException exc) {}
return date;
}
public String formatReleaseDate() {
return yearFmt.format(releaseDate);
}
} |