2 * Copyright (c) 2015 Brocade Communications 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.mdsal.eos.common.api;
10 import org.eclipse.jdt.annotation.NonNull;
11 import org.opendaylight.yangtools.concepts.HierarchicalIdentifier;
12 import org.opendaylight.yangtools.concepts.ObjectRegistration;
15 * An interface that records a request to register a ownership status change listener for a given Entity.
16 * Calling close on the registration will unregister listeners and future ownership changes will not
17 * be delivered to the listener.
19 * @author Thomas Pantelis
21 * @param <P> the instance identifier path type
23 public interface GenericEntityOwnershipListenerRegistration<P extends HierarchicalIdentifier<P>,
24 L extends GenericEntityOwnershipListener<P, ?
25 extends GenericEntityOwnershipChange<P, ? extends GenericEntity<P>>>>
26 extends ObjectRegistration<L> {
29 * getEntityType method returns not null entity type.
31 * @return the entity type that the listener was registered for
33 @NonNull String getEntityType();
36 * Unregister the listener.