001package org.intellimate.izou.util;
002
003import org.intellimate.izou.main.Main;
004
005/**
006 * This interface provides an instance of main
007 *
008 * @author Leander Kurscheidt
009 * @version 1.0
010 */
011public interface MainProvider {
012    /**
013     * returns the instance of Main
014     * @return Main
015     */
016    Main getMain();
017
018    /**
019     * Used to log messages at debug level
020     * @param msg the message
021     * @param e the Throwable
022     */
023    void debug(String msg, Throwable e);
024
025    /**
026     * Used to log messages at debug level
027     * @param msg the message
028     */
029    void debug(String msg);
030
031    /**
032     * Used to log messages at error level
033     * @param msg the message
034     * @param e the Throwable
035     */
036    void error(String msg, Throwable e);
037
038    /**
039     * Used to log messages at error level
040     * @param msg the message
041     */
042    void error(String msg);
043
044    /**
045     * Used to log messages at fatal level
046     * @param msg the message
047     * @param e the Throwable
048     */
049    void fatal(String msg, Throwable e);
050
051    /**
052     * Used to log messages at fatal level
053     * @param msg the message
054     */
055    void fatal(String msg);
056}