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 / AbstractEntityOwnershipCandidateRegistration.java
index e1184583f126ba03f9e28b3ad2bdd5d43a59a223..afef3aa8b5e873bfffbbf5234140da61c496d411 100644 (file)
@@ -7,20 +7,30 @@
  */
 package org.opendaylight.controller.md.sal.common.impl.clustering;
 
+import com.google.common.base.Preconditions;
+import javax.annotation.Nonnull;
 import org.opendaylight.controller.md.sal.common.api.clustering.Entity;
 import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipCandidate;
 import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipCandidateRegistration;
+import org.opendaylight.yangtools.concepts.AbstractObjectRegistration;
 
 /**
  * Abstract base class for an EntityOwnershipCandidateRegistration.
  *
  * @author Thomas Pantelis
  */
-public abstract class AbstractEntityOwnershipCandidateRegistration
-        extends AbstractEntityOwnershipListenerRegistration<EntityOwnershipCandidate>
+public abstract class AbstractEntityOwnershipCandidateRegistration extends AbstractObjectRegistration<EntityOwnershipCandidate>
         implements EntityOwnershipCandidateRegistration {
+    private final Entity entity;
 
-    protected AbstractEntityOwnershipCandidateRegistration(EntityOwnershipCandidate candidate, Entity entity) {
-        super(candidate, entity);
+    protected AbstractEntityOwnershipCandidateRegistration(@Nonnull EntityOwnershipCandidate candidate,
+            @Nonnull Entity entity) {
+        super(candidate);
+        this.entity = Preconditions.checkNotNull(entity, "entity cannot be null");
+    }
+
+    @Override
+    public Entity getEntity() {
+        return entity;
     }
 }