2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.yangtools.concepts;
10 import java.util.EventListener;
13 * Class representing a {@link Registration} of an {@link EventListener}. This interface provides the additional
14 * guarantee that the process of unregistration cannot fail for predictable reasons.
16 * @param <T> Type of registered listener
18 public interface ListenerRegistration<T extends EventListener> extends ObjectRegistration<T> {
20 * Unregister the listener. Note that invocations enqueued to the listener are not subject to synchronization
21 * rules, and events may be delivered to the listener after this method completes.
24 * While the interface contract allows an implementation to ignore the occurrence of RuntimeExceptions,
25 * implementations are strongly encouraged to deal with such exceptions internally and to ensure invocations of
26 * this method do not fail in such circumstances.