001 package log;
002
003 import java.io.*;
004
005 /**
006 * Abstract Factory for {@link Log} creation.
007 *
008 * <p>Instances of this class (or subclasses of it) are used to define the class to be instantiated when
009 * creating new log files. The {@link Log#setLogCreator} takes as a parameter a
010 * LogCreator, which will then be used when creating new log files.</p>
011 *
012 * @see Log
013 * @see Log#setLogCreator
014 * @see Log#createLog
015 *
016 * @author Steffen Zschaler
017 * @version 1.0
018 * @since v1.0
019 */
020 public interface LogCreator {
021
022 /**
023 * Create a new log file using the given OutputStream. Called by
024 * {@link Log#createLog}.
025 *
026 * @param oo the OutputStream to be used.
027 *
028 * @see log.Log#createLog
029 *
030 * @override Always
031 */
032 public Log createLog(OutputStream os);
033 }