*/
package org.opendaylight.controller.md.sal.common.impl.clustering;
-import org.opendaylight.controller.md.sal.common.api.clustering.Entity;
+import com.google.common.base.Preconditions;
+import javax.annotation.Nonnull;
import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipListener;
import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipListenerRegistration;
+import org.opendaylight.yangtools.concepts.AbstractObjectRegistration;
/**
* Abstract base class for an EntityOwnershipListenerRegistration.
*
* @author Thomas Pantelis
*/
-public abstract class AbstractEntityOwnershipListenerRegistration<T extends EntityOwnershipListener>
+public abstract class AbstractEntityOwnershipListenerRegistration extends AbstractObjectRegistration<EntityOwnershipListener>
implements EntityOwnershipListenerRegistration {
- private final T listener;
- private final Entity entity;
+ private final String entityType;
- protected AbstractEntityOwnershipListenerRegistration(T listener, Entity entity) {
- this.listener = listener;
- this.entity = entity;
+ protected AbstractEntityOwnershipListenerRegistration(@Nonnull EntityOwnershipListener listener,
+ @Nonnull String entityType) {
+ super(listener);
+ this.entityType = Preconditions.checkNotNull(entityType, "entityType cannot be null");
}
@Override
- public T getInstance() {
- return listener;
- }
-
- @Override
- public Entity getEntity() {
- return entity;
+ public String getEntityType() {
+ return entityType;
}
}