2 * Copyright (c) 2016 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
9 package org.opendaylight.mdsal.common.api.clustering;
11 import com.google.common.base.Preconditions;
12 import javax.annotation.Nonnull;
13 import org.opendaylight.mdsal.eos.common.api.GenericEntity;
14 import org.opendaylight.mdsal.eos.common.api.GenericEntityOwnershipChange;
15 import org.opendaylight.mdsal.eos.common.api.GenericEntityOwnershipListener;
16 import org.opendaylight.mdsal.eos.common.api.GenericEntityOwnershipListenerRegistration;
17 import org.opendaylight.yangtools.concepts.AbstractObjectRegistration;
18 import org.opendaylight.yangtools.concepts.Path;
21 * Abstract base class for an {@link GenericEntityOwnershipListenerRegistration}
23 * @param <P> the instance identifier path type
24 * @param <L> the GenericEntityOwnershipListener type
26 public abstract class AbstractGenericEntityOwnershipListenerRegistration<P extends Path<P>, L extends GenericEntityOwnershipListener<P, ? extends GenericEntityOwnershipChange<P, ? extends GenericEntity<P>>>>
27 extends AbstractObjectRegistration<L>
28 implements GenericEntityOwnershipListenerRegistration<P, L> {
30 private final String entityType;
32 protected AbstractGenericEntityOwnershipListenerRegistration(@Nonnull final L instance,
33 @Nonnull final String entityType) {
35 this.entityType = Preconditions.checkNotNull(entityType, "entityType cannot be null");
39 public String getEntityType() {