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 os the OutputStream to be used. 027 * 028 * @see log.Log#createLog 029 * 030 * @override Always 031 */ 032 public Log createLog(OutputStream os); 033 }