001 package videoautomat;
002 import java.util.Date;
003
004 import log.LogEntry;
005 import sale.Shop;
006 /**
007 * This class implements a <code>LogEntry</code> that describes the rent or hand back of a video.
008 */
009 public class LogEntryVideo extends LogEntry {
010
011 /*
012 * The name of the user who rented or handed back a video.
013 */
014 private String user_ID;
015
016 /*
017 * The name of the relevant video.
018 */
019 private String video_name;
020
021 /*
022 * True if this entry logs a rent event, otherwise false.
023 */
024 private boolean rented;
025
026 /*
027 * The date of logging.
028 */
029 private Date date;
030
031 /**
032 * Constructs a new <code>LogEntryVideo</code> by the given params and the current date.
033 *
034 * @param user_ID
035 * the ID of the relevant user
036 * @param video
037 * the name of the relevant video
038 * @param rented
039 * choose true if this entry should log a rent event, otherwise false
040 */
041 public LogEntryVideo(String user_ID, String video, boolean rented) {
042 this.user_ID = user_ID;
043 this.video_name = video;
044 this.rented = rented;
045 date = (Date) Shop.getTheShop().getTimer().getTime();
046 }
047
048 /**
049 * @return a <code>String</code> representing whether who has rented or who gave back which video.
050 *
051 * @see java.lang.Object#toString()
052 */
053 public String toString() {
054 String s = " gave back ";
055 if (rented)
056 s = " has rented ";
057 return ("The user " + user_ID + s + video_name);
058 }
059
060 /**
061 * @return the date of logging.
062 *
063 * @see log.LogEntry#getLogDate()
064 */
065 public Date getLogDate() {
066 return date;
067 }
068 }