001 package videoautomat; 002 import java.io.Serializable; 003 004 import log.LogEntry; 005 import log.Loggable; 006 /** 007 * This class implements <code>Loggable</code> to achieve the logging of {@link LogEntryVideo}. 008 */ 009 public class LoggableImpl implements Loggable, Serializable { 010 011 /* 012 * The name of the user relevant to the log. 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 Loggable logs a rent event, otherwise null. 023 */ 024 private boolean rented; 025 026 /** 027 * Constructs a new <code>LoggableImpl</code>, that will log {@link LogEntryVideo}s. 028 * 029 * @param user_ID 030 * the ID of the relevant user 031 * @param video 032 * the name of the relevant video 033 * @param rented 034 * true if this <code>Loggable</code> should log a rent event, otherwise false 035 */ 036 public LoggableImpl(String user_ID, String video, boolean rented) { 037 this.user_ID = user_ID; 038 this.video_name = video; 039 this.rented = rented; 040 } 041 042 /** 043 * @return a {@link LogEntryVideo} describing the event. 044 * 045 * @see log.Loggable#getLogData() 046 */ 047 public LogEntry getLogData() { 048 return new LogEntryVideo(user_ID, video_name, rented); 049 } 050 }