Ignore:
Timestamp:
09/26/11 22:55:19 (13 years ago)
Author:
sherbold
Message:

Major change to the Console provided by this library. The interface de.ugoe.cs.console.ConsoleObserver? is deprecated and split into the five interface IOutputListener, IErrorListener, ITraceListener, IExceptionListener, and ICommandListener.

The rational for this change is to provide the possibility to listen to only parts of what is send to the console to provide better capabilities for target-oriented handling of the different streams, e.g., for exception logging.

File:
1 edited

Legend:

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

    r186 r199  
    11package de.ugoe.cs.util.console; 
    22 
    3 import java.util.ArrayList; 
    4 import java.util.List; 
     3import java.util.Collection; 
     4import java.util.LinkedHashSet; 
    55 
    66import de.ugoe.cs.util.StringTools; 
     7import de.ugoe.cs.util.console.listener.ICommandListener; 
     8import de.ugoe.cs.util.console.listener.IErrorListener; 
     9import de.ugoe.cs.util.console.listener.IExceptionListener; 
     10import de.ugoe.cs.util.console.listener.IOutputListener; 
     11import de.ugoe.cs.util.console.listener.ITraceListener; 
    712 
    813/** 
     
    2631public final class Console { 
    2732 
    28         /** 
    29          * <p> 
    30          * List of observers. 
    31          * </p> 
    32          */ 
    33         private List<ConsoleObserver> observers; 
     33        private Collection<IOutputListener> outputListener; 
     34        private Collection<IErrorListener> errorListener; 
     35        private Collection<ITraceListener> traceListener; 
     36        private Collection<ICommandListener> commandListener; 
     37        private Collection<IExceptionListener> exceptionListener; 
    3438 
    3539        /** 
     
    6165         */ 
    6266        private Console() { 
    63                 observers = new ArrayList<ConsoleObserver>(); 
     67                outputListener = new LinkedHashSet<IOutputListener>(); 
     68                errorListener = new LinkedHashSet<IErrorListener>(); 
     69                traceListener = new LinkedHashSet<ITraceListener>(); 
     70                commandListener = new LinkedHashSet<ICommandListener>(); 
     71                exceptionListener = new LinkedHashSet<IExceptionListener>(); 
    6472        } 
    6573 
     
    6977         * </p> 
    7078         *  
     79         * @deprecated use registerXYZListener instead 
    7180         * @param observer 
    7281         *            observer to be added 
    7382         */ 
    7483        public void registerObserver(ConsoleObserver observer) { 
    75                 observers.add(observer); 
     84                registerOutputListener(observer); 
     85                registerErrorListener(observer); 
     86                registerTraceListener(observer); 
     87                registerCommandListener(observer); 
     88                registerExceptionListener(observer); 
     89        } 
     90 
     91        /** 
     92         * <p> 
     93         * Registers an output listener. 
     94         * </p> 
     95         *  
     96         * @param listener 
     97         *            listener that is registered 
     98         */ 
     99        public void registerOutputListener(IOutputListener listener) { 
     100                outputListener.add(listener); 
     101        } 
     102 
     103        /** 
     104         * <p> 
     105         * Registers an error listener. 
     106         * </p> 
     107         *  
     108         * @param listener 
     109         *            listener that is registered 
     110         */ 
     111        public void registerErrorListener(IErrorListener listener) { 
     112                errorListener.add(listener); 
     113        } 
     114 
     115        /** 
     116         * <p> 
     117         * Registers a trace listener. 
     118         * </p> 
     119         *  
     120         * @param listener 
     121         *            listener that is registered 
     122         */ 
     123        public void registerTraceListener(ITraceListener listener) { 
     124                traceListener.add(listener); 
     125        } 
     126 
     127        /** 
     128         * <p> 
     129         * Registers a command listener. 
     130         * </p> 
     131         *  
     132         * @param listener 
     133         *            listener that is registered 
     134         */ 
     135        public void registerCommandListener(ICommandListener listener) { 
     136                commandListener.add(listener); 
     137        } 
     138 
     139        /** 
     140         * <p> 
     141         * Registers an exception listener. 
     142         * </p> 
     143         *  
     144         * @param listener 
     145         *            listener that is registered 
     146         */ 
     147        public void registerExceptionListener(IExceptionListener listener) { 
     148                exceptionListener.add(listener); 
    76149        } 
    77150 
     
    81154         * </p> 
    82155         *  
     156         * @deprecated use removeXYZListener instead 
    83157         * @param observer 
    84158         *            observer to be removed 
    85159         */ 
    86160        public void deleteObserver(ConsoleObserver observer) { 
    87                 observers.remove(observer); 
     161                removeOutputListener(observer); 
     162                removeErrorListener(observer); 
     163                removeTraceListener(observer); 
     164                removeCommandListener(observer); 
     165                removeExceptionListener(observer); 
     166        } 
     167 
     168        /** 
     169         * <p> 
     170         * Removes an output listener. 
     171         * </p> 
     172         *  
     173         * @param listener 
     174         *            listener that is removed 
     175         */ 
     176        public void removeOutputListener(IOutputListener listener) { 
     177                outputListener.remove(listener); 
     178        } 
     179 
     180        /** 
     181         * <p> 
     182         * Removes an error listener. 
     183         * </p> 
     184         *  
     185         * @param listener 
     186         *            listener that is removed 
     187         */ 
     188        public void removeErrorListener(IErrorListener listener) { 
     189                errorListener.remove(listener); 
     190        } 
     191 
     192        /** 
     193         * <p> 
     194         * Removes an trace listener. 
     195         * </p> 
     196         *  
     197         * @param listener 
     198         *            listener that is removed 
     199         */ 
     200        public void removeTraceListener(ITraceListener listener) { 
     201                traceListener.remove(listener); 
     202        } 
     203 
     204        /** 
     205         * <p> 
     206         * Removes a command listener. 
     207         * </p> 
     208         *  
     209         * @param listener 
     210         *            listener that is removed 
     211         */ 
     212        public void removeCommandListener(ICommandListener listener) { 
     213                commandListener.remove(listener); 
     214        } 
     215 
     216        /** 
     217         * <p> 
     218         * Removes an exception listener. 
     219         * </p> 
     220         *  
     221         * @param listener 
     222         *            listener that is removed 
     223         */ 
     224        public void removeExceptionListener(IExceptionListener listener) { 
     225                exceptionListener.remove(listener); 
    88226        } 
    89227 
     
    101239                        getInstance(); 
    102240                } 
    103                 for (ConsoleObserver observer : theInstance.observers) { 
     241                for (IOutputListener observer : theInstance.outputListener) { 
    104242                        observer.updateText(msg); 
    105243                } 
     
    119257                        getInstance(); 
    120258                } 
    121                 for (ConsoleObserver observer : theInstance.observers) { 
     259                for (IOutputListener observer : theInstance.outputListener) { 
    122260                        observer.updateText(msg + StringTools.ENDLINE); 
    123261                } 
     
    137275                        getInstance(); 
    138276                } 
    139                 for (ConsoleObserver observer : theInstance.observers) { 
     277                for (IErrorListener observer : theInstance.errorListener) { 
    140278                        observer.errStream(errMsg); 
    141279                } 
     
    155293                        getInstance(); 
    156294                } 
    157                 for (ConsoleObserver observer : theInstance.observers) { 
     295                for (IErrorListener observer : theInstance.errorListener) { 
    158296                        observer.errStream(errMsg + StringTools.ENDLINE); 
    159297                } 
     
    172310                        getInstance(); 
    173311                } 
    174                 for (ConsoleObserver observer : theInstance.observers) { 
     312                for (IExceptionListener observer : theInstance.exceptionListener) { 
    175313                        observer.printStacktrace(e); 
    176314                } 
     
    190328                        getInstance(); 
    191329                } 
    192                 for (ConsoleObserver observer : theInstance.observers) { 
     330                for (ITraceListener observer : theInstance.traceListener) { 
    193331                        observer.trace(traceMsg); 
    194332                } 
     
    209347                        getInstance(); 
    210348                } 
    211                 for (ConsoleObserver observer : theInstance.observers) { 
     349                for (ITraceListener observer : theInstance.traceListener) { 
    212350                        observer.trace(traceMsg + StringTools.ENDLINE); 
    213351                } 
     
    226364                        getInstance(); 
    227365                } 
    228                 for (ConsoleObserver observer : theInstance.observers) { 
     366                for (ICommandListener observer : theInstance.commandListener) { 
    229367                        observer.commandNotification(command); 
    230368                } 
Note: See TracChangeset for help on using the changeset viewer.