private synchronized Iterable<? extends Reference<ProjectProblemsProvider>> getProviders() { if (providers == null) { final Collection<Reference<ProjectProblemsProvider>> newProviders = new LinkedHashSet<Reference<ProjectProblemsProvider>>(); for (ProjectProblemsProvider provider : lkp.lookupAll(ProjectProblemsProvider.class)) { provider.addPropertyChangeListener(WeakListeners.propertyChange(this, provider)); newProviders.add(new WeakReference<ProjectProblemsProvider>(provider)); } providers = newProviders; } return providers; } }
private void addListeners() { ProjectPropertiesSupport.addWeakProjectPropertyChangeListener(project, this); projectInfo.addPropertyChangeListener(WeakListeners.propertyChange(this, projectInfo)); projectProblemsProvider.addPropertyChangeListener(WeakListeners.propertyChange(this, projectProblemsProvider)); }
private void addListeners() { evaluator.addPropertyChangeListener(WeakListeners.propertyChange(this, evaluator)); projectInfo.addPropertyChangeListener(WeakListeners.propertyChange(this, projectInfo)); problemsProvider.addPropertyChangeListener(WeakListeners.propertyChange(this, problemsProvider)); }