package log; /** * An object that can be logged. * * <p>When a Loggable object is handed to {@link Log#log}, its {@link #getLogData} * method will be called to create a {@link LogEntry} describing the given object.</p> * * @see Log#log * @see LogEntry * * @author Steffen Zschaler * @version 1.0 * @since v1.0 */ public interface Loggable { /** * Called when the object is being logged. * * <p>Should return a fresh instance of a subclass of {@link log.LogEntry} describing the object * or event to be logged.</p> * * @return the data to be stored in the log file. * * @override Always */ public LogEntry getLogData(); }