Ignore:
Timestamp:
10/10/11 22:15:34 (13 years ago)
Author:
sherbold
Message:
  • various changed to de.ugoe.cs.util.Console:
    • changed instantiation method of the instance, i.e., how the Singleton property is guaranteed
    • added method reset() to remove all listeners at once
    • added functions to check is a given listener is registered
  • various changes to de.ugoe.cs.util.FileOutputListener?:
    • added null-checks for writer to improve behavior in case of improper usage
    • added method getFilename() to check to which file the listener writes.
  • added method setDebug() to de.ugoe.cs.util.TextConsole? to define whether trace stream is displayed or not.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaHelperLib/src/de/ugoe/cs/util/console/Console.java

    r210 r250  
    7171         * </p> 
    7272         */ 
    73         private static Console theInstance = null; 
     73        private static Console theInstance = new Console(); 
    7474 
    7575        /** 
     
    8282         */ 
    8383        public static Console getInstance() { 
    84                 if (theInstance == null) { 
    85                         theInstance = new Console(); 
    86                 } 
    8784                return theInstance; 
    8885        } 
     
    9087        /** 
    9188         * <p> 
     89         * Resets the Console by creating a new instance that has no registered 
     90         * observers. 
     91         * </p> 
     92         */ 
     93        public static void reset() { 
     94                theInstance.init(); 
     95        } 
     96 
     97        /** 
     98         * <p> 
    9299         * Creates a new Console. Private to prevent multiple instances (Singleton). 
    93100         * </p> 
    94101         */ 
    95102        private Console() { 
     103                init(); 
     104        } 
     105 
     106        /** 
     107         * <p> 
     108         * Initializes the console. 
     109         * </p> 
     110         */ 
     111        private void init() { 
    96112                outputListener = new LinkedHashSet<IOutputListener>(); 
    97113                errorListener = new LinkedHashSet<IErrorListener>(); 
     
    257273        /** 
    258274         * <p> 
     275         * Checks if a listener is registered. 
     276         * </p> 
     277         *  
     278         * @param listener 
     279         *            listener that is checked 
     280         * @return true, is listener is registered; false, otherwise 
     281         */ 
     282        public boolean hasOutputListener(IOutputListener listener) { 
     283                return outputListener.contains(listener); 
     284        } 
     285 
     286        /** 
     287         * <p> 
     288         * Checks if a listener is registered. 
     289         * </p> 
     290         *  
     291         * @param listener 
     292         *            listener that is checked 
     293         * @return true, is listener is registered; false, otherwise 
     294         */ 
     295        public boolean hasErrorListener(IErrorListener listener) { 
     296                return errorListener.contains(listener); 
     297        } 
     298 
     299        /** 
     300         * <p> 
     301         * Checks if a listener is registered. 
     302         * </p> 
     303         *  
     304         * @param listener 
     305         *            listener that is checked 
     306         * @return true, is listener is registered; false, otherwise 
     307         */ 
     308        public boolean hasTraceListener(ITraceListener listener) { 
     309                return traceListener.contains(listener); 
     310        } 
     311 
     312        /** 
     313         * <p> 
     314         * Checks if a listener is registered. 
     315         * </p> 
     316         *  
     317         * @param listener 
     318         *            listener that is checked 
     319         * @return true, is listener is registered; false, otherwise 
     320         */ 
     321        public boolean hasCommandListener(ICommandListener listener) { 
     322                return commandListener.contains(listener); 
     323        } 
     324 
     325        /** 
     326         * <p> 
     327         * Checks if a listener is registered. 
     328         * </p> 
     329         *  
     330         * @param listener 
     331         *            listener that is checked 
     332         * @return true, is listener is registered; false, otherwise 
     333         */ 
     334        public boolean hasExceptionListener(IExceptionListener listener) { 
     335                return exceptionListener.contains(listener); 
     336        } 
     337 
     338        /** 
     339         * <p> 
    259340         * Sends a message to all observers containing the message that was passed 
    260341         * to this function. 
     
    265346         */ 
    266347        public static void print(String msg) { 
    267                 if (theInstance == null) { 
    268                         getInstance(); 
    269                 } 
    270348                for (IOutputListener observer : theInstance.outputListener) { 
    271349                        observer.outputMsg(msg); 
     
    283361         */ 
    284362        public static void println(String msg) { 
    285                 if (theInstance == null) { 
    286                         getInstance(); 
    287                 } 
    288363                for (IOutputListener observer : theInstance.outputListener) { 
    289364                        observer.outputMsg(msg + StringTools.ENDLINE); 
     
    301376         */ 
    302377        public static void printerr(String errMsg) { 
    303                 if (theInstance == null) { 
    304                         getInstance(); 
    305                 } 
    306378                for (IErrorListener observer : theInstance.errorListener) { 
    307379                        observer.errorMsg(errMsg); 
     
    319391         */ 
    320392        public static void printerrln(String errMsg) { 
    321                 if (theInstance == null) { 
    322                         getInstance(); 
    323                 } 
    324393                for (IErrorListener observer : theInstance.errorListener) { 
    325394                        observer.errorMsg(errMsg + StringTools.ENDLINE); 
     
    336405         */ 
    337406        public static void logException(Exception e) { 
    338                 if (theInstance == null) { 
    339                         getInstance(); 
    340                 } 
    341407                for (IExceptionListener observer : theInstance.exceptionListener) { 
    342408                        observer.logException(e); 
     
    354420         */ 
    355421        public static void trace(String traceMsg) { 
    356                 if (theInstance == null) { 
    357                         getInstance(); 
    358                 } 
    359422                for (ITraceListener observer : theInstance.traceListener) { 
    360423                        observer.traceMsg(traceMsg); 
     
    373436         */ 
    374437        public static void traceln(String traceMsg) { 
    375                 if (theInstance == null) { 
    376                         getInstance(); 
    377                 } 
    378438                for (ITraceListener observer : theInstance.traceListener) { 
    379439                        observer.traceMsg(traceMsg + StringTools.ENDLINE); 
     
    390450         */ 
    391451        static void commandNotification(String command) { 
    392                 if (theInstance == null) { 
    393                         getInstance(); 
    394                 } 
    395452                for (ICommandListener observer : theInstance.commandListener) { 
    396453                        observer.commandNotification(command); 
Note: See TracChangeset for help on using the changeset viewer.