View Javadoc
1   /*
2    * Copyright (C) 2010, Google Inc. and others
3    *
4    * This program and the accompanying materials are made available under the
5    * terms of the Eclipse Distribution License v. 1.0 which is available at
6    * https://www.eclipse.org/org/documents/edl-v10.php.
7    *
8    * SPDX-License-Identifier: BSD-3-Clause
9    */
10  
11  package org.eclipse.jgit.events;
12  
13  /**
14   * Tracks a previously registered {@link org.eclipse.jgit.events.RepositoryListener}.
15   */
16  public class ListenerHandle {
17  	private final ListenerList parent;
18  
19  	final Class<? extends RepositoryListener> type;
20  
21  	final RepositoryListener listener;
22  
23  	ListenerHandle(ListenerList parent,
24  			Class<? extends RepositoryListener> type,
25  			RepositoryListener listener) {
26  		this.parent = parent;
27  		this.type = type;
28  		this.listener = listener;
29  	}
30  
31  	/**
32  	 * Remove the listener and stop receiving events.
33  	 */
34  	public void remove() {
35  		parent.remove(this);
36  	}
37  
38  	/** {@inheritDoc} */
39  	@SuppressWarnings("nls")
40  	@Override
41  	public String toString() {
42  		return type.getSimpleName() + "[" + listener + "]";
43  	}
44  }