import java.util.*;
public class MovieDataServer {
 Movie movie;
 Observer observer;
 Vector movieVector;
 public MovieDataServer () { 
  setMovieVector("general.movies");
 }
 public void setMovie(int n) { 
  if (0 <= n & n < movieVector.size()) { 
   if (observer != null && movie != null) {
    movie.deleteObserver(observer);
   }
   movie = (Movie) movieVector.elementAt(n); 
   if (observer != null && movie != null) {
    movie.addObserver(observer);
   }
   movie.changed();
  }
 }
 public Movie getMovie () {
  return movie;
 }
 public void setObserver (Observer o) {
  if (observer != null && movie != null) {
   movie.deleteObserver(observer);
  }
  observer = o;
  if (observer != null && movie != null) {
   movie.addObserver(observer);
  }
  movie.changed();
 }
 public void setMovieVector (String title) {
  movieVector = MovieAuxiliaries.readMovieFile(title);
  setMovie(0);
 }
 public Vector getTitles () {
  Vector titles = new Vector();                                 
  for (Iterator i = movieVector.iterator(); i.hasNext();) { 
   titles.addElement(((Movie)(i.next())).getTitle());                                                           
  } 
  return titles;
 }
}
