Tabnine Logo
ListenerList
Code IndexAdd Tabnine to your IDE (free)

How to use
ListenerList
in
org.eclipse.core.runtime

Best Java code snippets using org.eclipse.core.runtime.ListenerList (Showing top 20 results out of 909)

origin: org.eclipse.core/runtime

/**
 * Adds a property change listener to this preference object.
 * Has no effect if the identical listener is already registered.
 * <p>
 * <em>Note:</em> Depending on the means in which the property
 * values changed, the old and new values for the property can 
 * be either typed, a string representation of the value, or <code>null</code>.
 * Clients who wish to behave properly in all cases should all
 * three cases in their implementation of the property change listener.
 * </p>
 * @param listener a property change listener
 */
public void addPropertyChangeListener(IPropertyChangeListener listener) {
  listeners.add(listener);
}
origin: org.eclipse.core/runtime

/**
 * Removes the given listener from this preference object.
 * Has no effect if the listener is not registered.
 *
 * @param listener a property change listener
 */
@Override
public synchronized void removePropertyChangeListener(IPropertyChangeListener listener) {
  listeners.remove(listener);
  if (listeners.size() == 0) {
    EclipsePreferences prefs = getPluginPreferences(false);
    if (prefs != null) {
      prefs.removePreferenceChangeListener(this);
    }
    pluginRoot.removeNodeChangeListener(this);
  }
}
origin: org.eclipse.core/runtime

@Override
protected IStatus run(IProgressMonitor monitor) {
  PerformanceStats[] events;
  PerformanceStats[] failedEvents;
  Long[] failedTimes;
  synchronized (this) {
    events = changes.toArray(new PerformanceStats[changes.size()]);
    changes.clear();
    failedEvents = failures.keySet().toArray(new PerformanceStats[failures.size()]);
    failedTimes = failures.values().toArray(new Long[failures.size()]);
    failures.clear();
  }
  //notify performance listeners
  Object[] toNotify = listeners.getListeners();
  for (int i = 0; i < toNotify.length; i++) {
    final PerformanceStats.PerformanceListener listener = ((PerformanceStats.PerformanceListener) toNotify[i]);
    if (events.length > 0)
      listener.eventsOccurred(events);
    for (int j = 0; j < failedEvents.length; j++)
      listener.eventFailed(failedEvents[j], failedTimes[j].longValue());
  }
  schedule(SCHEDULE_DELAY);
  return Status.OK_STATUS;
}
origin: org.eclipse.core/runtime

/**
 * Adds a property change listener to this preference object.
 * Has no effect if the identical listener is already registered.
 *
 * @param listener a property change listener
 */
@Override
public synchronized void addPropertyChangeListener(IPropertyChangeListener listener) {
  if (listeners.size() == 0) {
    EclipsePreferences prefs = getPluginPreferences(false);
    if (prefs != null) {
      prefs.addPreferenceChangeListener(this);
    }
    pluginRoot.addNodeChangeListener(this);
  }
  listeners.add(listener);
}
origin: org.eclipse.jdt/org.eclipse.jdt.core

/**
 * @see IBuffer
 */
@Override
public synchronized void addBufferChangedListener(IBufferChangedListener listener) {
  if (this.changeListeners == null) {
    this.changeListeners = new ListenerList();
  }
  this.changeListeners.add(listener);
}
/**
origin: org.eclipse/org.eclipse.compare

public void removeContentChangeListener(IContentChangeListener listener) {
  if (fListenerList != null) {
    fListenerList.remove(listener);
    if (fListenerList.isEmpty())
      fListenerList= null;
  }
}

origin: org.eclipse.core/runtime

/**
 * Removes the given listener from this preference object.
 * Has no effect if the listener is not registered.
 *
 * @param listener a property change listener
 */
public void removePropertyChangeListener(IPropertyChangeListener listener) {
  listeners.remove(listener);
}
origin: org.eclipse.scout.sdk.deps/org.eclipse.ui.forms

public void addMessageHyperlinkListener(IHyperlinkListener listener) {
  if (listeners == null)
    listeners = new ListenerList<>();
  listeners.add(listener);
  ensureControlExists();
  if (messageHyperlink != null)
    messageHyperlink.addHyperlinkListener(listener);
  if (listeners.size() == 1)
    updateForeground();
}
origin: org.eclipse/org.eclipse.team.ui

private boolean containsListener(ICompareInputChangeListener listener) {
  if (listeners.isEmpty())
    return false;
  Object[] allListeners = listeners.getListeners();
  for (int i = 0; i < allListeners.length; i++) {
    Object object = allListeners[i];
    if (object == listener)
      return true;
  }
  return false;
}
origin: org.eclipse.jdt/org.eclipse.jdt.ui

/**
 * Adds a listener for problem marker changes.
 * @param listener the listener to add
 */
public void addListener(IProblemChangedListener listener) {
  if (fListeners.isEmpty()) {
    JavaPlugin.getWorkspace().addResourceChangeListener(this);
    JavaPlugin.getDefault().getCompilationUnitDocumentProvider().addGlobalAnnotationModelListener(this);
  }
  fListeners.add(listener);
}
origin: org.eclipse.scout.sdk.deps/org.eclipse.ui.ide

  @Override
  public void labelProviderChanged(LabelProviderChangedEvent event) {
    Object[] l = super.listeners.getListeners();
    for (int i = 0; i < super.listeners.size(); i++) {
      ((ILabelProviderListener) l[i]).labelProviderChanged(event);
    }
  }
}
origin: org.eclipse.jdt/org.eclipse.jdt.ui

