Bug 4105: Implement EntityOwnershipListener registration/notification
[controller.git] / opendaylight / md-sal / sal-common-impl / src / main / java / org / opendaylight / controller / md / sal / common / impl / clustering / AbstractEntityOwnershipListenerRegistration.java
index 881d6624d61c56c44b174941ad10edc40864e268..77118a0f436057848d98d883a3098d864ba5ed91 100644 (file)
@@ -7,32 +7,29 @@
  */
 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;
     }
 }