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.controller.md.sal.common.api.clustering;
10 import com.google.common.base.Preconditions;
11 import javax.annotation.Nonnull;
14 * A DTO that encapsulates an ownership change for an entity.
16 * @author Thomas Pantelis
18 * @deprecated Use org.opendaylight.mdsal.binding.api.clustering.EntityOwnershipChange or
19 * org.opendaylight.mdsal.dom.api.clustering.DOMEntityOwnershipChange instead
22 public class EntityOwnershipChange {
23 private final Entity entity;
24 private final boolean wasOwner;
25 private final boolean isOwner;
26 private final boolean hasOwner;
27 private final boolean inJeopardy;
29 public EntityOwnershipChange(@Nonnull Entity entity, boolean wasOwner, boolean isOwner, boolean hasOwner) {
30 this(entity, wasOwner, isOwner, hasOwner, false);
33 public EntityOwnershipChange(@Nonnull Entity entity, boolean wasOwner, boolean isOwner, boolean hasOwner,
35 this.entity = Preconditions.checkNotNull(entity, "entity can't be null");
36 this.wasOwner = wasOwner;
37 this.isOwner = isOwner;
38 this.hasOwner = hasOwner;
39 this.inJeopardy = inJeopardy;
43 * Returns the entity whose ownership status changed.
46 @Nonnull public Entity getEntity() {
51 * Returns the previous ownership status of the entity for this process instance.
52 * @return true if this process was the owner of the entity at the time this notification was generated
54 public boolean wasOwner() {
59 * Returns the current ownership status of the entity for this process instance.
60 * @return true if this process is now the owner of the entity
62 public boolean isOwner() {
67 * Returns the current ownership status of the entity across all process instances.
68 * @return true if the entity has an owner which may or may not be this process. If false, then
69 * the entity has no candidates and thus no owner.
71 public boolean hasOwner() {
76 * Returns the current jeopardy state. When in a jeopardy state, the values from other methods may potentially
79 * @return true if the local node is in a jeopardy state. If false, the reported information is accurate.
81 public boolean inJeopardy() {
86 public String toString() {
87 return "EntityOwnershipChanged [entity=" + entity + ", wasOwner=" + wasOwner + ", isOwner=" + isOwner
88 + ", hasOwner=" + hasOwner + ", inJeopardy=" + inJeopardy + "]";