package edu.uw.zookeeper.data; import org.apache.zookeeper.Watcher.Event.EventType; import org.apache.zookeeper.Watcher.Event.KeeperState; import com.google.common.base.MoreObjects; import com.google.common.base.Objects; public final class KeeperWatchEvent extends WatchEvent { public static KeeperWatchEvent of(KeeperState keeperState) { return new KeeperWatchEvent(keeperState); } private final KeeperState keeperState; public KeeperWatchEvent(KeeperState keeperState) { this.keeperState = keeperState; } @Override public KeeperState getKeeperState() { return keeperState; } @Override public EventType getEventType() { return EventType.None; } @Override public ZNodePath getPath() { return ZNodePath.root(); } @Override public String toString() { return MoreObjects.toStringHelper(this).add("keeperState", getKeeperState()).toString(); } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (! (obj instanceof KeeperWatchEvent)) { return false; } KeeperWatchEvent other = (KeeperWatchEvent) obj; return Objects.equal(getKeeperState(), other.getKeeperState()); } @Override public int hashCode() { return Objects.hashCode(getKeeperState()); } }