001    package org.apache.geronimo.system.main;
002    
003    import org.apache.geronimo.kernel.Kernel;
004    import org.apache.geronimo.kernel.repository.Artifact;
005    
006    /**
007     * An interface used by the Daemon to convey the status of the server
008     * startup.
009     *
010     * @version $Revision: 1.0$
011     */
012    public interface StartupMonitor {
013        // Normal calls, will generally occur in this order
014        void systemStarting(long startTime);
015        void systemStarted(Kernel kernel);
016        void foundModules(Artifact[] modules);
017        void moduleLoading(Artifact module);
018        void moduleLoaded(Artifact module);
019        void moduleStarting(Artifact module);
020        void moduleStarted(Artifact module);
021        void startupFinished();
022    
023        // Indicate failures during load
024        void serverStartFailed(Exception problem);
025    }