public void disconnect() { fMatchJob.cancel(); synchronized (fPatterns) { Iterator iterator = fPatterns.iterator(); while (iterator.hasNext()) { CompiledPatternMatchListener notifier = (CompiledPatternMatchListener) iterator.next(); notifier.dispose(); } fPatterns.clear(); } }
qPattern = Pattern.compile(qualifier, matchListener.getCompilerFlags()); CompiledPatternMatchListener notifier = new CompiledPatternMatchListener(pattern, qPattern, matchListener); fPatterns.add(notifier); matchListener.connect(fConsole);
/** * Adds the given pattern match listener to this console. The listener will * be connected and receive match notifications. * * @param matchListener * the pattern match listener to add */ public void addPatternMatchListener(IPatternMatchListener matchListener) { synchronized (fPatterns) { for (CompiledPatternMatchListener listener : fPatterns) { if (listener.listener == matchListener) { return; } } if (matchListener == null || matchListener.getPattern() == null) { throw new IllegalArgumentException("Pattern cannot be null"); //$NON-NLS-1$ } Pattern pattern = Pattern.compile(matchListener.getPattern(), matchListener.getCompilerFlags()); String qualifier = matchListener.getLineQualifier(); Pattern qPattern = null; if (qualifier != null) { qPattern = Pattern.compile(qualifier, matchListener.getCompilerFlags()); } CompiledPatternMatchListener notifier = new CompiledPatternMatchListener(pattern, qPattern, matchListener); fPatterns.add(notifier); matchListener.connect(fConsole); fMatchJob.schedule(); } }
public void disconnect() { fMatchJob.cancel(); synchronized (fPatterns) { for (CompiledPatternMatchListener listener : fPatterns) { listener.dispose(); } fPatterns.clear(); } }