/**
 * Create a new SimpleSelectionProvider
 */
public SimpleSelectionProvider() {
  fSelectionChangedListeners= new ListenerList<>();
}
origin: org.eclipse/org.eclipse.jst.jee

/**
 * Returns true if there are any listeners
 */
public boolean hasListeners() {
  return !listeners.isEmpty();
}

origin: org.eclipse.core/runtime

public synchronized void added(IEclipsePreferences.NodeChangeEvent event) {
  if (listeners.size() > 0 && pluginID.equals(event.getChild().name())) {
    try {
      EclipsePreferences prefs = (EclipsePreferences) event.getChild();
      prefs.addPreferenceChangeListener(this);
    } catch (ClassCastException e) {
      throw new RuntimeException("Plug-in preferences must be instances of EclipsePreferences: " + e.getMessage()); //$NON-NLS-1$
    }
  }
}
origin: org.eclipse.platform/org.eclipse.jface

@Override
public void addPropertyChangeListener(IPropertyChangeListener listener) {
  if (listenerList == null) {
    listenerList = new ListenerList<>(ListenerList.IDENTITY);
  }
  listenerList.add(listener);
}
origin: org.eclipse/org.eclipse.team.ui

public void removePropertyChangeListener(IPropertyChangeListener listener) {
  if (listeners != null) {
    synchronized (this) {
      listeners.remove(listener);
      if (listeners.isEmpty()) {
        listeners = null;
      }
    }
  }
}

origin: org.eclipse.core/runtime

public static void removeListener(PerformanceListener listener) {
  instance.listeners.remove(listener);
}
origin: org.eclipse.scout.sdk.deps/org.eclipse.jdt.ui

@Override
public void addPropertyChangeListener(IPropertyChangeListener listener) {
  if (fListeners.size() == 0)
    getNode().addPreferenceChangeListener(fListener);
  fListeners.add(listener);
}
origin: org.eclipse.platform/org.eclipse.team.ui

private boolean containsListener(ICompareInputChangeListener listener) {
  if (listeners.isEmpty())
    return false;
  Object[] allListeners = listeners.getListeners();
  for (int i = 0; i < allListeners.length; i++) {
    Object object = allListeners[i];
    if (object == listener)
      return true;
  }
  return false;
}
origin: org.eclipse/org.eclipse.datatools.enablement.sybase

/**
 * Constructor
 */
public JDBCProfileTabs() {
  this.changeListeners = new ListenerList();
}
 
org.eclipse.core.runtimeListenerList

Javadoc

This class is a thread safe list that is designed for storing lists of listeners. The implementation is optimized for minimal memory footprint, frequent reads and infrequent writes. Modification of the list is synchronized and relatively expensive, while accessing the listeners is very fast. For legacy code, readers are given access to the underlying array data structure for reading, with the trust that they will not modify the underlying array.

A listener list handles the same listener being added multiple times, and tolerates removal of listeners that are the same as other listeners in the list. For this purpose, listeners can be compared with each other using either equality or identity, as specified in the list constructor.

Use an enhanced 'for' loop to notify listeners. The recommended code sequence for notifying all registered listeners of say, FooListener#eventHappened(Event), is:

 
ListenerList<FooListener> fooListeners = new ListenerList<>(); 
//... 
for (FooListener listener : fooListeners) { 
listener.eventHappened(event); 
} 

Legacy code may still call #getListeners() and then use a 'for' loop to iterate the Object[]. This might be insignificantly faster, but it lacks type-safety and risks inadvertent modifications to the array.

This class can be used without OSGi running.

Most used methods

  • add
    Adds a listener to this list. This method has no effect if the same [ListenerList.html#same] listene
  • remove
    Removes a listener from this list. Has no effect if the same [ListenerList.html#same] listener was n
  • getListeners
    Returns an array containing all the registered listeners. The resulting array is unaffected by subse
  • <init>
    Creates a listener list using the provided comparison mode.
  • isEmpty
    Returns whether this listener list is empty.
  • size
    Returns the number of registered listeners.
  • clear
    Removes all listeners from this list.
  • iterator
    Returns an iterator over all the registered listeners. The resulting iterator is unaffected by subse
  • forEach
  • stream

Popular in Java

  • Updating database using SQL prepared statement
  • scheduleAtFixedRate (ScheduledExecutorService)
  • onRequestPermissionsResult (Fragment)
  • startActivity (Activity)
  • Kernel (java.awt.image)
  • LinkedList (java.util)
    Doubly-linked list implementation of the List and Dequeinterfaces. Implements all optional list oper
  • Reference (javax.naming)
  • Reflections (org.reflections)
    Reflections one-stop-shop objectReflections scans your classpath, indexes the metadata, allows you t
  • Logger (org.slf4j)
    The org.slf4j.Logger interface is the main user entry point of SLF4J API. It is expected that loggin
  • SAXParseException (org.xml.sax)
    Encapsulate an XML parse error or warning.> This module, both source code and documentation, is in t
  • Top plugins for WebStorm
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now