/** * Adds a given object, implementing the <code>StdChannelListener</code> interface, to the list * of standard message channel listeners. Sends to the new listener all previously collected * messages for this channel. * * @param listener * The given new standard message channel listener. */ public synchronized void addChannelListener(StdChannelListener listener) { if (!_stdListeners.contains(listener)) { if (_stdHistory.size() > 0) { // send previous messages from the queue Iterator<String> list = _stdHistory.iterator(); while (list.hasNext()) { String entry = list.next(); // extract message itself String message = entry.substring(4); // send message to appropriate channel if (entry.startsWith(ERR_MSG_ID)) listener.errMsgPosted(message); else listener.outMsgPosted(message); } } _stdListeners.add(listener); } }
StdChannelListener client = list.next(); if (errMessage != null) client.errMsgPosted(errMessage); if (outMessage != null) client.outMsgPosted(outMessage);