blob: 9badb1b92e3ecb359d506d13bf8a855ad8eec79f [file] [log] [blame]
package net.onrc.onos.core.util;
import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Preconditions.checkArgument;
import javax.annotation.concurrent.Immutable;
/**
* The class representing an ONOS Instance ID.
*
* This class is immutable.
*/
@Immutable
public final class OnosInstanceId {
private final String id;
/**
* Default constructor for serializer.
*/
@Deprecated
protected OnosInstanceId() {
id = "(should never see this)";
}
/**
* Constructor from a string value.
*
* @param id the value to use.
*/
public OnosInstanceId(String id) {
this.id = checkNotNull(id);
checkArgument(!id.isEmpty(), "Empty ONOS Instance ID");
}
@Override
public int hashCode() {
return id.hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof OnosInstanceId)) {
return false;
}
OnosInstanceId that = (OnosInstanceId) obj;
return this.id.equals(that.id);
}
@Override
public String toString() {
return id;
}
}