/** * Adds a listener to be notified about changes. * <p> * Clients are supposed to remove the listeners after they are done with * them using the {@link org.eclipse.jgit.events.ListenerHandle#remove()} * method * * @param listener * the listener * @return the handle to the registered listener */ public ListenerHandle addChangeListener(ConfigChangedListener listener) { return listeners.addConfigChangedListener(listener); }
/** * Fire an event to all registered listeners. * <p> * The source repository of the event is automatically set to this * repository, before the event is delivered to any listeners. * * @param event * the event to deliver. */ public void fireEvent(RepositoryEvent<?> event) { event.setRepository(this); myListeners.dispatch(event); globalListeners.dispatch(event); }
/** * Add a listener to the list. * * @param type * type of listener being registered. * @param listener * the listener instance. * @return a handle to later remove the registration, if desired. */ public <T extends RepositoryListener> ListenerHandle addListener( Class<T> type, T listener) { ListenerHandle handle = new ListenerHandle(this, type, listener); add(handle); return handle; }
/** * Register a ConfigChangedListener. * * @param listener * the listener implementation. * @return handle to later remove the listener. */ public ListenerHandle addConfigChangedListener( ConfigChangedListener listener) { return addListener(ConfigChangedListener.class, listener); }
private void initRepositoriesAndListeners() { synchronized (repositories) { repositories.clear(); unregisterRepositoryListener(); // listen for repository changes for (String dir : repositoryUtil.getConfiguredRepositories()) { File repoDir = new File(dir); try { Repository repo = repositoryCache.lookupRepository(repoDir); myListeners.add(repo.getListenerList() .addIndexChangedListener(myIndexChangedListener)); myListeners.add(repo.getListenerList() .addRefsChangedListener(myRefsChangedListener)); myListeners.add(repo.getListenerList() .addConfigChangedListener(myConfigChangeListener)); repositories.add(repo); } catch (IOException e) { String message = NLS .bind(UIText.RepositoriesView_ExceptionLookingUpRepoMessage, repoDir.getPath()); Activator.handleError(message, e, false); repositoryUtil.removeDir(repoDir); } } } }
/** * Remove the listener and stop receiving events. */ public void remove() { parent.remove(this); }
private static final ListenerList globalListeners = new ListenerList(); private final ListenerList myListeners = new ListenerList();
private void setupRepoIndexRefresh() { refreshJob = new ResourceRefreshJob(); refreshHandle = Repository.getGlobalListenerList() .addIndexChangedListener(refreshJob); }
/** * Register a {@link org.eclipse.jgit.events.WorkingTreeModifiedListener}. * * @param listener * the listener implementation. * @return handle to later remove the listener. * @since 4.9 */ public ListenerHandle addWorkingTreeModifiedListener( WorkingTreeModifiedListener listener) { return addListener(WorkingTreeModifiedListener.class, listener); }
/** * Remove the listener and stop receiving events. */ public void remove() { parent.remove(this); }
private static Logger LOG = LoggerFactory.getLogger(Repository.class); private static final ListenerList globalListeners = new ListenerList(); private final ListenerList myListeners = new ListenerList();
/** * Notifies the listeners */ protected void fireConfigChangedEvent() { listeners.dispatch(new ConfigChangedEvent()); }
/** * Register a RefsChangedListener. * * @param listener * the listener implementation. * @return handle to later remove the listener. */ public ListenerHandle addRefsChangedListener(RefsChangedListener listener) { return addListener(RefsChangedListener.class, listener); }
/** * Adds a listener to be notified about changes. * <p> * Clients are supposed to remove the listeners after they are done with * them using the {@link ListenerHandle#remove()} method * * @param listener * the listener * @return the handle to the registered listener */ public ListenerHandle addChangeListener(ConfigChangedListener listener) { return listeners.addConfigChangedListener(listener); }
/** Remove the listener and stop receiving events. */ public void remove() { parent.remove(this); }
/** * Add a listener to the list. * * @param type * type of listener being registered. * @param listener * the listener instance. * @return a handle to later remove the registration, if desired. */ public <T extends RepositoryListener> ListenerHandle addListener( Class<T> type, T listener) { ListenerHandle handle = new ListenerHandle(this, type, listener); add(handle); return handle; }
private static final ListenerList globalListeners = new ListenerList(); private final ListenerList myListeners = new ListenerList();
.dispatch(new BeforeDfsPackIndexLoadedEvent(this));
/** * Register an IndexChangedListener. * * @param listener * the listener implementation. * @return handle to later remove the listener. */ public ListenerHandle addIndexChangedListener(IndexChangedListener listener) { return addListener(IndexChangedListener.class, listener); }
/** * Adds a listener to be notified about changes. * <p> * Clients are supposed to remove the listeners after they are done with * them using the {@link org.eclipse.jgit.events.ListenerHandle#remove()} * method * * @param listener * the listener * @return the handle to the registered listener */ public ListenerHandle addChangeListener(ConfigChangedListener listener) { return listeners.addConfigChangedListener(listener); }